回忆录:在标题和目录中用星号装饰章节/部分/...,但不使用 \ref{}

回忆录:在标题和目录中用星号装饰章节/部分/...,但不使用 \ref{}

我希望能够用星号标记章节/部分/...(即“困难/可选材料”),但我认为“*”仅作为装饰,它不应影响参考文献(如果第 1 章是可选的,则会在标题和目录中标记为可选,但对于参考文献来说仍然只是第 1 章)。

使用 xparse 的解决方案问题 450666这里与我要查找的内容非常接近,但 \ref{opt} 生成的是“*1.2”,我想要的是简单的“1.2”。而且我想要扩展到章节/节/小节/...(我认为一旦基本机制得到解决,这应该很容易)。

更新:该问题引用的部分解决方案(由@egreg提供)是:

\documentclass{memoir}

\usepackage{xparse}
\usepackage{kantlipsum}

\NewDocumentCommand{\optionalsection}{O{#3}om}{%
\renewcommand{\thesection}{\optasterisk\standardthesection}%
   \optzerotrue
   \IfNoValueTF{#2}{\section[#1]{#3}}{\section[#1][#2]{#3}}%
   \optzerofalse
   \renewcommand{\thesection}{\standardthesection}%
}
\AtBeginDocument{\let\standardthesection\thesection}

\NewDocumentCommand{\optasterisk}{}{%
   \ifoptzero\makebox[0pt][r]{*}\else*\fi
}
\newif\ifoptzero

\begin{document}

   \frontmatter

   \optzerotrue
   \tableofcontents*
   \optzerofalse

   \mainmatter
   \chapter{Test}

   \section[TOC title][Header title]{Main title}

   \optionalsection[TOC title opt][Header title opt]{Main title opt}\label{opt}

   This is a reference to \ref{opt}.

   \kant % to see the header title

   \end{document}

我想将其扩展到 \chapter、\subsection 等(我相信这应该很容易管理)。但我希望参考文献以“*”显示,仅显示标题和目录。

正如评论所说,是的,我确实需要 hyperref。这是数学密集型文本,还加载了几个 ams 包。无论如何,我认为我可以修复由此产生的任何后果;如果不行,我会回到这里 ;-)

包括 hyperref 在内的简短测试似乎运行良好。

相关内容