我希望能够用星号标记章节/部分/...(即“困难/可选材料”),但我认为“*”仅作为装饰,它不应影响参考文献(如果第 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 在内的简短测试似乎运行良好。