\changefontsize
我需要一种方法来将字体大小设置为任何自定义值,就像使用from包可以实现的那样fontsize
。问题fontsize
是它不会影响页眉和页脚中的字体大小。还有包extsizes
,但在我的快速测试中,使用extarticle
documentclass 只有页眉和页脚受到影响。
这是我的妈妈:
\documentclass[a4paper]{article}
\usepackage{fontsize,fix-cm,fancyhdr}
\changefontsize{18}
\pagestyle{fancy}
\fancyhf{}
\fancyhead[R]{header}
\fancyfoot[C]{\thepage{}}
\begin{document}
document body
\end{document}
答案1
一般来说,您需要告诉 LaTeX 您希望页眉和页脚的字体大小。
\RequirePackage{fix-cm}
\documentclass[a4paper]{article}
\usepackage{fontsize,fancyhdr}
\changefontsize{18}
\pagestyle{fancy}
\fancyhf{}
\fancyhead[R]{\footnotesize header \fontname\font}
\fancyfoot[C]{\footnotesize\thepage}
\setlength{\headheight}{18pt}
\begin{document}
document body
\end{document}
否则,修复不应该fancyhdr.sty
使用的错误。\@normalsize
\RequirePackage{fix-cm}
\documentclass[a4paper,12pt]{article}
\usepackage{fontsize,fancyhdr}
\changefontsize{18}
\makeatletter
\let\@normalsize\normalsize
\makeatother
\fancyhf{}
\fancyhead[R]{header \fontname\font}
\fancyfoot[C]{\thepage}
\pagestyle{fancy}
\begin{document}
document body
\end{document}
解释:年长的(在意义上很古老) 版本的 LaTeX \@normalsize
,但如今只\normalsize
应在任何地方使用。
当然,你必须应对重要的警告
Package fancyhdr Warning: \headheight is too small (12.0pt):
(fancyhdr) Make it at least 21.59993pt, for example:
(fancyhdr) \setlength{\headheight}{21.59993pt}.
(fancyhdr) You might also make \topmargin smaller to compensate:
(fancyhdr) \addtolength{\topmargin}{-9.59993pt}.
答案2
你想要的(所有设置只有一个)是:
\documentclass[a4paper,17pt]{extarticle}
或者
\documentclass[a4paper,17pt]{extarticle}
不幸的是,您不能在这里使用 18pt,只能使用与 extsizes 相同的尺寸:即 8pt、9pt、10pt、11pt、12pt、14pt、17pt 和 20pt
如果您想要正好 18pt,那么您将需要一个可扩展的字体(例如,libertinelibertine
包)并使用 Koma 类:
\documentclass[a4paper,fontsize=18pt]{scrartcl}
\usepackage{libertine}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\fancyhead[R]{header}
\fancyfoot[C]{\thepage{}}
\begin{document}
document body
\end{document}
\changefontsize{18}
但是,简单地添加页脚和页眉不是更简单吗?