在 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}