【问题标题】:When you write TeX source, how do you use your editor's word wrap?当你编写 TeX 源码时,你如何使用你的编辑器的自动换行?
【发布时间】:2009-05-22 17:53:59
【问题描述】:

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

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

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

【问题讨论】:

  • 你是说用 TeX 写源码,还是用 TeX 写源码?
  • 当您在 .tex 文件中编写文档时。一般散文。
  • 我只用LyX
  • 您可以在TeX StackExchange 上找到整个社区,这里没有任何与 TeX 相关的问题太小。

标签: latex editor word-wrap tex


【解决方案1】:

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

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

仅对每个句子进行换行可以解决这两个问题:

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

乍一看有点奇怪,但这是我见过的唯一一种解决软包装和硬包装两个问题的折衷方案。

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

【讨论】:

  • 我也改成了这个,它让事情变得更容易了。我想我现在可以在任何地方都这样做:markdown、html、reST 等。
  • 还有一件事:这也使得查找文本变得更加容易。假设我想找出我写“直截了当”而不是“直截了当”的错误。 “直截了当”之前可能有换行符,因此很难 grep。现在它永远不会了。
  • 这也让行的长度一目了然。如果你曾经不小心写了一个 5 行 20 个逗号的句子,你就会知道消除它的重要性。我不知道准确的句子长度,但我可以很容易地发现可疑的句子。
  • 我现在也在使用它,因为这里有很好的论据(即使我目前没有使用 VCS)。我发现它使写句子有所不同 - 迫使我意识到句子的长度,并且似乎让我写更短的句子。我不确定这是否是一件好事。
  • 另外,现在我想起来了,git diff --word-diff 有点否定了发现句子细微变化的问题。
【解决方案2】:

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

【讨论】:

    【解决方案3】:

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

    【讨论】:

      【解决方案4】:

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

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

      【讨论】:

        【解决方案5】:

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

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

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

        更多 vim 相关的换行文档:

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

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

        【讨论】:

          【解决方案6】:

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

          【讨论】:

            【解决方案7】:

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

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

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

            【讨论】:

              【解决方案8】:

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

              【讨论】:

                【解决方案9】:

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

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

                【讨论】:

                  【解决方案10】:

                  我使用关闭了自动换行符的 Auctex,然后手动插入换行符。我避免使用自动格式化,因为我希望对文档编辑之间发生换行符的位置进行少量更改,从而减少差异。

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

                  我喜欢 Will 对每个句子进行硬包装的建议。我之前想过,但我的习惯是固定的。

                  【讨论】:

                    猜你喜欢
                    • 1970-01-01
                    • 2010-10-02
                    • 2011-03-06
                    • 1970-01-01
                    • 2011-01-27
                    • 2011-11-24
                    • 1970-01-01
                    • 2019-11-27
                    • 1970-01-01
                    相关资源
                    最近更新 更多