1

我在 LaTex 中有一个很长的文档,其中包含段落。这些段落包含句子,因此没有后续句子从新行开始。

如何让每个后续句子在我的 .tex 文件中从新行开始?

我对这个问题的尝试

我们需要将 \n 放在句子 B 的末尾,其中句子 B 前面有句子 A。

我们不能把 \n 放在有标记的情况下\

我看到这个问题可以通过 AWK 和 Python 来解决。

4

3 回答 3

2

因此,您希望 .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))
于 2009-03-12T00:36:40.690 回答
2

每个句号后换行有什么问题?例如:

awk '{ gsub(/\. +/, ".\n"); print }'

$ echo "abc. 123. xyz." | awk '{ gsub(/\. +/, ".\n"); print }'
abc.
123.
xyz.
于 2009-03-12T00:38:46.520 回答
2

如果我正确阅读了您的问题,那么您需要的是\newline命令。放在每句话之后。 \\是一个捷径。

执行此操作的正则表达式类似于

s/\.  ([A-Z])/.\\newline\1/
于 2009-03-12T00:49:58.740 回答