可能重复:
本地切换不同的字体大小
我被字体问题难住了。我使用特定的文档类来写我的论文:字体大小12pt
适合整个文档,但在第一页我想使用 的大小11pt
。问题是,在第一页我使用了很多\large
、等\Large
,\huge
并且使用这个:
\begingroup \fontsize{11pt}{12pt}\selectfont ga bu zo meu \endgroup
不更新\large
等等。
\large
那么:有人知道如何暂时改变字体大小并更新用于、、\Large
等\LARGE
的大小\huge
吗?
我知道我可以使用 KOMA 脚本但它似乎与我的一个包不兼容。
! LaTeX Error: Command \l@addto@macro already defined.
Or name \end... illegal, see p.192 of the manual.
我还知道我可以单独生成我的第一页并合并 PDF 文件,但我想存在一种简单的方法可以做到这一点。不是吗?
答案1
您可以定义一个命令,该命令使用文件中包含的标准字体大小命令的定义size11.clo
,然后使用此命令在本地更改大小:
\documentclass[12pt]{article}
\makeatletter
\newcommand\FontSizesXI{%
\renewcommand\normalsize{%
\@setfontsize\normalsize\@xipt{13.6}%
\abovedisplayskip 11\p@ \@plus3\p@ \@minus6\p@
\abovedisplayshortskip \z@ \@plus3\p@
\belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@
\belowdisplayskip \abovedisplayskip
\let\@listi\@listI}
\normalsize
\renewcommand\small{%
\@setfontsize\small\@xpt\@xiipt
\abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
\abovedisplayshortskip \z@ \@plus3\p@
\belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
\def\@listi{\leftmargin\leftmargini
\topsep 6\p@ \@plus2\p@ \@minus2\p@
\parsep 3\p@ \@plus2\p@ \@minus\p@
\itemsep \parsep}%
\belowdisplayskip \abovedisplayskip
}
\renewcommand\footnotesize{%
\@setfontsize\footnotesize\@ixpt{11}%
\abovedisplayskip 8\p@ \@plus2\p@ \@minus4\p@
\abovedisplayshortskip \z@ \@plus\p@
\belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@
\def\@listi{\leftmargin\leftmargini
\topsep 4\p@ \@plus2\p@ \@minus2\p@
\parsep 2\p@ \@plus\p@ \@minus\p@
\itemsep \parsep}%
\belowdisplayskip \abovedisplayskip
}
\renewcommand\scriptsize{\@setfontsize\scriptsize\@viiipt{9.5}}
\renewcommand\tiny{\@setfontsize\tiny\@vipt\@viipt}
\renewcommand\large{\@setfontsize\large\@xiipt{14}}
\renewcommand\Large{\@setfontsize\Large\@xivpt{18}}
\renewcommand\LARGE{\@setfontsize\LARGE\@xviipt{22}}
\renewcommand\huge{\@setfontsize\huge\@xxpt{25}}
\renewcommand\Huge{\@setfontsize\Huge\@xxvpt{30}}
}
\makeatother
\begin{document}
\begingroup
\FontSizesXI
{\tiny Some \scriptsize test \footnotesize text \small showing \normalsize the \large ten \Large available \LARGE font \huge size \Huge commands. }
\endgroup
{\tiny Some \scriptsize test \footnotesize text \small showing \normalsize the \large ten \Large available \LARGE font \huge size \Huge commands.}
\end{document}
答案2
如果可以使用 KOMA-Script,则可以通过\let\l@addto@macro\relax
加载 KOMA-Script 类后声明来解决兼容性问题。
\documentclass[11pt]{scrartcl}
\makeatletter
\let\l@addto@macro\relax
\newcommand{\l@addto@macro}{Hello!}% placeholder for package defining \l@addto@macro
\makeatother
\usepackage{lipsum}
\begin{document}
\section{foo}
\lipsum[1]
\changefontsizes{12pt}
\section{bar}
\lipsum[1]
\end{document}