我如何才能更改文档中的字体大小,使其在本地达到与在全局设置文档类中的字体大小相同的效果。
考虑以下最小示例:
\documentclass[a4paper,12pt]{article}
\pagestyle{empty}
\begin{document}
\section*{Text in 12pt}
Some text
\footnotesize footnotesize
\small small
\normalsize normalsize
\large large
\newlength{\FSize}
\setlength{\FSize}{10pt}
\newlength{\Baselineskip}
\setlength{\Baselineskip}{1.2\FSize} % Compare http://tex.stackexchange.com/a/94385/4011
\section*{Text in 10pt}
\fontsize{\FSize}{\Baselineskip}\selectfont
Some text
\footnotesize footnotesize
\small small
\normalsize normalsize
\large large
\end{document}
输出结果如下
正如您所见,这不是我想要的,以这种方式在本地设置字体大小与在 documentclass 的全局选项中设置字体大小的效果不同。例如,\section
或之类的命令\small
不会更改(但如果我在 documentclass 中更改字体,它们做改变)。
那么有没有简单的方法可以实现这一点?
答案1
嗯,这是由 设置的sizeXX.clo
。大多数字体大小更改命令都是由 设置的,\newcommand
因此您需要在加载此文件之前取消定义它们。
\documentclass[a4paper,12pt]{article}
\pagestyle{empty}
\begin{document}
\section*{Text in 12pt}
Some text
\footnotesize footnotesize
\small small
\normalsize normalsize
\large large
\makeatletter
\let\small\@undefined
\let\footnotesize\@undefined
\let\scriptsize\@undefined
\let\tiny\@undefined
\let\large\@undefined
\let\Large\@undefined
\let\LARGE\@undefined
\let\huge\@undefined
\let\Huge\@undefined
\input{size10.clo}\makeatother
\section*{Text in 10pt}
Some text
\footnotesize footnotesize
\small small
\normalsize normalsize
\large large
\end{document}
您可能想\clearpage
在切换之前做一个。