AWK / PythonでLaTexの各行を新しい行から開始することはできません

StackOverflow https://stackoverflow.com/questions/636887

  •  10-07-2019
  •  | 
  •  

質問

LaTexには長い段落があり、段落が含まれています。段落には、後続の文が新しい行で始まらないような文が含まれています。

.texファイルの新しい行から始まる各文を作成するにはどうすればよいですか

問題への私の試み

センテンスBの前にセンテンスAがある場合、センテンスBの最後に\ nを配置する必要があります。

マーク \ がある状況に\ nを付けてはいけません。

この問題はAWKとPythonで解決できると思います。

役に立ちましたか?

解決

各期間の後に改行を入れることの何が問題になっていますか?例:

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

$ echo "abc. 123. xyz." | awk '{ gsub(/\. +/, ".\n"); print }'
abc.
123.
xyz.

他のヒント

では、.texファイル内のすべての文を新しい行から開始したいのですが、余分な段落を挿入しませんか?正しいですか?

おそらくファイルを調べて、「。」が表示されるたびに空白と大文字を続けて、改行を挿入します。

e.g。 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))

質問を正しく読んだ場合、必要なのは \ newline コマンドです。各文の後に置きます。 \\ はこのショートカットです。

これを行う正規表現は次のようになります

s/\.  ([A-Z])/.\\newline\1/
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top