【发布时间】:2020-12-07 14:40:31
【问题描述】:
我想将“\”替换为“\\”以便进一步编辑和导出到 LaTeX。 (这是一个矩阵计算器,应该将计算的所有步骤导出到 LaTeX)
import re
text='''
\begin{alignat*}{2}
\begin{sysmatrix}{rrr|r}
1 & 2 & 0 & 0 \\
-1 & 1 & 2 & 0 \\
1 & 0 & 1 & 5 \\
0 & -2 & 1 & 4
\end{sysmatrix}'''
我试过replace() 和re.sub()。我找到的答案建议了这两个,但我猜他们在这种情况下不起作用。
print(re.sub('\\\\',' \\\\\\\\', text))
print(text.replace('\\',' \\\\'))
print(text.replace('\\',r' \\\\'))
输出
egin{alignat*}{2}
egin{sysmatrix}{rrr|r}
1 & 2 & 0 & 0 \\
-1 & 1 & 2 & 0 \\
1 & 0 & 1 & 5 \\
0 & -2 & 1 & 4
\\end{sysmatrix}
egin{alignat*}{2}
egin{sysmatrix}{rrr|r}
1 & 2 & 0 & 0 \\
-1 & 1 & 2 & 0 \\
1 & 0 & 1 & 5 \\
0 & -2 & 1 & 4
\\end{sysmatrix}
egin{alignat*}{2}
egin{sysmatrix}{rrr|r}
1 & 2 & 0 & 0 \\\\
-1 & 1 & 2 & 0 \\\\
1 & 0 & 1 & 5 \\\\
0 & -2 & 1 & 4
\\\\end{sysmatrix}
应该是这样的:
\begin{alignat*}{2}
\begin{sysmatrix}{rrr|r}
1 & 2 & 0 & 0 \\
-1 & 1 & 2 & 0 \\
1 & 0 & 1 & 5 \\
0 & -2 & 1 & 4
\end{sysmatrix}'
或者这个:
\\begin{alignat*}{2}
\\begin{sysmatrix}{rrr|r}
1 & 2 & 0 & 0 \\\\
-1 & 1 & 2 & 0 \\\\
1 & 0 & 1 & 5 \\\\
0 & -2 & 1 & 4
\\end{sysmatrix}'
还有其他想法如何使用 python 编写 LaTeX 文档吗?
【问题讨论】:
-
为什么你需要正则表达式替换一些东西?您可以简单地首先正确生成字符串吗?或者是否有某种理由认为这不是一个选择?如果是这样,请将信息/代码添加到您的问题中,说明您的
text字符串来自何处。否则,请参阅下面的答案。
标签: python regex latex backslash