我想从 Lyx 导出不带前言的 Latex。例如,我想自动删除\section{}
以及之前的所有代码\end{document}
。这样我就可以自动包含.tex
输出文件包含到更大的 Latex 文档中,我已经按照自己的意愿为其添加了序言。
我这样做的原因是因为我有大量的方程式表,如果直接在普通的 Latex 中编辑的话会非常混乱。
答案1
目前看来这还不是直接可行的,LyX 错误跟踪器中有一个针对此功能的开放功能请求:
但那里至少描述了一种解决方法:
创建一个虚拟主 LyX 文件,并将其他文件作为子文档包含在内。导出主文件时,每个子文档都将创建为单独的.tex
文件,不带前言。
答案2
subfiles
解决方案
一个更简单的解决方法是使用包\subfile
的命令subfiles
,它会自动剥离文档骨架。
它的目的是使子文档可以自行编译,但扩展后也适合这种用例。
使用父/子对进行无前导的导出。
如果目的是导出到 latex 以包含在不允许加载额外包的日志模板中,则这无济于事。在这种情况下,一个可行的解决方法是创建一个main.lyx
带有子文档的文件child.lyx
,然后从中递归导出main.lyx
,这将产生一个无前导的child.tex
。
脚本自动化
通过利用文档的简单文件格式,这也可以轻松地作为脚本自动化.lyx
:
- 创建一个
.tmp.lyx
相同的\begin_header ... \end_header
以child.lyx
确保样式和插图的一致导出。 - 使其
\begin_body ... \end_body
仅包含子文档链接。 - 导出
.tmp.lyx
到.tmp.tex
。这将创建所需的child.tex
。 - 删除不需要的
.tmp.*
文件。
答案3
使用standalone
包含文档中的包作为解决方法
该standalone
包重新定义\input
,以便忽略任何前导码。用法:
- 正常将您的 lyx 文档导出为 tex。
- 在包含文档中,放入
\usepackage{standalone}
序言。 \input
使用或正常加载导出的 tex 文档\include
。- 所包含文档的序言将被忽略。
该软件包还可以选择以某种方式使用子前导码(参见文档),但我没有使用过。
注意:有一个独立的包裹以及独立的文档类. 该包用于包含文档和文档类能,但不需要用于包含的文档。在这个答案中,我们只使用包。