我曾经使用 稍微调整字体大小\patchcmd{\normalsize}
。请考虑以下代码:
\documentclass[11pt]{memoir}
\usepackage{etoolbox,lipsum}
\makeatletter
\patchcmd{\normalsize}{\@xipt}{{30pt}}{}{} % 30pt only for testing purpose!
\normalsize
\makeatother
\begin{document}
\lipsum
\end{document}
如果我使用 LuaLaTeX(或 XeLaTeX 或 pdfLaTeX)2021 或更早版本进行编译,文本会被调整大小;使用 TL 2022 则不会。
我正在使用 Overleaf,所以我想知道原因是否是 TL 2022 内部的变化(或错误),或者是其在 Overleaf 中的实现。
答案1
与此同时,\normalsize
已经成为一个强大的命令,因此\patchcmd
试图修补错误的命令,即“表面”命令,而不是具有真实代码的命令。
实际上,您不应该修补\normalsize
:而是使用诸如之类的现代软件包fontsize
。
无论如何,您都可以使用 进行修补xpatch
。
\documentclass[11pt]{memoir}
\usepackage{xpatch,lipsum}
\makeatletter
\xpatchcmd{\normalsize}{\@xipt}{{30pt}}{}{} % 30pt only for testing purpose!
\makeatother
\begin{document}
\lipsum
\end{document}
注意,\normalsize
修补之后就完全没用了,因为\normalsize
(在修补后的版本中)会在开始文档中发出。