我使用了一些模板/宏,它们使用\Large
/ \small
... 来配置标题页的字体大小。问题是,当我使用\documentclass[12pt]{memoir}
而不是 来更改文档其余部分的字体大小时\documentclass[10pt]{memoir}
,标题模板的字体大小会增加,从而破坏布局。
我尝试使用来\fontsize{10}{12}\selectfont
强制使用较小的字体作为页面标题,但问题是它并没有减小字体大小\Large
/ \small
...与文档相比,它们仍然很大/很小,12pt
而不是当前字体10pt
。
\Large
我怎样才能简单地在本地更改字体大小,以便\small
...更新大小以匹配新的本地字体大小?
平均能量损失:
\documentclass[a4paper,12pt]{memoir}
\begin{document}
\section{Simple text}
\noindent Hello\\
{\small Hello $\leftarrow $ This one is smaller than previous line as expected}
\section{``Small'' text}
{\fontsize{10}{12}\selectfont \noindent Hello\\
{\small Hello $\leftarrow $ I expect this one to be smaller than previous line\dots and its bigger}}
\end{document}
编辑
关于评论中提出的解决方案,\relsize{}
对于新文本来说看起来很棒,但它实际上不会更改宏\Large
,\tiny
...所以当我想转换现有文档(tikz 图片、预制模板...)时,此解决方案不适用。此外,使用诸如\Large
允许人们在整个文档中使用一致大小之类的东西:如果不非常谨慎,很容易\relsize{...}
在同一个文档中出现许多不同的大小。
我尝试了@muzimuzhi 在评论中提出的解决方案。它在页面标题上效果很好(它确实重置了页面标题中的布局……但不确定为什么当我将它放在新页面上而不是页面标题内时它不会改变布局),但在现有文本中使用时效果不佳。它增加了一个巨大的空间(并且可以推动边缘中的文本),如红色突出显示:
梅威瑟:
\documentclass[a4paper,12pt]{memoir}
\usepackage{lipsum}
\begin{document}
\section{Simple text}
\noindent Hello\\
{\small Hello $\leftarrow $ This one is smaller than previous line as expected}
\lipsum[1]
\section{``Small'' text}
Text before: see the space (it even goes into the margin) {\makeatletter\let\newcommand\renewcommand\input{size10.clo} Hello\\
{\small Hello $\leftarrow $ I expect this one to be smaller than previous line\dots and it does work now!}} Text after.
\end{document}
答案1
您可以使用该包轻松更改字体大小fontscale
。(全面披露:我是该包的作者。)
我展示了如何将字体大小命令从 更改\tiny
为\normalsize
到\Huge
文档中间。请注意,您通常只需要在序言中设置一次字体大小。这只是为了演示。
\documentclass{article}
\usepackage{fontscale}
\usepackage{parskip,stix2}%looks nicer
\begin{document}
Package defaults:
\smallskip
\PrintSampleText[\PrintFontSizeCommand: \CurrentFontSize]
\bigskip
Set font sizes using a musical scale:
\smallskip
\fontscalesetup{musical,normalsize/size=10bp}
\PrintSampleText[\PrintFontSizeCommand: \CurrentFontSize]
\newpage
Set arbitrary font sizes:
\smallskip
\fontscalesetup
{
tiny=5,
scriptsize=6,
footnotesize=7,
small=8,
normalsize=9,
large=10,
Large=11,
LARGE=12,
huge=14,
Huge=16
}
\PrintSampleText[\PrintFontSizeCommand: \CurrentFontSize]
\end{document}