Невозможно заставить каждое предложение начинаться с новой строки в LaTeX с помощью AWK / Python
Вопрос
У меня есть длинный документ в LaTeX, который содержит абзацы.Абзацы содержат предложения таким образом, что ни одно последующее предложение не начинается с новой строки.
Как вы можете сделать так, чтобы каждое последующее предложение начиналось с новой строки в моем файле .tex?
Моя попытка решить проблему
Нам нужно поставить в конец предложения B, где перед предложением B стоит предложение A.
Мы не должны ставить
в ситуациях, когда есть отметка \
.
Я вижу, что проблема может быть решена с помощью AWK и Python.
Решение
Что не так с вводом новой строки после каждого периода? Например:
awk '{ gsub(/\. +/, ".\n"); print }'
$ echo "abc. 123. xyz." | awk '{ gsub(/\. +/, ".\n"); print }'
abc.
123.
xyz.
Другие советы
Итак, вы хотите, чтобы каждое предложение в вашем файле .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))
Если я правильно прочитал ваш вопрос, вам нужна команда \ newline
. Положите его после каждого предложения. \\
- это ярлык для этого.
Регулярное выражение для этого было бы что-то вроде
s/\. ([A-Z])/.\\newline\1/