LaTeX - 获取未编号子部分的名称

时间:2016-08-31 00:29:42

标签: latex tex

我正在写一个LaTeX文档,我需要一种方法来获取我所在的子部分的名称。我知道如何获得子部分的名称,只要它的编号,问题是我的子部分是“T

编号小节

\subsection{numbered}    
\Subsectionname %Will be "numbered"

然后您只需使用以下代码来获取子部分的名称:

\subsection{numbered}  
\subsection*{unnumbered}    
\Subsectionname %Will be "numbered"

未编号的部分

当我尝试执行以下操作时出现问题:

$sPath = 'music/favorite/*.mp3';

foreach (glob($sPath) AS $mp3) {
    print $mp3 . PHP_EOL;
}

我想知道是否有一种简单的方法来获取无编号小节的名称。

1 个答案:

答案 0 :(得分:2)

点击截面标记仅适用于编号为未编号截面单位的截面单位,不会更新任何标记。

下面我们点击\@startsection来捕捉第一个的分段单位的类型,之后我们将标题设置为\@sect的一部分 - 一个带编号的分段单位 - 或{ {1}} - 无数/星号组合单位。标题是在特定于单位的宏中捕获的:\@ssect\sectiontitle\section[*]\subsectiontitle等。

enter image description here

\subsection[*]

titleref提供了一个更容易的界面:

\documentclass{article}

\usepackage{etoolbox}
\makeatletter
\pretocmd{\@startsection}% <cmd>
  {\@namedef{@sectype}{#1}}% <pre>
  {}{}% <success><failure>
\patchcmd{\@sect}% <cmd>
  {\@xsect}% <search>
  {\@namedef{\@sectype title}{#8}\@xsect}% <replace>
  {}{}% <success><failure>
\patchcmd{\@ssect}% <cmd>
  {\@xsect}% <search>
  {\@namedef{\@sectype title}{#5}\@xsect}% <replace>
  {}{}% <success><failure>
\makeatother

\begin{document}

\section{A section}
Section name: \sectiontitle

\subsection{A subsection}
Subsection name: \subsectiontitle

\subsection*{Another subsection}
Subsection name: \subsectiontitle

\end{document}