我记得很久以前就学过如何做到这一点,但现在我不明白该怎么做。
而谷歌搜索却没有任何变化。
我有一个独立的乳胶文件,以 开头,subsection
因为该文件是更大文档的一部分,该文件将使用独立包捆绑成一个大文档。
但是当我单独构建这个特定文件时,我希望subsection
变成section
并且subsubsection
变成subsection
。这是我尝试的
\documentclass[11pt,titlepage]{article}%
\usepackage{standalone}
\standalonetrue
\ifstandalone %building this as standalone?
\renewcommand{\subsection}{\section}
\renewcommand{\subsubsection}{\subsection}
\fi
\begin{document}
\subsection{Problem 1} %this should become \section when standalone
\subsubsection{Part a} %this should become \subsection when standalone
A
\subsubsection{Part b}
B
\end{document}
但是当我使用 编译上述内容lualatex
时,和 都subsection
变成subsubsection
了section
。
我也试过
\ifstandalone
\let\subsection\section
\let\subsubsection\subsection
\fi
同样的结果。
正确的做法是什么?修复只能在前言部分,如上所示,后面的部分则不需要。\begin{document}
使用 TL 2018
答案1
\renewcommand
不应该起作用,因为它会扩展为最终使用时的内容(即,当您使用文档中的命令时,所有内容都会重新定义为部分)。 \let
将左侧更改为当时右侧的内容。使用
\let\subsection\section
\let\subsubsection\subsection
\subsection
变成\section
,然后\subsubsection
变成\subsection
(你刚刚将其变为\section
)。它应该可以反转 s \let
:
\let\subsubsection\subsection
\let\subsection\section
则\subsubsection
获得与 相同的定义\subsection
,并\subsection
获得与 相同的定义\section
。
但为什么不呢
\ifstandalone
\section{dummy section title}
\fi
而不是重新定义?