我可以使用 删除章节编号\section*{My Title for the Section}
。
\nameref
我可以使用 来提供可选标题\section[Section Title]{My Title for the Section}
。
但我似乎无法将它们结合起来:
\section*[Section Title]{My Title for the Section}
\section[Section Title]*{My Title for the Section}
两者都破坏了一些东西:
如何为某个部分提供替代标题和禁止编号?
我想要的一个最小工作示例是:
\section*[Section Title]{My Title for the Section}
\label{sec:title}
Referring to the \nameref{sec:title} section.
生产
参照章节标题部分。
答案1
您可以使用\addcontentsline
将简称添加到目录。
我认为您可以修改\@currentlabelname
以设置短标题而不是长标题。
我还利用这个创建了一个宏沃纳的帖子。
\documentclass{book}
\usepackage{hyperref}
\makeatletter
\newcommand{\mysection}[2][\@empty]{%
\section*{#2}
\addcontentsline{toc}{section}{\ifx\@empty#1\relax#2\else#1\fi}
\def\@currentlabelname{\ifx\@empty#1\relax#2\else#1\fi}}
\makeatother
\begin{document}
\tableofcontents
\mysection[Short title]{Long title}\label{sec:title}
A section without number with a long title and a short one.
\mysection{No need short title}\label{sec:anothertitle}
A section without number with one title only.
\section{Normal section}
Name reference to the short title of the first section: \nameref{sec:title}.
Name reference
to the title of the second section: \nameref{sec:anothertitle}.
\end{document}