Когда вы пишете исходники TeX, как вы используете перенос слов в вашем редакторе? - PullRequest
32 голосов
/ 22 мая 2009

Используете ли вы "жесткую упаковку" (либо сами, либо автоматически вашим редактором), вставляя новые строки в исходный документ на определенной длине строки, или вы записываете свои абзацы в одну непрерывную строку и позволяете редактору "мягко переносить" "для тебя?

Кроме того, какой редактор вы используете для этого?

Примечание. Меня интересует, как вы переносите строки в исходном коде TeX (файл .tex, общая проза), а не то, как TeX переносит строки в итоговый документ.

Ответы [ 10 ]

42 голосов
/ 16 июля 2009

Недавно я переключился на жесткую упаковку для каждого предложения (то есть, новую строку после конца предложения только ; сопоставление строк и предложений один к одному) по двум причинам:

  • softwrap для всего параграфа делает невозможным обнаружение опечаток в различных версиях контроля версий.
  • жестко обернутые абзацы выглядят красиво, пока вы не начнете редактировать их, и если вы перетянете жестко обернутый абзац, вы получите целую кучу строк, измененных в diff для возможного изменения одного слова.

Только перенос на предложение решает эти две проблемы:

  • Небольшие изменения сравнительно легко заметить в дифференциале.
  • Нет перетекания текста, только изменения, вставки или удаления отдельных строк.

Выглядит немного странно, когда вы впервые смотрите на него, но это единственный компромисс, который я видел, который решает две проблемы мягкой и жесткой упаковки.

Конечно, если вы работаете совместно, ответ заключается в том, чтобы использовать то, что используют другие люди.

7 голосов
/ 22 мая 2009

Я использую Emacs (с AUCTeX). После редактирования или написания абзаца я нажимаю M-q, чтобы упаковать его. Он также обрабатывает отступы и форматирует закомментированные абзацы. Мне не нравятся мягкие переносы, потому что они визуально неотличимы от реальных символов новой строки, но ведут себя по-другому.

4 голосов
/ 22 мая 2009

В зависимости от того, что вы используете, я рекомендую winedt (windows) и kile (linux). Оба эти мягкие обертки, и нет необходимости в жестких упаковках. (То есть я оставляю свои абзацы как длинные строки в источнике). Латекс сортирует разрывы строк в выходных данных, и когда я читаю источник, я использую свой редактор.

Единственная возможная причина использования жестких разрывов строк - это упрощение поиска ошибок в коде (которые компилятор указывает по номеру строки), но их, как правило, нетрудно найти, если это в основном текст, ошибки в любом случае редки .

4 голосов
/ 22 мая 2009

Я обычно позволяю своему редактору LaTeX мягко переносить строки. Я думаю, что отчасти это происходит из-за того, что у меня были некоторые неудачные опыты со значительными пробелами, когда я впервые изучал LaTeX, и отчасти потому, что мне не нравятся сильно зазубренные правые поля при редактировании текста файл.

3 голосов
/ 22 мая 2009

Обычно мой редактор вставляет переводы строки. То есть я стараюсь не нажимать клавишу «ввод» для новой строки, но когда редактор выполняет мягкую переноску, он фактически вставляет символ новой строки.

Я использую vim для этого, и я не знаю, есть ли у других редакторов эта функция или как они работают. В частности, я использую функцию wrapmargin .

Обычно я стараюсь, чтобы в моих строках кода (TeX или иным образом) использовалось n символов, для ясности и последовательности. Я склонен использовать 80 символов, но это зависит от вас.

Больше связанных с vim документов:

http://www.vim.org/htmldoc/usr_25.html

http://www.vim.org/htmldoc/options.html#%27textwidth%27

2 голосов
/ 20 ноября 2010

Я использую Kile под Linux с жесткой упаковкой (так называемая статическая перенос слов в Kile), потому что, очевидно, в моей рабочей среде все так делают. Мягкая упаковка имеет для меня гораздо больше смысла, поэтому, если бы я мог выбрать, я бы использовал это, а не жесткую упаковку.

2 голосов
/ 06 июня 2009

Хотя я бы предпочел использовать мягкую упаковку, я использую жесткую упаковку по одной практической причине: все мои сотрудники делают то же самое. Поэтому, когда я работаю над статьей с кем-то, мне было бы очень тяжело делать мягкую упаковку, в то время как другой человек жестко упаковывает. Вторая причина заключается в том, что Emacs до недавнего времени был способен правильно справляться с жесткой упаковкой. Emacs 23, который я сейчас использую, меняет это, но пройдет много времени, прежде чем все обновятся до 23, поэтому я могу подкрасться к ним в мягком виде.

То, как я на самом деле использую жесткую упаковку, это включил режим автозаполнения. Кроме того, M-q связан с LaTeX-fill-абзацем (в режиме AucTeX - но я не помню, является ли это стандартным или одним из моих назначений - я уверен, что это последнее) Комбинируя эти два, мне удается сохранить мой источник TeX более или менее прилично отформатированным.

Кстати, я слышал предложение всегда начинать новое предложение в начале строки. Другими словами, за точкой в ​​конце предложения должен следовать жесткий возврат. Преимущество заключается в том, что он хорошо работает с системами контроля версий, поскольку изменения в предложении могут оставаться локализованными. Я думаю, что это в принципе хорошая идея, но мне не удалось использовать ее из-за моего обсессивно-компульсивного использования M-q.

2 голосов
/ 22 мая 2009

Я склонен делать жесткую упаковку с TeX, но это больше связано с моей одержимостью форматированием текста, чем с любым реальным приростом эффективности. Одна из основных вещей, которые мне не нравятся в мягком переносе, заключается в том, что он (как мне кажется, очевидно) усложняет чтение при переносе в семантически случайных местах.

1 голос
/ 03 декабря 2009

Я использую Auctex с отключенным автоматическим разрывом строки, и вставляю разрывы строки вручную. Я избегаю автоматического форматирования, так как хочу, чтобы между изменениями в документе происходило как можно меньше изменений, чтобы разрывы строк были менее сложными.

Было бы лучше использовать более умный diff, который не заботится о пустых пространствах, не относящихся к тексам, но я использую этот инструмент.

Мне нравится предложение Уилла о жесткой упаковке в предложении. Я думал об этом раньше, но я сосредоточен на своих привычках.

1 голос
/ 31 мая 2009

Я работаю в основном в Джо. Время от времени я нажимаю клавишу ввода автоматически, и если она не выглядит хорошо, я нажимаю автоформат (ctrl-k j).

У Джо есть режимы автопереноса, но я даже не беспокоюсь.

...