本地切换不同的字体大小

本地切换不同的字体大小

在 12pt 文档中,我喜欢在环境中切换到 10pt 的字体大小。诸如 、 等宏\normalsize\large应该\small像在 10pt 文档中一样工作。我知道这不是好的排版,而且总体上看起来可能很糟糕。我打算将它用于 中的标签tikzpicture

任务(我不喜欢称之为“问题”)是,我有一些standalone tikzpicture文档在独立编译时使用 10pt,但也可以插入到 12pt 文档中,而有些地方的文本不再适合。我知道可以通过将所有距离更改为字体大小特定单位之一em或来解决ex这个问题,但不想更改几个数字,也许可以将其作为功能添加到standalone包中。

答案1

\let\savednewcommand\newcommand
\let\newcommand\renewcommand
\makeatletter
\input{size10.clo}
\makeatother
\let\newcommand\savednewcommand

或者自己实现自己的内容size10.clo

答案2

\documentclass{article}

\begin{document}
abc {\large abc} 
{\makeatletter\let\newcommand\renewcommand\input{size12.clo}
abc \large abc} 
abc
\end{document}

但它并不适用于每个类/字体大小。例如,对于 book,您必须输入 book12.clo,然后 koma 类会计算一些字体大小。

答案3

您可以使用该包轻松更改字体大小fontscale。(全面披露:我是该包的作者。)

我展示了如何本地将字体大小命令从 更改为\tiny。请注意,您通常只需要在序言中设置一次字体大小。这只是为了演示。\normalsize\Huge

为了演示,我使用经典的排版比例设置字体大小——这是自 16 世纪以来一直使用的一组字体大小,也是大多数计算机软件的默认字体大小。由于 OP 想要编写一个“12 pt 文档”并在本地“在环境中切换到 10pt 的字体大小”(我知道这个问题已经存在十多年了!),我的示例将使用一个经典的排版比例,其中 normalsize 为 12pt,另一个 normalsize 为 10pt。

\documentclass{article}
\usepackage{fontscale}
\fontscalesetup{classic-12pt}
\usepackage{parskip,stix2}%looks nicer


\begin{document}

\PrintSampleText[\PrintFontSizeCommand: \CurrentFontSize]
\bigskip

\begingroup
\fontscalesetup{classic-10pt}
Set the font sizes within a local group:
\smallskip

\PrintSampleText[\PrintFontSizeCommand: \CurrentFontSize]
\endgroup
\bigskip

The font sizes are reset after the group ends:
\smallskip

\PrintSampleText[\PrintFontSizeCommand: \CurrentFontSize]

\end{document}

相关内容