重新格式化回忆录中的尾注

重新格式化回忆录中的尾注

我对 TeX 还很陌生,希望您能够帮助我。

我使用“memoir”类并使用 \makepagenote 和 \notepageref 来引用尾注。使用这两个命令,可以得到以下页面注释:

\pagenote[当我写下这个时...]{它指的是这个引文。}

结果是这样的:

[当我写这篇文章时...](第 x 页)它指的是这个引用。

我想稍微重新配置它,以便它看起来像这样:

X:当我写这篇文章时...它引用了此引文。

因此,这意味着需要进行三项调整:

  1. 将页码移动到结束注释的开头。
  2. 删除“page”一词,并将页码周围的括号替换为页码后的单个冒号。
  3. 将参考文本加粗并删除其周围的方括号。

(此外,作为奖励,如果有办法让它在每个引用后添加两个换行符,那就太好了!现在,我正在手动在每个引用的末尾添加 \*,但如果不必这样做就更好了。)

非常感谢您的帮助!非常感谢!

答案1

除非我误解了你的问题,否则这就可以实现你想要的效果。

  • 首先,我们改变 \startnoteentrystart 的排版内容方式,从而将页面引用移到前面。
  • 接下来我们重新定义三个格式化宏
  • 至于你的奖金,可以通过以下方式获得\postnoteinnotes

例子:

\documentclass[a4paper]{memoir}
\makepagenote
\notepageref
\makeatletter
\renewcommand\startnoteentrystart[4]{%
  \prenoteinnotes%
  \pageinnotes{#3}%<-- moved this up
  \noteidinnotes{#1}{#2}%
  \@ifmtarg{#2}{\phantomsection\def\@currentlabel{#1}}{}%
  \pagenoteanchor{#4}%
  \prenotetext%
}
\makeatother
\renewcommand{\idtextinnotes}[1]{\textbf{#1}\space}
\renewcommand*{\printpageinnotes}[1]{\pageref{#1}:\space}
% just if hyperref is used
\renewcommand\printpageinnoteshyperref[1]{\pageref{#1}:\space}
\renewcommand{\postnoteinnotes}{\par\bigskip}

\begin{document}

test\pagenote[When I wrote this...]{It refers to this citation.}
test\pagenote[Something else...]{Some text}


\printpagenotes


\end{document}

相关内容