Lyx 语法文件可以覆盖文档类默认值吗?

Lyx 语法文件可以覆盖文档类默认值吗?

我正在 Lyx 中编辑客户的 Latex 文件,其中客户使用了 Lyx 不支持的文档类。

在这些情况下,我使用tex2lyx-c article-c report确保 Lyx 可以导入文件,并查看wdiff提供的 Latex 文件与 Lyx 导出的文件之间的差异(使用)以汇编一份误解的语法列表,我可以使用选项从中创建一个语法文件来传递给tex2lyx-s $SYNTAXFILE

一切都很好,但是如果文档类在语法上发生冲突(例如,将可选参数传递给诸如\author这样的命令或环境{enumerate}),那么 Lyx 会忽略语法文件的内容,从而错误解析导入的 Latex 文件。

我对这种情况有一个解决方法,即将定义\let\lyxtexblock=\relax放在 Latex 序言中,将一行\lyxtexblock{}放在语法文件中,并用它来包围任何误解的 Latex。但我想知道是否有一个更有原则的解决方案,比破解一个新的布局文件更省时。

我正在使用 Lyx 1.6.8,但我有兴趣了解 Lyx 2 的解决方案。

资源

动机

虽然可以通过直接编辑源文件来编辑其他人的 Latex 手稿,并用它wdiff/texdiff/latexdiff来记录所做的更改,但当编辑次数较多时(例如,对 9,000 字的手稿进行 1,000 次编辑),这往往是一种相对低效的工作方式。Word、Open Office Writer 和 Lyx 的更改跟踪功能都提供了以下功能,我称之为变更跟踪最小值

  1. 与改变的文本相关的评论,理想情况下是针对文本的任意范围或特定的编辑;
  2. 允许一次处理一个更改以及接受、拒绝或修改文本的用户界面;
  3. 一个用户界面,允许接受或拒绝对某些选定文本部分的所有更改,同样可以删除选定区域内的所有评论;

第一点可以用 实现wdiff/texdiff/latexdiff。第二点和第三点都不能用我见过的任何软件实现。如果不能实现这三点,我的客户完成我所做的编辑工作所需的时间就会大大增加。我认为缺乏良好的 Latex 编辑工具(如上述工具)是许多出版商不想在 Latex 中工作的主要原因。

答案1

这不是您所要求的“更有原则性”的解决方案,而是在我编辑外文文章时非常有效的另一种解决方法:

  1. 我技术上创建自己的布局文件,但是不要不做任何努力。我只需要复制一份article.layout(或它的一个后代)并编辑副本中的类文件即可。
  2. 我确实使用 ERT 盒子来处理所有非标准的东西

ERT 框的问题在于,LyX 的更改跟踪系统不会跟踪框内的变化。但是,根据我的经验(使用科学文章的类别),大多数(如果不是全部)与标准类别的不兼容性仅影响前言,即宏,例如\title\author等等\thanks。因此,我通常会在开始时使用一个大的 ERT 框,其中包含来自 LaTeX 源的前言的逐字副本,并tex2lyx仅用于转换文章的正文。由于对前言的编辑相对较少,因此这是一种可接受的低成本解决方法。

相关内容