这是边界,但我不知道如何在 Texstudio 中做到这一点。
我想更换所有
\[
\begin{myenv}
经过,
\begin{equation*}
\begin{myenv}
与闭包相同,
\end{myenv}
\]
到
\end{myenv}
\end{equation*}
问题是键盘的 ENTER 键上有一个回车符。如果它改变了一些东西,我就在 Windows 上。
答案1
首先,让我在 Linux 中创建一个包含两个单词和两个回车符的 MWE 文件:
$ echo Hello > test.tex
$ echo Word >> test.tex
您在test.tex
文本编辑器中或使用中看到的内容$ cat test.tex
是:
Hello Word
你真正拥有的是......
$hd test.tex
00000000 48 65 6c 6c 6f 0a 57 6f 72 64 0a |Hello.Word.| 0000000b
...或者 ...
$ cat infile | od -c
0000000 H e l l o \n W o r d \n 0000013
...或者 ...
$cat -vte
Hello$ allWord$
然后,隐藏的符号$
或0a
(十六进制)或\n
(新行),即回车 和 换行在 Linux 中。请注意,在 Windows 文件中,新行可能被编码为^M
或\r\n
其中\r
(0d) 是回车和\n
换行。
因此,您需要一个能够查找和替换包含隐藏符号的字符串的工具。为简单起见,假设您有一个只有 的 Unix 类型文件\n
,您可以使用 来执行此操作sed
。对于此序列:
\[
\begin{myenv}
你可以做:
$ sed 's/\[$/\begin\{equation\*\}/g' test.tex
\begin{equation*} \begin{myenv}
(将> file.tex
您想要保存的结果附加到file.tex
)
类似地,使用vim
文本编辑器您可以执行以下操作:
:%s/\\\[$/\\begin\{equation\*\}/
Vim
以及sed
默认存在于任何 Linux 中,但也有适用于 Windows 的版本(未经测试)。
如果您不喜欢处理转义字符,此功能在某些文本编辑器和文字处理器中也可用,这些文本编辑器和文字处理器在搜索工具中有一些正则表达式选项。Linux 和 Windows 中可以执行此操作的一个常见程序是 Libreoffice,因此您可以将代码粘贴到此程序中,然后Ctrl-Alt-B
> 检查Other options
>Regular expressions
复选框(或类似的东西。抱歉,我只是根据西班牙语版本猜测),然后按照图像所示进行搜索和替换,最后将结果复制并粘贴到 Texstudio 中。
编辑:以上都不需要,因为 TeXstudio 可以做到这一点(我错误地认为由于问题而相反)。您只需要Regexp
在完成后选中该选项Ctrl-R
并输入字符串,就像在 Libreoffice 示例中一样。我为使用更简单编辑器的用户留下了另一种解决方案。