我正在尝试使用perl
以修改LaTeX
文档。实际上,我正在尝试将引文格式更改为例如:
. \cite{poelma20113d}
到
\cite{poelma20113d}.
换句话说,我想找到前面带有句号和空格的引文,并用空格替换它们,然后放置引文,然后在其后放置一个句点。有人可以帮助我如何通过perl
一根班轮吗?我要这样做的原因是,我想将为《流体物理学杂志》准备的手稿格式改为《物理评论杂志》E。
您将在查询以下内容时找到并执行交换:
$ perl -lpe 's/\. (\\cite.*)/$1./' afile
\cite{poelma20113d}.
要使用一根衬纸,请对该文件进行实际更改:
$ perl -i.bak -lpe 's/\. (\\cite.*)/$1./' afile
这样会将原始文件保存在中afile.bak
。如果您不想创建.bak文件,则可以perl
通过省略-i
开关的任何参数来告诉您不要这样做:
$ perl -i -lpe 's/\. (\\cite.*)/$1./' afile
上面的示例在文件的每个字符串中寻找以下位afile
。
\.
-寻找文字.。s/.../../
-搜索一个模式并将其替换为另一个模式。(\\cite.*)
-查找文字的模式,\后跟字符串cite
,后跟其他内容。所有这些都保存在变量中,$1
因为它包装在括号中(即(....))。注意:(\\cite.*})
到达右花括号时将停止}
。这样,LaTeX
\cite{}
例如in命令之后的下一个句子. \cite{poelma20113d} This is the next sentence.
将被正确处理。$1.
-$1
是我们在括号中匹配的内容,因此我们将其后跟一个.。本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句