对于我的回忆录文档,我希望有一个相当大的外边距。这会产生副作用,导致部分页面上的文本离书脊很远 - 我想要补救这一点。
我曾尝试使用 memoir 的\adjustwidth*
- 功能。这可以很好地将文本居中,但会产生不良影响,即弄乱标签/引用。重新定义后,调用\Pref
只会打印Part
,没有数字。
居中,但标签损坏。
不居中,工作标签。
MWE(评论第 14 和 15 条,查看非中心但标签有效)
\documentclass[twoside,openany]{memoir}
\usepackage{lipsum}
% Margins
\sideparmargin{outer}
\setlrmargins{*}{*}{2.55}
\checkandfixthelayout
% Length for centering
\newlength{\mylength} % calcualted at start of document. Used for centering stuff on the page.
%Redefine beofre/after partskip to get centering
\renewcommand*{\beforepartskip}{\vspace*{0.21\textheight}\begin{adjustwidth*}{\mylength}{-\mylength}}
\renewcommand*{\afterpartskip}{\end{adjustwidth*}\vfil} %\newpage
\begin{document}
\calccentering{\mylength}
\part{First}
\label{part:first}
\chapter{Oh, no!}
\label{chap:ohno}
\lipsum
\part{Second}
\chapter{Haha}
A reference to \Pref{part:first}, \Cref{chap:ohno}
\end{document}
答案1
编辑
删除对我来说,问题似乎\label
在于它发生在adjustwidth
环境中,尽管我不知道为什么这会成为一个问题。结束删除
我不明白为什么会有这个问题。正如我已故的岳父常说的:“这是一个谜,伙计!”
part
但是,如果你将部件标签放在宏的参数中,一切似乎都有效。例如
\part{First\label{part:first}}
代替
\part{First}
\label{part:first}
% mempartprob.tex SE 638733
\documentclass[twoside,openany]{memoir}
\usepackage{comment}
\usepackage{lipsum}
% Margins
\sideparmargin{outer}
\setlrmargins{*}{*}{2.55}
\checkandfixthelayout
% Length for centering
\newlength{\mylength} % calcualted at start of document. Used for centering stuff on the page.
%Redefine beofre/after partskip to get centering
\renewcommand*{\beforepartskip}{\vspace*{0.21\textheight}\begin{adjustwidth*}{\mylength}{-\mylength}}
\renewcommand*{\afterpartskip}{\end{adjustwidth*}}%\vfil} %\newpage
\begin{document}
\calccentering{\mylength}
\tableofcontents
\part{First\label{part:first}}
%\label{part:first}
\chapter{Oh, no!}
\label{chap:ohno}
\lipsum[1]
\section{But yes}
\lipsum[2]
\part{Second%}
\label{part:second}}
\chapter{Haha}
A reference to \Pref{part:first}, \Cref{chap:ohno}
This is part \ref{part:second} which was preceeded by a \verb!\section!
\end{document}