我需要将一个对齐的段落居中,占文本总宽度的 80%,同时保持与底层基线网格完美对齐。
我可以获得所需的大小和居中,但无法与底层网格对齐。
参见下面的 MWE。我需要让第二个样本与第一个样本完全对齐到网格。
这是我目前所拥有的:
\documentclass[12pt]{report}
\usepackage{vgrid}
\begin{document}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam non
vulputate neque, sit amet dictum dolor. Vestibulum auctor ante nec arcu
faucibus lacinia. Curabitur interdum rhoncus magna feugiat dapibus. Nulla
ac metus quis felis gravida placerat. Aliquam dignissim magna id nibh
bibendum dignissim.
{\centering
\begin{minipage}{.8\textwidth}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam non
vulputate neque, sit amet dictum dolor. Vestibulum auctor ante nec arcu
faucibus lacinia. Curabitur interdum rhoncus magna feugiat dapibus. Nulla
ac metus quis felis gravida placerat. Aliquam dignissim magna id nibh
bibendum dignissim.
\end{minipage}
\par}
\end{document}
得出以下结论:
如何才能使一个宽度为 80% 的段落居中,同时保持完美的网格对齐?
答案1
使用@egreg 的回答(所有荣誉都归于他,但是这篇文章太长了,无法发表评论):
您可以按如下方式定义minipage*
环境,它不会弄乱您的垂直网格:
\newenvironment{minipage*}[2][t]
{\minipage[#1]{#2}}
{\par\xdef\tpd{\the\prevdepth}\endminipage\par\prevdepth\tpd}
做不是重新定义原始minipage
环境,因为它会干扰使用它的其他包。
答案2
还有另一种无需“脱离网格”即可管理缩进边距的方法。
缩进组末尾的空行可以用 来替换\par
。请记住,对“传入”文本格式的修改直到下一个段落结束才会生效。
\documentclass[12pt]{report}
\usepackage{vgrid}
\begin{document}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam non
vulputate neque, sit amet dictum dolor. Vestibulum auctor ante nec arcu
faucibus lacinia. Curabitur interdum rhoncus magna feugiat dapibus. Nulla
ac metus quis felis gravida placerat. Aliquam dignissim magna id nibh
bibendum dignissim.
\begingroup
\setlength{\leftskip}{.1\textwidth}
\setlength{\rightskip}{\leftskip}
\noindent
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam non
vulputate neque, sit amet dictum dolor. Vestibulum auctor ante nec arcu
faucibus lacinia. Curabitur interdum rhoncus magna feugiat dapibus. Nulla
ac metus quis felis gravida placerat. Aliquam dignissim magna id nibh
bibendum dignissim.
\endgroup
\end{document}
答案3
如果允许临时解决方案......
从代码结果可以看出,\baselineskip
12 pt 字体等于 14.5 pt。因此,在本地添加差异可以解决问题。
\documentclass[12pt]{report}
\usepackage{vgrid}
\begin{document}
\the\baselineskip
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam non
vulputate neque, sit amet dictum dolor. Vestibulum auctor ante nec arcu
faucibus lacinia. Curabitur interdum rhoncus magna feugiat dapibus. Nulla
ac metus quis felis gravida placerat. Aliquam dignissim magna id nibh
bibendum dignissim.
{\centering\vspace{2.5pt}
\begin{minipage}{.8\textwidth}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam non
vulputate neque, sit amet dictum dolor. Vestibulum auctor ante nec arcu
faucibus lacinia. Curabitur interdum rhoncus magna feugiat dapibus. Nulla
ac metus quis felis gravida placerat. Aliquam dignissim magna id nibh
bibendum dignissim.
\end{minipage}
\par}
\end{document}