2016-08-31 24 views
1

我正在寫一個LaTeX文檔,我需要一種方法來獲取我所在的子部分的名稱。只要知道如何獲取子部分的名稱,編號,問題是我的小節不是。LaTeX - 獲取無編號的子部分的名稱

編號分段

\let\Subsectionmark\subsectionmark 
\def\subsectionmark#1{\def\Subsectionname{#1}\Subsectionmark{#1}} 

然後你只需要使用下面的代碼來獲取你的款的名字:

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

借用部分

我的問題當我嘗試執行以下操作時:

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

我想知道是否有一個簡單的方法來獲取無編號的小節的名稱。

+0

看到的是https ://tex.stackexchange.com/questions/75168/get-current-section-name-without-label – Robert

回答

2

敲入部分標記僅適用於編號爲未編號的部分單位的部分單位不更新任何標記。

下面我們打入\@startsection捕獲截面單元第一,之後我們設置的標題的\@sect零件的類型 - 一個編號的剖單元 - 或\@ssect - 無編號/出演截面單元。用於\section[*]\subsectiontitle\subsection[*]\sectiontitle

enter image description here

\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} 

titleref提供了一個更容易介面::標題被捕獲在一個單元特定的宏

\documentclass{article} 

% https://tex.stackexchange.com/q/75168/5764 
\usepackage{titleref} 
\makeatletter 
\newcommand*{\currentname}{\[email protected]} 
\makeatother 

\begin{document} 

\section{A section} 
Section name: \currentname 

\subsection{A subsection} 
Subsection name: \currentname 

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

\end{document}