LaTex:如何强制保持行距不变
LaTex: How to force constant linespacing
我在 texblock
中使用 minipage
将一些文本行放在我文档的特定位置。
我的问题是,行距因 ascending/descending 个字母而异。我使用的是 Papyrus Plain 字体。 https://www.download-free-fonts.com/details/112610/papyrus-plain
示例:
\documentclass[a4paper]{article}
\usepackage{fontspec}
\usepackage[absolute,overlay]{textpos}
\newcommand{\mytextbox}[1]{
\begin{textblock*}{0.1cm}(10.85cm,25.44cm) % {block width} (coords)
\begin{minipage}[t][2cm][t]{\textwidth}
\vspace*{\fill}
\fontsize{13}{12.3}\selectfont #1
\vspace*{\fill}
\end{minipage}
\end{textblock*}}
\setmainfont{PapyrusPlain}
\begin{document}
\mytextbox{abcd efgh ijkl mnop}
\end{document}
我想要示例图片前两行的间距。我试图用
包围它来解决这个问题
\begin{spacing}{1.0}
\mytextbox{abcd efgh ijkl mnop}
\end{spacing}
但这被忽略了。
问题是 \baselineskip
对于您的字体大小来说太小了。如果我增加它,比如 \fontsize{13}{20}
我得到相等的行距。对于普通字体,通常的经验法则是 \baselineskip
应该至少是字体大小的 1.2 倍左右。对于这种上行下行明显的装饰字体,越多越好。
但是,如果您真的、真的、真的想要强制缩小行距:
% !TeX TS-program = xelatex
\documentclass[a4paper]{article}
\usepackage{fontspec}
\usepackage[absolute,overlay]{textpos}
\newcommand{\mytextbox}[1]{
\begin{textblock*}{0.1cm}(10.85cm,25.44cm) % {block width} (coords)
\begin{minipage}[t][2cm][t]{\textwidth}
\vspace*{\fill}
\fontsize{13}{12.3}\selectfont
\setlength{\lineskiplimit}{-\maxdimen}
#1
\vspace*{\fill}
\end{minipage}
\end{textblock*}}
\setmainfont{Papyrus}
\begin{document}
\mytextbox{abcd efgh abcg efgh}
\end{document}
我在 texblock
中使用 minipage
将一些文本行放在我文档的特定位置。
我的问题是,行距因 ascending/descending 个字母而异。我使用的是 Papyrus Plain 字体。 https://www.download-free-fonts.com/details/112610/papyrus-plain
示例:
\documentclass[a4paper]{article}
\usepackage{fontspec}
\usepackage[absolute,overlay]{textpos}
\newcommand{\mytextbox}[1]{
\begin{textblock*}{0.1cm}(10.85cm,25.44cm) % {block width} (coords)
\begin{minipage}[t][2cm][t]{\textwidth}
\vspace*{\fill}
\fontsize{13}{12.3}\selectfont #1
\vspace*{\fill}
\end{minipage}
\end{textblock*}}
\setmainfont{PapyrusPlain}
\begin{document}
\mytextbox{abcd efgh ijkl mnop}
\end{document}
我想要示例图片前两行的间距。我试图用
包围它来解决这个问题\begin{spacing}{1.0}
\mytextbox{abcd efgh ijkl mnop}
\end{spacing}
但这被忽略了。
问题是 \baselineskip
对于您的字体大小来说太小了。如果我增加它,比如 \fontsize{13}{20}
我得到相等的行距。对于普通字体,通常的经验法则是 \baselineskip
应该至少是字体大小的 1.2 倍左右。对于这种上行下行明显的装饰字体,越多越好。
但是,如果您真的、真的、真的想要强制缩小行距:
% !TeX TS-program = xelatex
\documentclass[a4paper]{article}
\usepackage{fontspec}
\usepackage[absolute,overlay]{textpos}
\newcommand{\mytextbox}[1]{
\begin{textblock*}{0.1cm}(10.85cm,25.44cm) % {block width} (coords)
\begin{minipage}[t][2cm][t]{\textwidth}
\vspace*{\fill}
\fontsize{13}{12.3}\selectfont
\setlength{\lineskiplimit}{-\maxdimen}
#1
\vspace*{\fill}
\end{minipage}
\end{textblock*}}
\setmainfont{Papyrus}
\begin{document}
\mytextbox{abcd efgh abcg efgh}
\end{document}