如何更改尾注中章节标题的格式

如何更改尾注中章节标题的格式

pagenotes我在课堂上用过memoir一本书。以下是我认为相关的所有代码:

\let\pagenote=\endnote
\makeatletter
\renewcommand*\prenotetext{%
  \list{}{%
    \setlength\leftmargin{2.3em}%
    \setlength\topsep{-\baselineskip}}
  \item}
\renewcommand*\postnotetext{\endlist\bigskip\medskip}
\makeatother

\renewcommand*\idtextinnotes[1]{#1.\vspace*{-\baselineskip}}
\renewcommand*\notenuminnotes[1]{#1.\vspace*{-\baselineskip}}
\makepagenote

\renewcommand\enoteheading{\chapter {\notesname}%
  \mbox{}\par\vskip-\baselineskip}
\renewcommand\enoteformat{\noindent\theenmark.\hspace{5pt}}
\renewcommand\notesname{Notes}

% Section title
\usepackage{titlesec}
\titleformat{\section}{\large\uppercase}{\thesection}{1em}{}

然后,最后我补充一点:

\printpagenotes*

它很好地打印出按章节划分的编号节点列表,格式正确。现在我的问题是,如何更改尾注中章节标题的格式?

例如,现在显示:第一章 当今失业率

我希望它是:第一章 - 当今的失业问题

谢谢!

答案1

您可以重新定义\pagenotesubhead编号章节,如下所示

\renewcommand*{\pagenotesubhead}[3]{\section*{#1 #2\ -\ #3}}

对于\pagenotesubheadstarred未编号的章节,

\renewcommand*{\pagenotesubheadstarred}[3]{\section*{#3}}

完整示例:

\documentclass{memoir}
\usepackage{endnotes}
\let\pagenote=\endnote
\makeatletter
\renewcommand*\prenotetext{%
  \list{}{%
    \setlength\leftmargin{2.3em}%
    \setlength\topsep{-\baselineskip}}
  \item}
\renewcommand*\postnotetext{\endlist\bigskip\medskip}
\makeatother

\renewcommand*\idtextinnotes[1]{#1.\vspace*{-\baselineskip}}
\renewcommand*\notenuminnotes[1]{#1.\vspace*{-\baselineskip}}
\makepagenote

\renewcommand\enoteheading{\chapter {\notesname}%
  \mbox{}\par\vskip-\baselineskip}
\renewcommand\enoteformat{\noindent\theenmark.\hspace{5pt}}
\renewcommand\notesname{Notes}

% Section title
\setsecheadstyle{\large\uppercase}

\renewcommand*{\pagenotesubhead}[3]{\section*{#1 #2\ --\ #3}}
\renewcommand*{\pagenotesubheadstarred}[3]{\section*{#3}}

\begin{document}

\chapter{Unemployment Today}
\pagenote[a]{test}
\chapter*{Unemployment Yesterday}
\pagenote[b]{test}

\printpagenotes*
\end{document}

在此处输入图片描述

顺便说一句,使用titlesecmemoir关于 memoir 和 titlesec 不兼容);memoir为您提供了内置机制来自定义分段单位格式,因此无需

\usepackage{titlesec}
\titleformat{\section}{\large\uppercase}{\thesection}{1em}{}

最好使用

\setsecheadstyle{\large\uppercase}

正如我在示例代码中所做的那样。

相关内容