清理 LaTeX 代码的工具

清理 LaTeX 代码的工具

有没有类似indentLaTeX 的东西?我有一个合作者正在使用 Scientific Workplace,它生成的代码完全乱七八糟;我知道我不应该期待奇迹,但任何机器支持都是有用的。

编辑:如果没有我对 KeithB 的回答的评论,这个问题就很不明确;我们的想法是将 VC 友好的一个句子/一个段落保存为每个文本文件行结构,SWT 通过将所有内容包装成固定列宽格式来“修复”它。

答案1

当我转而使用 VCS 时,我编写的大量文档的格式不适合放入 VCS。特别是,每行一句话的规则没有生效。所以我写了一个。我现在将它用于与您描述的类似情况:当合作者向我发送某些内容时,我想将其导入我的 VCS。它可从 github 获得:直接链接相关页面关于我切换到 VCS 的经历。这是一个 perl 脚本,并且嵌入了文档:perldoc fmtlatex应该提供它。

使用此程序时,我首先将文档 LaTeX 化,然后dvips生成一个 postscript 文件。然后我运行fmtlatex它,并latex+dvips再次运行(确保不会覆盖原始文件)。这样做diff original.ps new.ps会告诉我两个文档之间是否存在任何功能差异 - 它应该只生成一些有关时间戳的内容。如果您有一个文档产生显著差异,请将其发送给我(如果可能),因为这是错误的证据。(所有这些都在文档中。)

我还有一个脚本,可以将美元兑换成相应的 LaTeX 货币,可以供您使用也可以在 github 上

答案2

精彩奥科特克斯提供了一个命令 LaTeX-fill-environment,它将(主要)修复 LaTeX 源文件的部分或全部缩进。AUCTeX 是一个 emacs 包。因此,虽然对于使用 LaTeX 的 emacs 用户来说,这是一个必备工具,但如果您不使用 emacs,它就没什么用了。

答案3

我在 emacs 中使用M-q。它可以很好地缩进和拆分长行。

如果您使用源代码存储库协作处理文档,请务必小心(您应该这样做)。如果您每次编辑文档时都重新格式化文档,而 Scientific Workplace 也这样做,那么您将无法查看各个版本之间的更改,也无法合并更改。

编辑:另请参阅此问题的答案:如何使用 latex 与其他人一起编写文档?

答案4

问题到底是什么?我使用 SWP 的方式,它生成非常干净的代码。您是否要求您的合作者将他的文件保存为“便携式 Latex”?SWP 将代码分成大致相同长度的行。当它中断数学运算时,它会放入 % 符号。这是正确的,但如果换行符丢失,则会导致问题。

相关内容