解决 titlesec/nameref 冲突的办法对回忆录类不起作用?

解决 titlesec/nameref 冲突的办法对回忆录类不起作用?

有一个很好的方法可以解决titlesec/nameref冲突这里但我发现它不适用于回忆录课程。以下是我为该book课程编写的 MWE。

\documentclass{book}
% \documentclass{memoir}

\usepackage{titlesec}
\usepackage{hyperref}
\makeatletter
\newcommand\setcurrentname[1]{\def\@currentlabelname{#1}}
\newcommand{\labelledsection}[2]{\section*{#1}\setcurrentname{#1}\label{#2}}
\makeatother

\begin{document}

\chapter*{Unnumbered Chapter}\setcurrentname{Unnumbered Chapter}\label{chap:unnumbered}
\labelledsection{Unnumbered Section}{sec:unnumbered}
Check \nameref{sec:numbered}.

\chapter{Numbered Chapter} \label{chap:numbered}
\section{Numbered Section} \label{sec:numbered}
Check \nameref{sec:unnumbered}.

\end{document}

MWE 生成正确引用该部分的文本:

在此处输入图片描述

但如果我切换到该memoir课程,它会引用该章节吗?:

在此处输入图片描述

相关内容