我正在嘗試使用 來實現段落編號memoir
。我希望這些數字是
- 在外邊距中,
- 與文字區塊齊平,並且
- 與段落的第一行垂直對齊。
結合我在 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 的建議很有幫助(我也這樣標記了它們)。在我的實際文件中,我更改了章節標題的樣式,由於某種原因,這會導致每章首頁上的段落編號發生移動。 (如果我不應用自訂章節樣式,這個問題就會消失。)我最終選擇了麥克的答案,因為它不存在這個問題。感謝你們兩位(以及步調一致)。另外,我不知道這個\stepcounter
命令;那更優雅。
答案1
根據 Gonzalo 的答案進行工作,但使用 的memoir
內建邊注功能(請參閱第 12.3 節)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}
如果想要交叉引用段落,可以改為(感謝步調一致指出這一點)。