我应该编译为*到* Latex 吗?

我应该编译为*到* Latex 吗?

我已经使用 Latex (带有 TexStudio) 一段时间来记录研究笔记并做了一些观察:

  • 在文档的整体风格基本确定之后,人们希望尽可能少地担心格式问题。即使是简单的任务(例如包含图像),所有的 Latex 标记也会变得乏味。
  • 自由使用\newcommand有助于简化重复任务,但由于 Latex 语法的困难(如缺少命名参数和深奥的编译器错误),它并不总是那么简单。此外,有时更新旧的\newcommands 需要返回并更改以前使用的每个实例。
  • 重新排列笔记本的各个部分(因为某些部分比预期的要庞大或项目的逻辑结构发生了变化)有时需要一些技巧。

人们常说 Latex 会将样式与内容分开。它在这方面的表现确实比 Word 等其他软件要好得多,但实际上并非如此 - 例如,如果我有一些信息需要以表格形式呈现,我最终会将这些信息与表格结构的低级标记交织在一起。

我想到可以决定采用某种纯数据格式,可能只使用最少的语义标签(例如,标明物种名称,以便以后可以将其斜体化),仅记录我的研究进展。然后我可以编写一个脚本(例如,用 Python)来生成关于此报告的 Latex 源代码。理论上,这类似于 CoffeeScript 编译成 JavaScript 的方式。它还会在记录的研究(我希望只写一次,从不修改)和风格变化(移动部分、重命名章节、更改表格格式)之间引入额外的分离层。

这个想法有什么大问题吗?这已经完成了吗?我是否大大低估了它需要多少工作量?

答案1

你可能想看看潘多克,它自称是文档转换领域的“瑞士军刀”。使用 Pandoc,您可以创建各种语言的文档,其中最值得注意的是 Markdown 风格的语法,并且可以轻松地从这些语言创建 LaTeX 文档。

它还支持大量自定义选项,可让您使其适合您的特定任务,我认为这样做比从头开始编写新的解决方案要容易得多;您最终会尝试重新发明轮子。

尝试看看自述脚本指南请参阅官方网页上提供的更多信息。

答案2

许多人为此使用 XML,有几种 XML 词汇表,也许 docbook 或 TEI 最为著名。例如,MathML 规范全部用“xmlspec”XML 标记和 html、xhtml 和 pdf 版本编码,生成的文档的 pdf 版本通过 LaTeX 编写,请参阅链接中的替代版本

http://www.w3.org/Math/draft-spec/mathml.html

TEI(我对此了解不多)维护着大量用于 LaTeX 的样式表,作为通用处理套件的一部分

http://www.tei-c.org/release/doc/tei-xsl/#intro

Docbook 也有转换为 latex 的样式表

http://dblatex.sourceforge.net/

答案3

对于“最少的语义标签”、“简单、直接的语法”(在 LaTeX 之类的语言中)或“直观的菜单和对话框”(在 GUI 文本系统中)以及高度复杂的输出的愿望存在(并且在我看来永远都会存在)冲突。

Markdown eg 本质上易于使用和学习 - 但您无法用它创建复杂的表格,也无法微调引用或列表的格式。因此,您可以在互联网上找到很多关于如何使用 css-styles 或新语法标签扩展语言的讨论,或者如何在使用 pandoc 时注入 latex 代码。

输出样式可以是艺术。很多低级代码例如用于创建美丽的表格或微调分页符或列表。因此,在切换到某些自动化系统之前,您应该问问自己,您所做的代码调整中有多少是出于手动更正和更改以获得更令人愉悦的外观。

答案4

你也可以尝试使用 emacs组织模式。它具有类似 markdown 的语法,可以导出为 latex、HTML 等。

相关内容