1

段落を含む LaTex の長いドキュメントがあります。段落には、後続の文が改行されないように文が含まれています。

.tex ファイルの新しい行から後続の各文を開始するにはどうすればよいですか?

問題への私の試み

文 B の前に文 A がある場合、文 B の末尾に \n を配置する必要があります。

マークがある状況に \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 に答える