编辑

编辑

我有 2 列文本,大多数文本为常规尺寸,少数段落为较小尺寸。我希望行距(大致)均匀 - 左侧尺寸的每一行都与右侧尺寸的行匹配,即使它们的尺寸不同。

请参阅此截图: 截屏

前 4 个红色标记与相同文本大小的行匹配,并且行距与行成比例。

然而,随着下一个红色标记的出现,我们看到线条开始变得遥远。

可以通过在段落前添加(不是精确值)并在之后返回常规行扩展来改进它\linespread{1.2}- 但我不喜欢这个解决方案。一定有更好的方法......

这是我的代码:

\documentclass{book}

\usepackage{parskip}
\usepackage{multicol}

\newcommand{\bigA}[1]{\textbf{\large{#1}}}
\newcommand{\regularA}[1]{\normalsize{#1}}
\newcommand{\smallA}[1]{\small{#1}}

\newcommand{\bigB}[1]{\textbf{\normalsize{#1}}}
\newcommand{\regularB}[1]{\small{#1}}
\newcommand{\smallB}[1]{\footnotesize{#1}}

\begin{document}
\begin{multicols}{2}

% base paragraph, almost all others are copy-pase of this
\bigA{Lorem} \regularA{ipsum dolor sit amet, consectetur adipiscing elit. Mauris varius nisl sed enim consectetur, eu tempor libero cursus. Nulla at enim nunc. Duis vitae nibh erat. Nulla facilisi. Nunc eget ornare velit. Ut porta sed libero non tincidunt. Mauris dapibus pulvinar ornare.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris varius nisl sed enim consectetur, eu tempor libero cursus. Nulla at enim nunc. Duis vitae nibh erat. Nulla facilisi. Nunc eget ornare velit. Ut porta sed libero non tincidunt.} \smallA{Mauris dapibus pulvinar ornare.}

\bigA{Lorem} \regularA{ipsum dolor sit amet, consectetur adipiscing elit. Mauris varius nisl sed enim consectetur, eu tempor libero cursus. Nulla at enim nunc. Duis vitae nibh erat. Nulla facilisi. Nunc eget ornare velit. Ut porta sed libero non tincidunt. Mauris dapibus pulvinar ornare.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris varius nisl sed enim consectetur, eu tempor libero cursus. Nulla at enim nunc. Duis vitae nibh erat. Nulla facilisi. Nunc eget ornare velit. Ut porta sed libero non tincidunt.} \smallA{Mauris dapibus pulvinar ornare.}

% Here's the smaller paragraph
\bigB{Lorem} \regularB{ipsum dolor sit amet, consectetur adipiscing elit. Mauris varius nisl sed enim consectetur, eu tempor libero cursus. Nulla at enim nunc. Duis vitae nibh erat. Nulla facilisi. Nunc eget ornare velit. Ut porta sed libero non tincidunt. Mauris dapibus pulvinar ornare.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris varius nisl sed enim consectetur, eu tempor libero cursus. Nulla at enim nunc. Duis vitae nibh erat. Nulla facilisi. Nunc eget ornare velit. Ut porta sed libero non tincidunt.} \smallB{Mauris dapibus pulvinar ornare.}

% from now on, back to `base'
\bigA{Lorem} \regularA{ipsum dolor sit amet, consectetur adipiscing elit. Mauris varius nisl sed enim consectetur, eu tempor libero cursus. Nulla at enim nunc. Duis vitae nibh erat. Nulla facilisi. Nunc eget ornare velit. Ut porta sed libero non tincidunt. Mauris dapibus pulvinar ornare.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris varius nisl sed enim consectetur, eu tempor libero cursus. Nulla at enim nunc. Duis vitae nibh erat. Nulla facilisi. Nunc eget ornare velit. Ut porta sed libero non tincidunt.} \smallA{Mauris dapibus pulvinar ornare.}

\bigA{Lorem} \regularA{ipsum dolor sit amet, consectetur adipiscing elit. Mauris varius nisl sed enim consectetur, eu tempor libero cursus. Nulla at enim nunc. Duis vitae nibh erat. Nulla facilisi. Nunc eget ornare velit. Ut porta sed libero non tincidunt. Mauris dapibus pulvinar ornare.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris varius nisl sed enim consectetur, eu tempor libero cursus. Nulla at enim nunc. Duis vitae nibh erat. Nulla facilisi. Nunc eget ornare velit. Ut porta sed libero non tincidunt.} \smallA{Mauris dapibus pulvinar ornare.}

\bigA{Lorem} \regularA{ipsum dolor sit amet, consectetur adipiscing elit. Mauris varius nisl sed enim consectetur, eu tempor libero cursus. Nulla at enim nunc. Duis vitae nibh erat. Nulla facilisi. Nunc eget ornare velit. Ut porta sed libero non tincidunt. Mauris dapibus pulvinar ornare.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris varius nisl sed enim consectetur, eu tempor libero cursus. Nulla at enim nunc. Duis vitae nibh erat. Nulla facilisi. Nunc eget ornare velit. Ut porta sed libero non tincidunt.} \smallA{Mauris dapibus pulvinar ornare.}

\bigA{Lorem} \regularA{ipsum dolor sit amet, consectetur adipiscing elit. Mauris varius nisl sed enim consectetur, eu tempor libero cursus. Nulla at enim nunc. Duis vitae nibh erat. Nulla facilisi. Nunc eget ornare velit. Ut porta sed libero non tincidunt. Mauris dapibus pulvinar ornare.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris varius nisl sed enim consectetur, eu tempor libero cursus. Nulla at enim nunc. Duis vitae nibh erat. Nulla facilisi. Nunc eget ornare velit. Ut porta sed libero non tincidunt.} \smallA{Mauris dapibus pulvinar ornare.}

\bigA{Lorem} \regularA{ipsum dolor sit amet, consectetur adipiscing elit. Mauris varius nisl sed enim consectetur, eu tempor libero cursus. Nulla at enim nunc. Duis vitae nibh erat. Nulla facilisi. Nunc eget ornare velit. Ut porta sed libero non tincidunt. Mauris dapibus pulvinar ornare.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris varius nisl sed enim consectetur, eu tempor libero cursus. Nulla at enim nunc. Duis vitae nibh erat. Nulla facilisi. Nunc eget ornare velit. Ut porta sed libero non tincidunt.} \smallA{Mauris dapibus pulvinar ornare.}

\bigA{Lorem} \regularA{ipsum dolor sit amet, consectetur adipiscing elit. Mauris varius nisl sed enim consectetur, eu tempor libero cursus. Nulla at enim nunc. Duis vitae nibh erat. Nulla facilisi. Nunc eget ornare velit. Ut porta sed libero non tincidunt. Mauris dapibus pulvinar ornare.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris varius nisl sed enim consectetur, eu tempor libero cursus. Nulla at enim nunc. Duis vitae nibh erat. Nulla facilisi. Nunc eget ornare velit. Ut porta sed libero non tincidunt.} \smallA{Mauris dapibus pulvinar ornare.}

\end{multicols}

\end{document}

编辑

如果我理解正确的话,行距与文本大小成正比,因此文本较小的段落会更小行距。我想要一个文本尺寸较小的段落行距,这样它就会与“常规”段落相匹配。

换句话说,如果“常规”段落(正常大小)的n行需要x cm,那么我也希望“小文本大小”段落的n行需要x cm

答案1

当更改字体大小时,通常还会更改行距,以实现文本材料的大致均匀的“平均灰度”。由于这不是您想要的,因此您需要提供自定义版本的\large\normalsize\small\footnotesize,以保持行距不变。在下面的代码中,为此目的设置了名为\mylarge\mynormalsize\mysmall和的宏\myfootnotesize。它们的共同属性是使用 的基线跳跃12pt;您可以随意更改此值以适合您的目的。

为了保险起见,您可能还想\raggedcolumns在之后提供说明\begin{multicols}{2}

\documentclass{book}  
\usepackage{parskip,multicol}

\newcommand\mylarge{\fontsize{12}{12}\selectfont}
\newcommand\mynormalsize{\fontsize{10}{12}\selectfont}
\newcommand\mysmall{\fontsize{9}{12}\selectfont}
\newcommand\myfootnotesize{\fontsize{8}{12}\selectfont}

\newcommand{\bigA}[1]{\textbf{\mylarge #1}}
\newcommand{\regularA}[1]{\mynormalsize #1}
\newcommand{\smallA}[1]{\mysmall #1}

\newcommand{\bigB}[1]{\textbf{\mynormalsize #1}}
\newcommand{\regularB}[1]{\mysmall #1}
\newcommand{\smallB}[1]{\myfootnotesize #1}

\begin{document}
\begin{multicols}{2}
\raggedcolumns

% base paragraph, almost all others are copy-pase of this
\bigA{Lorem} \regularA{ipsum dolor sit amet, consectetur adipiscing elit. Mauris varius nisl sed enim consectetur, eu tempor libero cursus. Nulla at enim nunc. Duis vitae nibh erat. Nulla facilisi. Nunc eget ornare velit. Ut porta sed libero non tincidunt. Mauris dapibus pulvinar ornare.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris varius nisl sed enim consectetur, eu tempor libero cursus. Nulla at enim nunc. Duis vitae nibh erat. Nulla facilisi. Nunc eget ornare velit. Ut porta sed libero non tincidunt.} \smallA{Mauris dapibus pulvinar ornare.}

\bigA{Lorem} \regularA{ipsum dolor sit amet, consectetur adipiscing elit. Mauris varius nisl sed enim consectetur, eu tempor libero cursus. Nulla at enim nunc. Duis vitae nibh erat. Nulla facilisi. Nunc eget ornare velit. Ut porta sed libero non tincidunt. Mauris dapibus pulvinar ornare.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris varius nisl sed enim consectetur, eu tempor libero cursus. Nulla at enim nunc. Duis vitae nibh erat. Nulla facilisi. Nunc eget ornare velit. Ut porta sed libero non tincidunt.} \smallA{Mauris dapibus pulvinar ornare.}

% Here's the smaller paragraph
\bigB{Lorem} \regularB{ipsum dolor sit amet, consectetur adipiscing elit. Mauris varius nisl sed enim consectetur, eu tempor libero cursus. Nulla at enim nunc. Duis vitae nibh erat. Nulla facilisi. Nunc eget ornare velit. Ut porta sed libero non tincidunt. Mauris dapibus pulvinar ornare.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris varius nisl sed enim consectetur, eu tempor libero cursus. Nulla at enim nunc. Duis vitae nibh erat. Nulla facilisi. Nunc eget ornare velit. Ut porta sed libero non tincidunt.} \smallB{Mauris dapibus pulvinar ornare.}

% from now on, back to `base'
\bigA{Lorem} \regularA{ipsum dolor sit amet, consectetur adipiscing elit. Mauris varius nisl sed enim consectetur, eu tempor libero cursus. Nulla at enim nunc. Duis vitae nibh erat. Nulla facilisi. Nunc eget ornare velit. Ut porta sed libero non tincidunt. Mauris dapibus pulvinar ornare.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris varius nisl sed enim consectetur, eu tempor libero cursus. Nulla at enim nunc. Duis vitae nibh erat. Nulla facilisi. Nunc eget ornare velit. Ut porta sed libero non tincidunt.} \smallA{Mauris dapibus pulvinar ornare.}

\bigA{Lorem} \regularA{ipsum dolor sit amet, consectetur adipiscing elit. Mauris varius nisl sed enim consectetur, eu tempor libero cursus. Nulla at enim nunc. Duis vitae nibh erat. Nulla facilisi. Nunc eget ornare velit. Ut porta sed libero non tincidunt. Mauris dapibus pulvinar ornare.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris varius nisl sed enim consectetur, eu tempor libero cursus. Nulla at enim nunc. Duis vitae nibh erat. Nulla facilisi. Nunc eget ornare velit. Ut porta sed libero non tincidunt.} \smallA{Mauris dapibus pulvinar ornare.}

\bigA{Lorem} \regularA{ipsum dolor sit amet, consectetur adipiscing elit. Mauris varius nisl sed enim consectetur, eu tempor libero cursus. Nulla at enim nunc. Duis vitae nibh erat. Nulla facilisi. Nunc eget ornare velit. Ut porta sed libero non tincidunt. Mauris dapibus pulvinar ornare.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris varius nisl sed enim consectetur, eu tempor libero cursus. Nulla at enim nunc. Duis vitae nibh erat. Nulla facilisi. Nunc eget ornare velit. Ut porta sed libero non tincidunt.} \smallA{Mauris dapibus pulvinar ornare.}
\end{multicols}

\end{document} 

相关内容