\nameref 不适用于带星号的部分

\nameref 不适用于带星号的部分

我的文档中有一个附录,我想在正文中引用它的名称。我\section*在这里使用带星号的命令,因为我不想让附录出现在目录中。但是,\nameref只需在“附录”一词应该出现的位置留出一个空白即可。


感谢评论,我现在明白问题实际上是包titlesec。我希望我的部分Appendix在目录中显示为非编号项,但同时,我希望按照\nameref上述说明进行引用。所以我编辑了我的示例,现在看起来像这样:

\documentclass[11pt, oneside, a4paper]{article}
\usepackage{titlesec}
    \titleformat{\section}{\normalfont\LARGE\bfseries}{\thesection}{1em}{}
    \titleformat{\subsection}{\normalfont\Large\bfseries}{\thesubsection}{1em}{}
    \titleformat{\subsubsection}{\normalfont\large\bfseries}{\thesubsubsection}{1em}{}
    \titleformat{\paragraph}[runin]{\normalfont\large\bfseries}{\theparagraph}{1em}{}
\usepackage[hidelinks]{hyperref}
\usepackage{nameref}
\newcommand{\sectionbreak}{\clearpage}

\begin{document}
    
\tableofcontents  % added this line
    
\section{Section 1}
\label{sec:section_1}

All that can be seen in the \nameref{sec:appendix}.

\section*{Appendix}
\label{sec:appendix}
\addcontentsline{toc}{section}{Appendix}    % added this line

Here comes the appendix.
\end{document}

答案1

由于这个问题是在我使用 寻找相同冲突的答案时出现的titlesechyperref并且\section*{}需要标记,所以我想分享 Ulrike Fisher 几年后在论坛上发布的解决方法。因此,这个问题将与该答案交叉链接,从而对所有人都有益。

Ulrike 定义了一个新命令,可用于扩充需要标签的星号部分(和其他部分)。您可以在这里找到她的答案:由于 titilesec 和 latexbangla,nameref 不适用于未编号部分

'titlesechyperref/结合的原因是namerefHeiko Oberdiek 在这个问题中解释了与 hyperref 和 titlesec 冲突

相关内容