Awk/Python에 의해 라텍스의 새로운 라인에서 각 문장을 시작할 수 없습니다.

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

  •  10-07-2019
  •  | 
  •  

문제

라텍스에는 단락이 포함 된 긴 문서가 있습니다. 단락에는 새로운 줄에서 후속 문장이 시작되지 않도록 문장이 포함되어 있습니다.

.tex 파일의 새 줄에서 각 후속 문장을 어떻게 시작할 수 있습니까?

문제에 대한 나의 시도

우리는 문장 b가 그 전에 문장 A가있는 문장 b의 끝에 n을 넣어야합니다.

우리는 마크가있는 상황에 n을 넣어서는 안됩니다. \.

나는 문제가 awk와 python에 의해 해결 될 수 있음을 본다.

도움이 되었습니까?

해결책

각 기간이 지난 후 Newline을 넣는 것이 잘못된 것은 무엇입니까? 예 :

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

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

다른 팁

따라서 .tex 파일의 모든 문장이 새 줄에서 시작되지만 추가 단락을 소개하지 않기를 원하십니까? 그 맞습니까?

아마도 당신은 파일을 살 수 있고, 당신이 ''를 볼 때마다. '. 그 다음에 공백과 대문자가 이어지면 Newline을 삽입하십시오.

예 : 파이썬에서 :

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