我正在用该memoir
软件包写一本非小说类书籍。
我已经玩了很多次了,我必须说我对彼得·威尔逊的指南。
Pagenotes
非常棒,因为它们允许我将所有注释都放在书的末尾,按章节划分,并进行连续编号。
但有一件事我似乎找不到:如何更改尾注中多行的缩进(以便第二行和连续行的文本与第一行的文本对齐,而不是与注释编号对齐)。
使用正常的脚注我可以这样做:
\documentclass{article}
\usepackage[english]{babel}
\usepackage{blindtext}
\usepackage{scrextend}
\deffootnote[1em]{1.5em}{1em}{\textsuperscript{\thefootnotemark}}
\begin{document}
\blindtext\footnote{\blindtext}
\end{document}
如何使用 pagenotes 实现相同的效果?
答案1
更新答案:
我的第一个替代想法是设置\hangindent
为一个合适的值,但既然你提到笔记中有列表,我建议使用列表进行格式化。不过,这似乎有点即兴:
\documentclass{memoir}
\usepackage{lipsum}
\makeatletter
\renewcommand*\prenotetext{%
\list{}{%
\setlength\leftmargin{2.5em}%
\setlength\topsep{-\baselineskip}}
\item}
\renewcommand*\postnotetext{\endlist\bigskip\medskip}
\makeatother
\renewcommand*\idtextinnotes[1]{#1.\vspace*{-\baselineskip}}
\renewcommand*\notenuminnotes[1]{#1.\vspace*{-\baselineskip}}
\makepagenote
\begin{document}
\chapter{One}
This is some arbitrary\pagenote{%
\lipsum[1]
\begin{itemize}
\item bla
\item blub
\end{itemize}
\lipsum[2]} text.
This is some arbitrary\pagenote[123]{\lipsum[1-2]} text.
\printpagenotes*
\end{document}
原始答案:
您指的是这样的吗?不过,这会阻止笔记中的分页符...
\documentclass{memoir}
\usepackage{lipsum}
% redefine \prenotetext and \postnotetext:
\renewcommand*\prenotetext{\hfill\begin{minipage}[t]{\dimexpr\linewidth-2.5em}}
\renewcommand*\postnotetext{\end{minipage}\medskip}
% only that we can see how large note numbers look:
\renewcommand*\idtextinnotes[1]{#1.\space}
\makepagenote
\begin{document}
\chapter{One}
This is some arbitrary\pagenote{\lipsum[1]} text.
This is some arbitrary\pagenote[123]{\lipsum[1]} text.
\printpagenotes*
\end{document}
答案2
略有不同的方法,仅供后人参考。我的标准是:
- 每项内容都以页码开头,并在固定位置右对齐。
- 如果注释出现在脚注中,则页码后面是脚注编号,格式为上标。
- 脚注编号(如果有)位于左对齐框中;换句话说,脚注编号占用页码和页面注释文本之间固定间距的可变部分。
- 第一段未缩进;其他段落均缩进。
\noindent
后一个要求很容易满足,只需在重新定义的 内放置 即可\prenoteinnotes
。我最初在那里使用了\hangindent
,但当然,这并没有为诸如(有点罕见的)附加段落、项目符号列表等提供适当的缩进。然后我尝试通过\adjustwidth
只换行文本来解决这个问题,但由于我不明白的原因,结果很糟糕。我的最终解决方案是将每个项目中的所有内容换行\adjustwidth
,同时将项目文本前面的框推回到其原始左边距,并使用负数\hspace
。相关部分(提供未显示/描述的页码/脚注编号的手段)如下所示:
\renewcommand{\prenoteinnotes}{%
\small\par\noindent%
}%
\renewcommand{\noteidinnotes}[2]{% {notenum}{id}
\begin{adjustwidth}{33pt}{0pt}%
\hspace{-33pt}\makebox[30pt][l]{%
\makebox[16pt][r]{\pageref{#2}}%
\makebox[14pt][l]{\ifnum#1>0\textsuperscript{#1}\fi%
}%
}%
}%
\renewcommand{\pageinnotes}[1]{}%
\renewcommand{\postnotetext}{%
\end{adjustwidth}%
}%
\renewcommand{\postnoteinnotes}{\par}%
这似乎可以处理迄今为止我遇到的几百个案例,最终看起来像这样: