使用新环境降级未编号部分不适用于子文件

使用新环境降级未编号部分不适用于子文件

我正在尝试导出特克斯使用子文件进入主特克斯文件。主文件和子文件. 进口子文件是附录。降级部分工作文件,但未编号部分则不行。
我如何才能将未编号部分降级,以便将其作为子部分反映在目录中?
限制在于我可以影响子文件导入之前的结构主文本文件;就像我所做的那样降级环境。
任何想法/解决方案/想法等。
感谢您的关注。
请参阅下面的代码:
main.tex

\documentclass{article}
\usepackage{subfiles}
\setcounter{secnumdepth}{5}
\setcounter{tocdepth}{5}

\begin{document}
\tableofcontents
\title{Doc1}
\author{Author1}

\maketitle

\section*{Summary Doc}
\addcontentsline{toc}{section}{Summary Doc}
\section{Doc 1 section}
Text
\subsection{Doc 1 subsection}
Text
\subsubsection{Doc 1 subsubsection}
Text
\paragraph{Doc 1 paragraph}
Text
\subparagraph{Doc 1 subparagraph}
Text
\section{Appendix}

\newenvironment{leveldown}% Demote sectional commands
  {\let\section\subsection%
   \let\subsection\subsubsection%
   \let\subsubsection\paragraph%
   \let\paragraph\subparagraph%
   %\let\subparagraph\relax%
  }{}
\begin{leveldown}
    subfile{doc2}
\end{leveldown}


\end{document}

doc2.tex 文件

\documentclass{article}
\usepackage{subfiles}
\setcounter{secnumdepth}{5}
\setcounter{tocdepth}{5}

\begin{document}
\tableofcontents
\title{Doc1}
\author{Author1}

\maketitle

\section*{Summary Doc}
\addcontentsline{toc}{section}{Summary Doc}
\section{Doc 2 section}
Text
\subsection{Doc 2 subsection}
Text
\subsubsection{Doc 2 subsubsection}
Text
\paragraph{Doc 2 paragraph}
Text
\subparagraph{Doc 2 subparagraph}
Text
\section{Appendix}


\end{document}

答案1

我不确定我是否已经完全理解了这些限制,但这是第一次尝试,作为讨论的基础

  • 将定义放入主文件的前言中,以使子文件可以访问它们。
\documentclass{article}
\usepackage{subfiles}
\setcounter{secnumdepth}{5}
\setcounter{tocdepth}{5}
\let\myaddcontentsline\addcontentsline
\newenvironment{leveldown}% Demote sectional commands
  {\let\section\subsection
   \let\subsection\subsubsection
   \let\subsubsection\paragraph
   \let\paragraph\subparagraph
   % \let\subparagraph\relax%
   \let\tableofcontents\relax
   \let\origaddcontentsline\addcontentsline
   \renewcommand\myaddcontentsline[3]{\addcontentsline{##1}{sub##2}{##3}}%
  }{}
\title{Doc1}
\author{Author1}
\begin{document}
\tableofcontents
\maketitle
  • 以下列命令开始子文件
\documentclass[main]{subfiles}
\title{Doc2}
\author{Author2}
\begin{document}
\tableofcontents
\maketitle

下面的示例代码生成以下文档。

在此处输入图片描述

在此处输入图片描述

% main.tex
\documentclass{article}
\usepackage{subfiles}
\setcounter{secnumdepth}{5}
\setcounter{tocdepth}{5}
\let\myaddcontentsline\addcontentsline
\newenvironment{leveldown}% Demote sectional commands
  {\let\section\subsection
   \let\subsection\subsubsection
   \let\subsubsection\paragraph
   \let\paragraph\subparagraph
   % \let\subparagraph\relax%
   \let\tableofcontents\relax
   \let\maketitle\relax
   \let\origaddcontentsline\addcontentsline
   \renewcommand\myaddcontentsline[3]{\addcontentsline{##1}{sub##2}{##3}}%
  }{}
\title{Doc1}
\author{Author1}
\begin{document}
\tableofcontents
\maketitle

\section*{Summary Doc}
\myaddcontentsline{toc}{section}{Summary Doc}
\section{Doc 1 section}
Text
\subsection{Doc 1 subsection}
Text
\subsubsection{Doc 1 subsubsection}
Text
\paragraph{Doc 1 paragraph}
Text
\subparagraph{Doc 1 subparagraph}
Text
\section{Appendix}

\begin{leveldown}
    \subfile{doc2}
\end{leveldown}
\end{document}

% doc2.tex
\documentclass[main]{subfiles}
\title{Doc2}
\author{Author2}
\begin{document}
\tableofcontents
\maketitle

\section*{Summary Doc2}
\myaddcontentsline{toc}{section}{Summary Doc}
\section{Doc 2 section}
Text
\subsection{Doc 2 subsection}
Text
\subsubsection{Doc 2 subsubsection}
Text
\paragraph{Doc 2 paragraph}
Text
\subparagraph{Doc 2 subparagraph}
Text
\section{Appendix}
\end{document}

答案2

非常感谢 Gernot - 非常感谢。
限制在于,无论包含什么,主文本也应该在doc2.tex因为它们具有相同的格式(即 Latex 嵌入),但书写内容不同。因此,主文本也应该在doc2.texIE

\let\myaddcontentsline\addcontentsline
\newenvironment{leveldown}% Demote sectional commands
  {\let\section\subsection
   \let\subsection\subsubsection
   \let\subsubsection\paragraph
   \let\paragraph\subparagraph
   % \let\subparagraph\relax%
   \let\tableofcontents\relax
   \let\origaddcontentsline\addcontentsline
   \renewcommand\myaddcontentsline[3]{\addcontentsline{##1}{sub##2}{##3}}%
  }{}

但是,有没有办法向文档发送一个标志,如果这是附录,则在序言中停用该块,但在最后时保持它处于打开状态?主文本
发送标记只是一个例子,但可能还有其他方法,因为我的 Latex 编程技能很差。
希望您明白我的意思。

相关内容