Incapaz de fazer cada frase para começar em uma nova linha no LaTex por AWK / Python
Pergunta
Eu tenho um longo documento em LaTeX, que contém parágrafos. Os parágrafos contêm frases de tal forma que nenhuma sentença posterior começar em uma nova linha.
Como você pode fazer cada frase subseqüente para iniciar em uma nova linha no meu arquivo .tex?
Minha tentativa para o problema
Precisamos colocar \ n para o fim da frase B, onde Sentença B tem Sentence A antes.
Não devemos colocar \ n para as situações em que há o \
marca.
Eu vejo que o problema pode ser resolvido por AWK e Python.
Solução
errada do que com a colocação de uma nova linha após cada período? Por exemplo:
awk '{ gsub(/\. +/, ".\n"); print }'
$ echo "abc. 123. xyz." | awk '{ gsub(/\. +/, ".\n"); print }'
abc.
123.
xyz.
Outras dicas
Assim que você quer cada frase em seu arquivo .tex para começar em uma nova linha, mas sem introduzir parágrafos extras? Isso está correto?
Possivelmente você poderia ir através de seu arquivo e, a cada vez que você vê um '' seguido por espaços em branco e uma letra maiúscula, inserir uma nova linha.
por exemplo. em 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))
Se eu ler a sua pergunta corretamente, o que você precisa é o comando \newline
. Coloque-o depois de cada frase. \\
é um atalho para isso.
A regex para fazer isso seria algo como
s/\. ([A-Z])/.\\newline\1/