是否可以使用 \rule 来缩放不同的字体大小?

是否可以使用 \rule 来缩放不同的字体大小?

在使用不同字体大小时,是否可以适当地按比例绘制垂直线\rule?例如,是否可以将\Huge字体\rule放大到与单个字符放大相同的程度?或者使用诸如 之类的包relsize?我试过这两种方法,但都不起作用。我甚至尝试过将其放在标题中\section{...},但也没有用。

是否有可能先用 tikz 画一条线,然后缩放它?

答案1

您可以这样做:

\documentclass{article}

\NewDocumentCommand{\RULE}{}{\rule{0.05em}{\fontcharht\font`A}}

\begin{document}

A\RULE B\RULE c

{\LARGE A\RULE B\RULE c\par}

{\LARGE\bfseries A\RULE B\RULE c\par}

\end{document}

这使得规则的高度与大写字母一样高。根据你的喜好进行更改。请注意,使用em作为厚度单位,这反映了当前的字体粗细。如果这不是你想要的,请使用固定厚度。

在此处输入图片描述

答案2

我意识到哪里出了问题,因为显然只要你以ex或为单位传递宽度和高度em\rule使用字体大小调整大小,例如\Huge。问题是我创建的长度用于保存 的宽度和高度\rule

\newlength{\rulelength}
    \setlength{\rulelength}{1.3ex}
\newlength{\rulewidth}
    \setlength{\rulewidth}{0.15ex}
\newlength{\boldrulelength}
    \setlength{\boldrulelength}{1.3ex}
\newlength{\boldrulewidth}
    \setlength{\boldrulewidth}{0.25ex}

而我应该创建命令:

\newcommand{\rulelength}{1.3ex}
\newcommand{\rulewidth}{0.15ex}
\newcommand{\boldrulelength}{1.3ex}
\newcommand{\boldrulewidth}{0.25ex}

相关内容