36

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

另外,你用什么编辑器来做这个?

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

4

10 回答 10

45

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

  • 整个段落的软包装使得在版本控制差异中无法发现拼写错误。
  • 硬包装的段落看起来不错,直到您开始编辑它们,如果您重新排列硬包装的段落,您最终会在差异中更改一大堆行,可能会更改一个单词。

只有每个句子换行才能解决这两个问题:

  • 在差异中比较容易发现小的变化。
  • 不重新排列文本,仅更改、插入或删除单行。

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

当然,如果您正在协作工作,答案是使用其他人正在使用的任何东西。

于 2009-07-16T06:30:16.257 回答
7

我使用 Emacs(带有 AUCTeX)。在编辑或写完一段之后,我点击 Mq 来硬包装它。它还处理缩进项目,它还格式化注释段落。我不喜欢软包装,因为它们在视觉上与真正的换行符没有区别,但表现不同。

于 2009-05-22T18:41:27.547 回答
5

我通常让我的 LaTeX 编辑器软换行。我认为部分原因是我在第一次学习 LaTeX 时遇到了一些关于大量空白的糟糕经历,部分原因是我不喜欢在编辑文本时出现严重锯齿状的右边距文件。

于 2009-05-22T18:07:43.933 回答
5

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

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

于 2009-05-22T18:18:53.527 回答
3

通常我让我的编辑器插入换行符。也就是说,我尽量不按“enter”键换行,但是当编辑器软换行时,它实际上插入了一个换行符。

我是用vim来完成这个的,不知道其他编辑器有没有这个功能或者是怎么工作的。具体来说,我使用wrapmargin功能。

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

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

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

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

于 2009-05-22T18:02:56.173 回答
2

尽管我更喜欢使用软包装,但出于一个实际原因,我最终还是使用了硬包装:我所有的合作者都这样做。所以,当我和某人一起写一篇文章时,软包装而另一个人硬包装对我来说会很痛苦。第二个原因是 Emacs 直到最近才能够正确处理硬包装。我目前使用的 Emacs 23 改变了这一点,但是每个人都升级到 23 还需要很长时间,所以我可以偷偷将软包装文本发送给他们。

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

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

于 2009-06-05T21:09:54.060 回答
2

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

于 2009-05-22T17:57:11.970 回答
2

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

于 2010-11-19T21:11:21.470 回答
1

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

乔有自动换行模式,但我什至不打扰。

于 2009-05-31T16:34:05.440 回答
1

我使用关闭自动换行符的 Auctex,然后手动插入换行符。我避免自动格式化,因为我希望对文档编辑之间的换行位置进行少量更改,这使得差异不那么混乱。

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

我喜欢威尔关于每句话都用硬包装的建议。我以前想过,但我的习惯是固定的。

于 2009-12-03T06:49:58.423 回答