典型案例
我经常遇到必须在短时间内快速编写和打印报告的情况。TeX 的一些功能使我能够快速工作。例如,使用BibTeX
,我可以快速将来源添加到文章中。
问题
但是,TeX 的某些功能似乎使工作效率低下。例如:很难将一个tabular
文件放到一页上。有些问题更为严重,例如语法。一个文件放错位置&
,或者}
整个文档都无法编译。
- 哪些软件包、支持软件或技巧可以节省您的时间?
- 哪些包、设置或工作流程可以帮助确保文档始终能够编译?
答案1
我有一些想法:
尽量确保你事先知道论文所需的(几乎)所有内容。表格、数字、图表等等。如果你已经知道接下来的内容,那么写作就会更容易。
:)
您的论文是否使用特殊的文档类,例如
IEEEtran
?撰写论文时,请确保使用正确的类/样式,这将节省时间。大多数会议都提供 LaTeX 模板来帮助您。如果没有提供模板,请坚持使用旧的类article
并根据您的需要调整选项(大小、列等)。确保文件具有正确的编码。这听起来可能很简单,但至少你最终不会遇到问题。我曾经遇到过一次糟糕的输出,我花了一个小时左右才弄清楚这是一个简单的编码问题。
:P
如果您没有在 LaTeX 代码中生成图表/图形/表格,请始终将其来源放在您身边。如果您使用 Dia、Inkscape 等绘制图表,请
src
在项目目录中创建一个文件夹。任何更改都可以轻松找到。说到目录,创建一个漂亮的目录树。我通常喜欢将我需要的一切都放在我的项目目录中。文件夹是你的朋友。
:)
我通常不这样做,但这是个人喜好。
:)
确保有一个bib
包含所有研究参考资料的大文件,从apple
到zebra
。这将节省您在论文中引用的时间。对于您撰写的每篇论文,请使用此文件。如果您需要添加/删除/更新内容,它将被复制到您所有可用的论文中。使用您自己的代码片段。您经常使用的东西,一定要随手可得,例如特定的表环境、新命令等。您还可以创建一个包含它们的小包,将其放在当前文件夹或个人树中。我有一个用于我的数学定义的包,例如
\Rset -> \mathbb{R}
。使用好的编辑器/IDE。了解它能为你提供什么。代码完成、标准代码片段、预览,应有尽有。邮政在我们的博客中,我们介绍了一些在写作时可以使用的功能。此外,其他不错的链接包括 Charlie Tanksley 的关于 Vim 的系列文章以及 Seamus Bradley 的关于 emacs 的系列文章。
如果您的项目很复杂,请创建一个构建脚本。它可以是 Makefile、文件
sh/bat
,甚至可以使用或latexmk
。如果您需要更高级的东西,请使用其他工具(Perl/Python/Ruby)让您的生活更轻松。rubber
arara
注释并组织您的代码。我知道我们正在谈论减少时间,但相信我,良好的注释代码会大有帮助。Didier Verna 在 TUG2011 上的主题演讲非常有趣;编码标准起着重要作用。
了解您的工具。检查它们可以导出的格式 -
pdf
、、、TikZ 代码。eps
ps
终端是你的朋友。TeX Live 有很多很棒的命令行工具可以帮到你,例如
pdfcrop
。ImageMagick 也提供了很棒的解决方案。如有疑问,请编译您的项目一百次。
:)
写一行,编译它。安全总比后悔好。
希望能帮助到你。:)
答案2
我经常在压力下撰写报告。有两个方面需要考虑,
- 你自己的工作习惯
- TeX\LaTeX 的特性
第一个很难开发,而第二个是技术和建立在 TeX 知识的基础上。
首先是工作习惯。下载焦点助推器,阅读一下番茄工作法问问自己是否是一个完美主义者;这往往会导致拖延;如果你是学生或学者,请自我检测一下自己是否患有常见的学生综合症了解你的高效时间。我个人在人生的不同阶段都经历过这些综合症,只要你意识到了它们,就没什么可担心的。大多数与生产力有关的问题都源于试图达到完美。我猜想,订阅本网站的人中,不太可能有人不是完美主义者。还有谁会像我们一样担心间距、斜体和格式,以及下标和上标之间的空格和字体?你需要在这方面下功夫。一份只有少数人阅读的报告(例如工作进度报告)不需要完美无缺。也许下次吧!
现在介绍一些 LaTeX 技巧。先写下你要说的内容,然后再考虑演示。除非你对写作完成感到满意,否则不要对演示进行任何编辑。
经常编译是最好的建议,其他答案中也有一些人给出过。我个人会尽量减少软件包,如果可以避免的话,尤其是hyperref
。
尽量减少文本块中的标记,不要在工作中加入任何宏,除非你了解它们的工作原理。尽量减少软件包。嘿,这是有效的方法使用您自己的宏,并接受其他人可能比您和我更优秀的程序员。您编写的是一份报告,而不是 TeX 编程的大师级测试。如果您有任何 TikZ 图表或图形,请允许每个图表最多三个小时,因此您可以花一点时间来开发一组与您的工作共同使用的图表或图表,从而提高您的工作效率。
最后我想和大家分享一下我的编辑技巧(我从保罗·哈尔莫斯)。 使用螺旋技巧。当你写第 2 章时,阅读并编辑第 1 章和第 2 章;当你写完第 3 章时,阅读并编辑第 1、2 和 3 章。如果你在最后一章时遵循这个技巧,你就完成了。这也是一个可以在章节本身中采用的好技巧,只需对段落执行相同的操作即可。
没有魔法棒。要掌握任何东西,你需要付出 10,000 小时的努力努力学习。
答案3
距离最后期限还剩 10 分钟,但 LaTeX 拒绝编译,是的。
建议:当有压力时,经常编译以立即发现任何错误。
除此之外,我的主要建议是永远不要太接近严格的最后期限。TeX 是由一个安静工作的人编写的,没有电子邮件,他的电话可能没有每隔五分钟就响一次。他忘记为 21 世纪实现向导模式。
我自己通过对模板进行严格的管理解决了这些问题。我使用 Emacs 作为编辑器(好吧,也是日历,以及组织我自己和……)。有一个名为的 Emacs 包YASnippets,我可以推荐。我有几十个片段,部分是整个文件的框架,部分是类似“合同头”的东西。如果你使用 Emacs,那就去看看吧。否则,挖掘一下你的编辑器提供的内容。
答案4
“快速”总是与个人习惯和里程有关。你必须了解你的工具及其局限性,才能有效地处理它们。
为我,莱克斯是快速编写文档的完美搭配,具有 LaTeX 排版质量和 BibTeX 参考书目处理功能,无需处理太多语法错误、表格开发(对于标准表格,LyX 的表格编辑器非常好)和查找数学符号(数学编辑器是非常好对于我们这些不整天写数学题的人来说:您可以直接在 LaTeX 语法中输入您知道的命令,但所有其他命令都可以在图形工具栏和结果的即时预览中使用。
如果您想要进行大量微调或使用大量用户定义的自定义宏,LyX 的奇怪之处就开始了。与任何其他工具一样:您必须了解它(快捷方式、工作流程),并最初投入一些时间来配置和自定义它以适应您的习惯。但是,根据我的经验,所见即所得的方法可以节省大量时间,并且(对我来说)可以更轻松地思考内容。