我想用“\”替换“\”,以便进一步编辑并导出到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
时,它实际上不是以反斜杠和单词begin
开头,而是以字符\b
开头,它是一个ASCII反空格(cmp:what does backward-slash b do in Python?),后跟egin
如果使用
print(repr(text))
打印字符串的非解释表示形式,则可以看到这一点:如果您首先正确定义了字符串
一切都会好起来的。一个简单的
print(text)
产生尽管这也使得替换正则表达式的整个需求变得过时,所以在您的问题中可能缺少约束
相关问题 更多 >
编程相关推荐