使用回忆录,我如何编号段落?

使用回忆录,我如何编号段落?

我正在尝试使用 来实现段落编号memoir。我希望数字为

  1. 在外边缘,
  2. 与文本块齐平,并且
  3. 与段落第一行垂直对齐。

结合我在 Stack Exchange 上找到的各种代码,我得到了

\documentclass[12pt]{memoir}
\pagestyle{empty}

\usepackage{lipsum}

\strictpagecheck
\newcounter{PN}
\marginparmargin{outer}

%% ATTEMPT A
\newcommand{\pnum}{\addtocounter{PN}{1}\marginpar{\mpjustification\arabic{PN}}}

%% ATTEMPT B
%\newcommand{\pnum}{\addtocounter{PN}{1}\hspace{0pt}\marginpar{\mpjustification\arabic{PN}}}

\begin{document}

\pnum\lipsum[\value{PN}]

\pnum\lipsum[\value{PN}]

\end{document}

尝试 A 和尝试 B 都很接近。但是 A 将数字放得太高,以至于它们位于前一段的最后一行和当前段落的第一行之间,而 B 将数字放得太低,以至于它们位于当前段落的第一行和第二行之间。

任何建议,将不胜感激。

编辑:我对回复的回复

Mike Renfro 和 Gonzalo Medina 的建议都很有帮助(我标记了他们)。在我的实际文档中,我更改了章节标题的样式,出于某种原因,这会导致段落编号在每章的第一页上移动。(如果我不应用自定义章节样式,这个问题就会消失。)我最终选择了 Mike 的答案,因为它没有这个问题。感谢你们俩(和 lockstep)。另外,我不知道这个\stepcounter命令;这更优雅。

答案1

根据 Gonzalo 的答案,但使用memoir内置的边注功能(参见memoir手动的):

\documentclass[12pt]{memoir}
\pagestyle{empty}
\usepackage{lipsum}   
\newcounter{PN}
\sideparmargin{outer}   
\newcommand\pnum{%
  \stepcounter{PN}\sidepar{\arabic{PN}}}
\begin{document}
\pnum\lipsum[\value{PN}]
\pnum\lipsum[\value{PN}]
\end{document}

答案2

也许\marginnote使用marginnote包裹?

\documentclass[12pt]{memoir}
\pagestyle{empty}
\usepackage{marginnote}
\usepackage{lipsum}

\strictpagecheck
\newcounter{PN}
\marginparmargin{outer}

\newcommand\pnum{%
  \stepcounter{PN}\marginnote{\mpjustification\arabic{PN}}}

\begin{document}

\pnum\lipsum[\value{PN}]

\pnum\lipsum[\value{PN}]

\end{document}

在此处输入图片描述

如果你想要一些自动化的东西(在一定程度上),你可以使用\everypar

\documentclass[12pt]{memoir}
\usepackage{lipsum}

\newcounter{PN}
\marginparmargin{outer}

\reversemarginpar

\newcommand\countpar{%
    \everypar{\stepcounter{PN}\marginpar{\arabic{PN}}}%
}
\newcommand\mcountpar{%
    \stepcounter{PN}\marginpar{\arabic{PN}}%
}

\pagestyle{empty}

\begin{document}
\countpar
\lipsum[1-2]

\begin{enumerate}
\item \mbox{}\mcountpar\lipsum[2]
\end{enumerate}

\end{document}

\stepcounter{PN}\refstepcounter{PN}如果想交叉引用段落,可以改为(感谢步调一致指出这一点)。

相关内容