我在 LaTex 中有一个很长的文档,其中包含段落。这些段落包含句子,因此没有后续句子从新行开始。
如何让每个后续句子在我的 .tex 文件中从新行开始?
我对这个问题的尝试
我们需要将 \n 放在句子 B 的末尾,其中句子 B 前面有句子 A。
我们不能把 \n 放在有标记的情况下\
。
我看到这个问题可以通过 AWK 和 Python 来解决。
因此,您希望 .tex 文件中的每个句子都从新行开始,但不引入额外的段落?那是对的吗?
可能你可以浏览你的文件,每次你看到一个“。” 后跟空格和大写字母,插入换行符。
例如在python中:
import re
sentence_end = r'\.\s+([A-Z])'
source = open('myfile.tex')
dest = open('myfile-out.tex', 'w')
for line in source:
dest.write(re.sub(sentence_end, '.\n\g<1>', line))
每个句号后换行有什么问题?例如:
awk '{ gsub(/\. +/, ".\n"); print }'
$ echo "abc. 123. xyz." | awk '{ gsub(/\. +/, ".\n"); print }'
abc.
123.
xyz.
如果我正确阅读了您的问题,那么您需要的是\newline
命令。放在每句话之后。 \\
是一个捷径。
执行此操作的正则表达式类似于
s/\. ([A-Z])/.\\newline\1/