上一段中引号和行距的 relsize 存在奇怪(令人讨厌)的问题

上一段中引号和行距的 relsize 存在奇怪(令人讨厌)的问题

在排版一本书的最后几步,我遇到了一个非常棘手的问题,幸运的是,我设法在 MWE 中将其隔离。问题是,使用 relsize 修补的块引用的文本大小略有减小(在我看来,下一个较小的“tex 大小”对于书籍格式来说太小了)会导致前一段的行距减小 - 如果代码中 \begin{quote} 之前没有空行。

遵循 MWE 有更明显的值来显示效果。请注意代码中空行的差异以及第 1 段和第 2 段的改变结果。当 relsize 为 .9 时(如真实情况),它几乎不可见。

这是否意味着修补会以某种方式影响前一段?这似乎是一个错误,因为它只影响行距,而不影响文本大小。

Texlive/Xetex 也出现过此问题,但 Overleaf/Latex 也出现过同样的问题。这个问题似乎与 relsize 部分有关,因为我使用 setspace/setstretch 也得到了类似的结果。

我希望得到一些关于哪里出了问题的反馈,因为我担心类似的问题也可能发生在其他情况下,而我可能还没有注意到它们。

在此处输入图片描述

\documentclass[fontsize=11.5pt,twoside]{scrreprt} 
\usepackage{blindtext}
\usepackage{etoolbox}
\usepackage{relsize}

\linespread{1.8} %for effect

\AtBeginEnvironment{quote}{\relscale{.3}} %smaller than real, also for effect

\begin{document}
    \subsection{problem}
\blindtext 

    \begin{quote}
\blindtext
    \end{quote}
\blindtext 
        \begin{quote}
    \blindtext
    \end{quote}
\blindtext

\end{document}

答案1

你的补丁是错误的。你实际上添加了 \relsize报价单。

试用

\AtBeginEnvironment{quote}{\relscale{.3}xxxxx}

看看我的意思。

更好地利用

\appto\quote{\relscale{.3}}

答案2

更改字体大小时,需要结束段落。如果不这样做,则\baselineskip确定行距的 将会对一种或多种尺寸不正确。这是因为某些设置(包括此设置)会应用于整个段落,并且仅在段落结束时才应用。因此,\baselineskip段落所有部分的 都由段落结束时当前活动的 决定\baselineskip

因此,可以通过插入一些段落分隔符来避免此问题。如果您不想实际使用段落分隔符,请使用\noindent来避免首行缩进。

\documentclass[fontsize=11.5pt,twoside]{scrreprt}% note that this means 12pt font is used
\usepackage{blindtext}
\usepackage{etoolbox}
\usepackage{relsize}

\linespread{1.8} %for effect - note that you really, really, really shouldn't do this like this

\AtBeginEnvironment{quote}{\relscale{.3}} %smaller than real, also for effect - note that the resulting sizes are larger than provided here

\begin{document}
\subsection{problem}
\blindtext 

\begin{quote}
  \blindtext
\end{quote}

\noindent\blindtext 

\begin{quote}
  \blindtext
\end{quote}

\noindent\blindtext

\end{document}

段落分隔符 固定行距

如果您确实想这样做,您应该阅读 KOMA 手册的相关部分并setspace按照其建议使用。此外,您请求的字体大小不可用。查看控制台或日志了解详细信息并考虑使用可缩放字体。以下任何一种都可以为您提供此类字体

\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{cfr-lm}
\usepackage{<other type1 font package>}

相关内容