我有以下代码;这是一个相当但不是完全最小化的设置,用于接近我的真实世界场景的 XeLaTeX(有些奇怪的具体数字来自设计决定使用 7mm 网格,一些项目占用 14mm,并且普通文本每两个网格行占据三行,这使得它们的高度为 2 * 7 / 3 = 4.667mm。无论如何,可见的背景网格都设置为这个结果行高。我使用它,fixltx2e
因为我听说它可以解决“LaTeX 处理长度的方式的一些问题”。\lineskiplimit
、\lineskip
和\topskip
设置是什么应该使线条保持网格:
\documentclass[a4paper,twoside]{memoir}
\usepackage{leading}
\usepackage{polyglossia}
\setdefaultlanguage{english}
\usepackage{fixltx2e}
\usepackage[
% asymmetric,% see http://tex.stackexchange.com/a/42051/28067
driver=xetex,
showframe,%
left=14mm,%
right=14mm,%
top=14mm,%
headsep=0mm,%
headheight=0mm,%
bottom=14mm,%
footskip=0mm,%
marginparsep=0mm,%
marginparwidth=0mm,%
includehead=false,%
includefoot=false,%
includemp=false,%
paperwidth=70mm,%
paperheight=70mm,%
]{geometry}
\setmainfont[Mapping=tex-text]{EB Garamond 12 Regular}
\newdimen\myLineheight
\newdimen\myFontsize
\myFontsize=3.5mm
\myLineheight=4.6667mm
\fontsize{\myFontsize}{\myLineheight}
%\leading{\myLineheight}%
\setlength{\baselineskip}{\myLineheight}
\setlength{\parskip}{0mm}
\setlength{\parindent}{0mm}
% % thx to http://www.tug.org/TUGboat/tb28-1/tb88bazargan.pdf for the next:
\lineskiplimit=-10pt%
\lineskip=0pt%
\topskip=\baselineskip%
\pagestyle{empty}
\usepackage{pagegrid}
\pagegridsetup{top-left,step=\myLineheight,arrows=false}
\begin{document}
helo
x x x x x x x x x x x x x x x x
x x x x x x x x x x x x x x x x
x x x x x x x x x x x x x x x x
x x x x x x x x x x x x x x x x
x x x x x x x x x x x x x x x x
x x x x x x x x x x x x x x x x
x x x x x x x x x x x x x x x x
x x x x x x x x x x x x x x x x
x x x x x x x x x x x x x x x x
x x x x x x x x x x x x x x x x
x x x x x x x x x x x x x x x x
x x x x x x x x x x x x x x x x
\end{document}
然而,这是我得到的:
我发现我确实通过使用获得了预期的输出
\usepackage[fontsize=\myFontsize,baseline=\myLineheight,lines=9]{grid}
但我还是很想知道我的 MWE 缺少什么或者错误什么?
更新可接受的解决方案有效——\fontsize{\myFontsize}{\myLineheight}\selectfont
应该放在文档主体内,而不是序言中。话虽如此,最后一行仍然缺失;显然,LaTeX 认为可用空间不够高。使用grid
上面提到的包可以解决这个问题。
答案1
你想要(至少)
\begin{document}
\fontsize{\myFontsize}{\myLineheight}\selectfont
因为\fontsize
没有它\selectfont
不会改变字体或基线,而\begin{document}
乳胶会改变(它设置 12pt 基线跳过,就像您在序言中\normalsize
设置的那样,但没有改变默认的基线跳过或字体大小)。\baselineskip