
У меня в документе есть приложение, на которое я хочу сослаться по его имени в тексте. Я использую \section*
здесь команду starred, потому что не хочу, чтобы приложение отображалось в оглавлении. Однако \nameref
просто вставляет пустое место там, где должно быть слово «Приложение».
Благодаря комментариям я теперь вижу, что проблема на самом деле в titlesec
пакете. Я хочу, чтобы мой раздел Appendix
отображался как ненумерованный элемент в TOC, но в то же время я хочу сделать там ссылку, \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
Поскольку этот вопрос возник, когда я искал ответы на тот же конфликт с использованием titlesec
, hyperref
и \section*{}
это требовало маркировки, я хотел бы поделиться обходным путем, который Ульрике Фишер опубликовал на форуме несколько лет спустя. Таким образом, этот вопрос будет связан с тем ответом и, следовательно, будет полезен всем.
Ульрике определила новую команду, которая может быть использована для дополнения помеченного раздела (и других), требующих метки. Вы можете найти ее ответ здесь:nameref не работает для ненумерованных разделов из-за titilesec и latexbangla.
Причину, по которой комбинация 'titlesec
с hyperref
/ nameref
не работает, объясняет Хайко Обердиек в этом вопросе:Конфликт с hyperref и titlesec.