当您编写TeX源代码时,如何使用编辑器的自动换行?

时间:2009-05-22 17:53:59

标签: latex editor wrapping tex

您是否使用“硬包装”(自己或由编辑自动)通过在特定行长度的源文档中插入换行符,或者您是否在一个连续的行中编写段落并让编辑器“软包装” “为了你?

另外,你使用什么编辑器?

注意:我对如何在TeX源代码(.tex文件,一般散文)中包装行感兴趣,而不是TeX如何为最终文档包装行。

10 个答案:

答案 0 :(得分:42)

我最近切换到每个句子的硬包装(即句子结束后的换行;行和句子之间的一对一映射)有两个原因:

  • 整个段落的软包装使得在版本控制差异中无法发现拼写错误。
  • 硬编辑的段落看起来很好,直到你开始编辑它们,如果你重新流动一个硬包裹的段落,你最终会在差异中改变一大堆线条,可能会改变一个单词。

每句话只包装修复了这两个问题:

  • 在差异中相对容易发现微小的变​​化。
  • 不会重新流动文字,只会更改,插入或删除单行。

当你第一次看到它时看起来有点奇怪,但是我见过的唯一妥协解决了软包装和硬包装这两个问题。

当然,如果您正在协同工作,答案就是使用其他人正在使用的任何内容。

答案 1 :(得分:7)

我使用Emacs(使用AUCTeX)。编辑或编写段落后,我点击M-q进行硬包装。它还处理缩进项目,它还格式化注释段落。我不喜欢软包裹,因为它们在视觉上与真实的换行符无法区分,但表现不同。

答案 2 :(得分:3)

通常我的编辑器插入换行符。也就是说,我尽量不要点击新行的“输入”键,但是当编辑器软包时,它实际上会插入一个换行符。

我使用vim来完成此操作,我不知道其他编辑是否具有此功能或它们如何工作。具体而言,我使用wrapmargin功能。

为了清晰和一致,我通常会尝试将我的代码行(TeX或其他)保留为n个字符。我倾向于使用80个字符,但这取决于你。

更多与vim相关的换行文档:

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

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

答案 3 :(得分:3)

我通常会让我的LaTeX编辑器软包线。我认为部分原因在于,当我第一次学习LaTeX时,我在使用重要的空白时遇到了一些不好的经历,其中一部分是因为我在编辑文本时不喜欢严重锯齿的右边距。文件。

答案 4 :(得分:3)

根据您使用的操作系统,我推荐winedt(windows)和kile(linux)。这两种软包装,并不需要硬包装。 (也就是说,我将我的段落留在源代码中的长行)Latex在输出中排序换行符,当我读取源代码时,我使用我的编辑器。

使用硬换行符的唯一可能原因是为了更容易在代码中找到错误(编译器用行号表示)但是它们通常不难找到,如果它主要是文本,则错误很少见

答案 5 :(得分:2)

我倾向于使用TeX进行硬包装,但这更多地源于我对文本格式的痴迷,而不是任何真正的效率提升。我不喜欢软包装的一个主要问题是它(通常在我看来)倾向于通过包装在语义上随机的地方来使事情更难阅读。

答案 6 :(得分:2)

虽然我更喜欢使用软包装,但由于一个实际原因我最终使用硬包装:我的所有合作者都这样做。所以,当我和某人一起做一篇文章的时候,对另一个人来说,软包装对我来说是一件很大的痛苦。第二个原因是Emacs直到最近才能正确处理硬包装。我目前使用的Emacs 23改变了这一点,但是在很长一段时间之后,每个人都升级到23,所以我可以将软包裹的文本偷偷带给他们。

我实际使用硬包装的方法是打开自动填充模式。此外,M-q绑定到LaTeX-fill-paragraph(在AucTeX模式下 - 但我不记得这是标准绑定还是我的绑定之一 - 我很确定它是后者)。结合这两个,我设法保持我的TeX源或多或少格式化。

顺便说一句,我听说过总是在一行的开头开始一个新句子的建议。换句话说,句子结尾处的句号之后应该是硬回程。好处是它适用于版本控制系统,因为对句子的更改可以保持本地化。我认为这原则上是一个好主意,但由于我强迫使用M-q,我没有设法使用它。

答案 7 :(得分:1)

我主要在乔工作。我不时自动按回车,如果看起来不好我按自动格式(ctrl-k j)。

Joe有自动装配模式,但我甚至都不打扰。

答案 8 :(得分:1)

我使用Auctex关闭自动换行功能,并手动插入换行符。我避免使用自动格式化,因为我希望对文档编辑之间发生换行的地方进行少量更改,这会使差异变得更加混乱。

使用更聪明的差异,一个不关心与tex无关的空白的差异会更好,但这是我使用的工具。

我喜欢威尔关于每句话难以包装的建议。我以前考虑过这个问题,但我的习惯是固定的。

答案 9 :(得分:1)

我在Linux下使用Kile进行硬包装(在Kile中称为静态自动换行),因为显然在我的工作环境中,每个人都喜欢这样。软包装对我来说更有意义,所以如果我可以选择,我会使用它而不是硬包装。