Как мне управлять новыми строками в латексе?

1767
Jeremy Powell

Так что, может быть, я что-то упустил полностью, когда начал использовать Latex, но мне трудно управлять переводами строки в исходном тексте Latex. Я должен поставить жесткие возвраты в конце строк, потому что даже мощные редакторы, такие как Emacs или Vim, похоже, не справляются с этим (по крайней мере, из коробки).

Например, если у меня есть следующий абзац в моем латексном файле:

Так что, может быть, я что-то упустил полностью, когда начал использовать Latex, [\ n],
но мне трудно управлять переводами строки в исходном тексте Latex. У меня есть [\ n],
чтобы поставить жесткие возвраты в конце строк, потому что даже мощные редакторы [\ n],
такие как Emacs или Vim, похоже, не справляются с этим (по крайней мере, из коробки). [\ N]

Но затем я хочу добавить скобку «а не переводы строки в выводе латекса» во вторую строку, чтобы получить что-то вроде этого:

Так что, может быть, я что-то упустил полностью, когда начал использовать Latex, [\ n],
но мне трудно управлять переводами строки в источнике Latex (но не переводами строки в выводе Latex). У меня есть [\ n],
чтобы поставить жесткие возвраты в конце строк, потому что даже мощные редакторы [\ n],
такие как Emacs или Vim, похоже, не справляются с этим (по крайней мере, из коробки). [\ N]

Предполагая, что до того, как я вставлю фразу, строки у нас на границе 80 символов, я получаю довольно неуправляемые мягкие переносы строк. Когда это происходит, нажатие стрелки «вниз» приводит меня к тому же столбцу на следующей строке, полностью игнорируя разрывы мягкой строки.

Что мне не хватает?

0

4 ответа на вопрос

2
MikeyB

Если я правильно прочитал ваш вопрос, это не имеет ничего общего с LaTeX, кроме того, что вы редактировали исходный текст LaTeX?

Если вы хотите сказать, чтобы vim переносил строки, скажем, на 78 символов:

:set tw=78 

Если вы хотите сделать это для всех файлов .tex, добавьте следующую команду в ваш .vimrc:

autocmd BufRead *.tex set tw=78 
да уж. это в значительной степени то, что мне нужно; Я действительно не думал, что есть более глобальное решение. Я думаю, это был более длинный день, чем я думал .. Jeremy Powell 14 лет назад 0
2
dmckee

Я не уверен, что понимаю, о чем вы спрашиваете, но вполне возможно, что longlines-modeв Emacs вы получите то поведение, которое вам нужно.

Ах. Да, вот и все. Длинные линии автозаполнения. Благодарю. Я немного новичок в Emacs, и у меня нет мастеров Emacs, я могу просто подойти и спросить: \ Jeremy Powell 14 лет назад 0
1
vonbrand

For me, LaTeX source is, well, source. I got accustomed to cut lines at "logical points" (after punctuation, keep a phrase together on a line, ...). It helped me to catch errors like "an dog" or "a animal" or even "the the phrase". Splitting the text this way, and using indentation to reflect structure, makes longer text source much more readable. It also makes much editing of the text be shuffling lines around, and editors have good commands for that.

Later I came to use version control heavily, and there having changes be mostly lines added/deleted wholesale, not a full paragraph replaced just because a word was added to a line, becomes essential when the text (and its history) grow.

For the same reason you don't fill your C code, don't fill LaTeX.

Вы должны уточнить параграф 2, только люди, использующие VCS, могут сделать из него sthg. Joce 10 лет назад 0
@ Джос, извини, я не вижу, как это улучшить. Не стесняйтесь редактировать. OTOH, кто-то, кто не использует VCS, не поймет все равно ... vonbrand 10 лет назад 0
Что ж, давайте тогда сделаем все просто: изменения отслеживаются на уровне строк. Без разрывов строк любая модификация в длинном абзаце приведет к излишне большим и запутанным изменениям. Если это только одно предложение в строке, этой проблемы можно избежать. Daniel B 10 лет назад 1
0
simao

В emacs в режиме автозаполнения M-x auto-fill-modeвы можете M-qи emacs форматировать текст так, как вам удобно.