在 \newcommand 中使用结构命令-结构混乱?

在 \newcommand 中使用结构命令-结构混乱?

在 中使用诸如 、 等\chapter结构\section化命令是否会破坏文档的结构?我在 块内有一个,并且使用该新命令无法正常工作。\subsection\newcommand\section*{...}\newcommand

在 Texmaker 中,当我使用结构视图浏览文档时,单击树中的相应节点会将焦点移动到块\section内的命令\newcommand,而不是实际应通过在文档的不同位置使用自定义命令生成的命令。我知道这很复杂。

我希望您能明白我的意思。我必须做什么才能让自定义命令生成正确的文档结构?

//编辑:这是我的问题的一个例子:

\documentclass[a4paper,10pt]{report}

\newcommand{\sectionexample}[2]{
    \section*{#1}
    This is an Example of what I think is not working...
    #2
}

\begin{document}
    \tableofcontents
    \sectionexample{Test}{Hello World!}
\end{document}

除了 \tableofcontents 中缺少章节标题之外,这会生成正确的输出。

答案1

就目录中的插入而言,有些类别不区分和\section。例如,AMS 类别就是这样的。\section*

相反,标准 LaTeX 类和 KoMa-Script 类不会自动在目录中插入带星号的分段命令。

如果你使用标准类之一,例如report,或基于它们的类,你必须“手动”进行插入。因为report它应该是

\providecommand{\phantomsection}{}
\newcommand{\sectionexample}[2]{%
    \section*{#1}
    \phantomsection
    \addcontentsline{toc}{section}{#1}%
    This is an Example of what I think is not working...
    #2
}

\phantomsection如果您打算使用,则需要该位hyperref

通过scrreprt课程你可以

\newcommand{\sectionexample}[2]{%
    \addsec{#1}
    This is an Example of what I think is not working...
    #2
}

这并不需要技巧,以防hyperref万一。

请注意,这可能会欺骗 Texmaker 显示文档正确树结构的能力。但这与 LaTeX 无关。

相关内容