当我使用独立包将子 .tex 文件加载到主 .tex 文件中,然后标题和目录标题的部分Contents
仍会显示在主文档中。
问题是我需要单独构建 child.tex,并且稍后还要构建 main.tex 以将所有文件收集到一个文件中。因此在 child.tex 中我也使用\tableofcontents
和 使用\title
。我不知道如何在构建 main.tex 时删除它们,因为这些不会进入preamble
子级,而必须在子级的主体中,并且standalone
只会删除 中的内容preamble
。
所以我需要某种逻辑或标志,如下所示,我可以将其添加到每个子文档中:
\begin{document}
....
\ifstandalone
% do nothing, I am being loaded by parent
\else
title{title of child document}
\author{me}
\maketitle
\tableofcontents
\fi
现在standalone
确实有这样的开关\ifstandalone
,但我不知道如何在子文档中使用它。以下是该包的 PDF(该包太高级了,我现在还无法全部理解)。
我尝试了很多方法,但都不起作用。有人知道怎么做吗?这是 MWE、parent.tex 和 child.tex。两者都在同一个文件夹中。
\documentclass[12pt,notitlepage]{report}
\usepackage{standalone}%
\usepackage{import}
\begin{document}
\author{me}
\title{This is my document home parent.tex title}
\maketitle
\tableofcontents
\chapter{HWs}
now include the other document
\subimport{.}{child} %make sure no empty line after this
\end{document}
这是 child.tex
\documentclass{article}
\begin{document}
\title{my child.tex file} %need a way to remove this when compiling parent.
\author{me}
\maketitle
\tableofcontents
\section{problem 1}
test 1
\section{problem 2}
test 2
\end{document}
现在如果我这样做
rm *.aux; rm *.toc; pdflatex child.tex
它可以工作。但是当我这样做时,pdflatex parent.tex
仍然会在 main.tex 中显示子级的目录和标题部分,这会弄乱父文档中的布局:
附言:这是我在 child.tex 中尝试过的东西
\documentclass{article}
\usepackage{standalone}% added this so to be able to use the ifstandalone flag
\begin{document}
\ifstandalone %but this had no effect when build the parent.tex, the title and
%part of the TOC still showed up in the parent, causing problems
%
\else
\title{child.tex title}
\author{me}
\maketitle
\tableofcontents
\fi
\section{problem 1}
test 1
\section{problem 2}
test 2
\end{document}
答案1
开关\ifstandalone
的工作方式相反。您应该将其放在子文档中。如果是独立文档,则 \ifstandalone 分支的内容将存在,如果包含,则将被省略。
我认为以下内容可以解决您的问题:
子文件:
\documentclass{article}
\usepackage{standalone} \standalonetrue
\begin{document}
\ifstandalone
\title{my child.tex file} %need a way to remove this when compiling parent.
\author{me}
\maketitle
\tableofcontents
\fi
\section{problem 1}
test 1
\section{problem 2}
test 2
\end{document}
父文件:
\documentclass[12pt,notitlepage]{report}
\usepackage{standalone}
\usepackage{import}
\begin{document}
\author{me}
\title{This is my document home parent.tex title}
\maketitle
\tableofcontents
\chapter{HWs}
now include the other document
\subimport{.}{child} %make sure no empty line after this
\end{document}
如果这就是您想要实现的目标。