我有许多单独的.tex
文件,它们都是\documentclass{article}
。我将它们\documentclass{book}
作为章节输入到一个文件中。book.tex
然后,在文件中,我输入了如下内容:
\chapter{Chapter One!}
\input{article}
article.tex
但我希望在需要时能够单独编译。因此在 中article.tex
,我保留了\begin{spacing}{1.5}
、\end{spacing}
和\maketitle
命令。
有什么方法可以在编译时忽略这些命令吗book.tex
?该\standaloneignore
命令似乎仅适用于忽略\documentclass
声明上方的内容。
答案1
子文件可以使用\documentclass{article}
、 或。包的\documentclass[preview=false]{standalone}
类选项之所以存在,是因为您希望像平常一样自行编译。您也可以在子文件中使用 ,但 也应该添加或。[preview=false]
standalone
article.tex
\documentclass{article}
\usepackage{standalone} \standalonetrue
\newif\ifstandlone \standalonetrue
如果你不想处理某些特定代码,请使用\begin{document}
如下所示的开关article.tex
\ifstandalone
在article.tex
:
\documentclass[preview=false]{standalone}
%% If you prefer to use the `article` class, the I would recommend
%\documentclass{article}
%\usepackage{standalone} \standalonetrue
\title{Artcle.tex Title}
\author{Duck Article}
\usepackage{lipsum}
\begin{document}
\ifstandalone
\maketitle% Test to ensure that this is not executed in book.tex
\fi
\lipsum[1]
\end{document}
在book.tex:
\documentclass{book}
\usepackage{standalone}
\usepackage{lipsum}
\title{Book.tex Title}
\author{Duck Book}
\begin{document}
%\maketitle Comment this out to ensure that that \maketitle form the article.tex does not get exectuted.
\chapter{Chapter One}
\input{article}
\end{document}