![我怎样才能将我的书分成不同的项目而不重复自己?](https://linux22.com/image/241654/%E6%88%91%E6%80%8E%E6%A0%B7%E6%89%8D%E8%83%BD%E5%B0%86%E6%88%91%E7%9A%84%E4%B9%A6%E5%88%86%E6%88%90%E4%B8%8D%E5%90%8C%E7%9A%84%E9%A1%B9%E7%9B%AE%E8%80%8C%E4%B8%8D%E9%87%8D%E5%A4%8D%E8%87%AA%E5%B7%B1%EF%BC%9F.png)
我正在尝试在 Windows 上使用 LaTeX 创建一本小册子,以便学习 LaTeX 的基本知识。
我想将我的书分成不同的项目,但我为整个文档定义了某种样式。当我将其分成不同的部分时,我需要反复应用此设计。
我怎样才能不重复自己而做到这一点? 有没有类似 LaTeX 上的 Master Page 的东西?
答案1
假设你有一个主文件,里面有样式定义。然后你就可以像这样插入其他章节:
\documentclass{article}
\usepackage{<somepackage>}
\begin{document}
Your text
\input{chapter1}
More text
\input{chapter2}
etc.
\end{document}
该\input
命令将以您要插入的文件的名称作为参数LaTeX
。仅当扩展名不同于时才需要.tex
。此命令有一个“兄弟”,即\include
。两者的区别解释如下:何时应使用 \input 与 \include ?
答案2
除了将样式定义和包列表保存在单独的文件中并将它们包含在内之外\usepackage{<somepackage>}
,我建议您使用包裹standalone
也可以。这样您就可以随时编译每个章节,然后直接在主书中使用该文件。
因此,首先创建一个somepackage.sty
文件来包含所有自定义宏和包,例如:
\usepackage{amsmath}% or any others that you use
\usepackage{lipsum}% for dummy text
\usepackage{standalone}% Need standalone package
此文件将成为您的主页。我将包括几何学此处的边距信息、水印以及页脚、页眉等...
然后为每个章节创建单独的文件。下面是一个完整文件的示例chapter1.tex
,可以自行编译:
\documentclass{book}
\usepackage{somepackage}% your custom list of macros and packages
\begin{document}
\chapter{First Chapter}
\section{}
\lipsum[1]% ... contents of chapter 1 here...
\end{document}
其他章节也类似。然后你的主文件将如下所示:
\documentclass{book}
\usepackage{somepackage}% your custom list of macros and packages
\begin{document}
\input{chapter1}
\input{chapter2}
\end{document}
要记住的一件重要事情是主文件必须包含standalone
包以及各个章节文件所需的所有包。
答案3
也可以包含定义。假设您有一个名为的文件,其中layout.tex
包含所有包(可能还有类)和定义,您可以使用它
\documentclass{article}
\input{layout}
\begin{document}
Text
\end{document}
如果您喜欢在许多文档中使用,layout.tex
您可以将其移动到用户texmf
文件夹,以便 LaTeX 像找到包或类文件一样找到它。要找到正确的文件,请打开“运行程序”(不知道英文名称,德语 Windows 中是“Eingabeaufforderung”)并键入kpsewhich -var-value=TEXMFHOME
。
答案4
您还可以使用子文件包,它允许您在主文档中拥有整个前言,然后每个单独的文件在编译时将继承主文件的前言。它的功能类似于standalone
上面提到的包。