在下面的这个 MWE 示例中,我为第一页创建了一个略大的页眉(使用thispagestyle
),但在下一页中,即使不绘制页眉,LaTeX 仍会考虑headheight
。大约是 12 pt(据我所知)。
此外,它还会触发有关页眉长度的警告,该长度至少应为 ~ 77pt。如果我设置, \setlength{\headheight}{77pt}
情况在下一页会更糟,当然,因为它使用的是默认的 12 pt,所以它对所有页眉都使用 77pt,即使是第 2 页及以后的空白页也是如此。我的问题是:
- 如何将 headerheight 仅设置为第 1 页;以及
- 当没有显示标题时,如何完全删除标题高度?
\documentclass{文章} \usepackage[utf8]{输入框} \usepackage{fancyhdr} \usepackage{lipsum} \usepackage{graphicx} \fancypagestyle{页眉页}{% \fancyhf{} \renewcommand{\headrulewidth}{0pt} \fancyhead[l]{% \hspace{-1厘米}% \includegraphics[高度=5\baselineskip,宽度=5\baselineskip]{示例图像-a} \hspace{\baselineskip}% \begin{minipage}[b][5\baselineskip][c]{.5\textwidth}\sffamily \LaTeX \\ 大学 印刷术研究所 人文计算系 教授:真是个好人 乳胶的历史 101 \结束{迷你页面}} \fancyfoot[c]{\thepage} } \title{MWE} \author{某学生} \date{2020 年 12 月} \开始{文档} \maketitle \thispagestyle{页眉页} \lipsum \lipsum \结束{文档}
PS:此外,设置\headheight
为 77pts 会将文本向下推,从而将页脚(和 \thepage)向下推,在底部边缘几乎没有留下任何喘息空间,因此我需要用以下方法进行平衡:
\addtolength{\textheight}{-65pt}
自从77-12 = 65
。
对这个问题有更好的解决方案吗?(如果这是一个问题的话)。
答案1
由于您只想在第一页的顶部插入徽标和一些附加文本,所以最好只这样做。
使用该xcoffin
包,您可以将内容放入框(Set),组装框(Join),然后将结果(Typeset)写入当前插入点加上一些 XY 偏移量。\Framex
收集徽标和文本框并将它们放在页面的上角。
\maketitle
发布一个新页面,所以我们需要避免这种情况。还使用普通样式,这很好。
然后,您可以根据您的要求,对文档的其余部分使用花式样式。
请注意,框的内容与布局设计是分开的。因此,如果您以后想将组件放在右侧或将文本与徽标放在一起,则只需修改\JoinCoffins
和/或偏移量。
关于工作原理的更详细的解释xcoffins
在这个答案中
https://tex.stackexchange.com/a/572407/161015
当然还有包装文档中介绍的。
https://ctan.org/pkg/xcoffins?lang=en
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{fancyhdr}
\usepackage{lipsum}
\usepackage{graphicx}
\usepackage{showframe} %added
\renewcommand*\ShowFrameColor{\color{red}} %added
\usepackage{xcoffins} %added
%\pagestyle{fancy}
\fancyhf{}
\fancyhead[L]{\thepage}
\fancyhead[R]{\textit\leftmark}
\NewCoffin\Framex
\NewCoffin\Logox
\NewCoffin\Affilx
\title{MWE}
\author{Some student}
\date{December 2020}
\begin{document}
\SetHorizontalCoffin\Logox{% the logo
\includegraphics[height=5\baselineskip,width=5\baselineskip]{example-image-a}
}
\SetVerticalCoffin\Affilx{.5\textwidth}{% the text
\sffamily\noindent
University of \LaTeX \\
Institute of Typography \\
Department of Humanistic Computing \\
Professor: A good fellow \\
History of Latex 101
}
\JoinCoffins*\Framex[hc,vc]\Logox[l,t](-30pt, 80pt) % XY offset to put on the left top corner of the page
\JoinCoffins*\Framex[\Logox-r,\Logox-vc]\Affilx[l,vc](15pt,0pt) %X offset between logo and text
\noindent \TypesetCoffin\Framex
{\let\newpage\relax\maketitle} % to avoid \newpage from \maketitle. The page is in style plain
\pagestyle{fancy}
\section{One}
\lipsum
\lipsum
\section{Two}
\lipsum
\end{document}
我不完全理解你的第二个问题。
如果您使用该geometry
包,您可以减少文档所有页面的页眉空间,最大化文本区域,如下所示。
或者,仅使用fancyhdr
样式plain
,则不会打印页眉(页码必须位于某处),但页眉空间将保留。由于\maketitle
使用普通样式,因此文档的其余部分不需要其他样式。
\thispagestyle{empty}
可以使用after来抑制第一页的页码\maketitle
。
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{fancyhdr}
\usepackage{lipsum}
\usepackage{graphicx}
\usepackage{showframe} %added
\renewcommand*\ShowFrameColor{\color{red}} %added
\usepackage{xcoffins} %added
\usepackage[top=0cm,bottom=0.5cm,left=1.5cm,right=2.5cm,includeheadfoot, headheight=0cm]{geometry} %added
\NewCoffin\Framex
\NewCoffin\Logox
\NewCoffin\Affilx
\title{MWE}
\author{Some student}
\date{December 2020}
\begin{document}
\SetHorizontalCoffin\Logox{% the logo
\includegraphics[height=5\baselineskip,width=5\baselineskip]{example-image-a}
}
\SetVerticalCoffin\Affilx{.5\textwidth}{% the text
\sffamily\noindent
University of \LaTeX \\
Institute of Typography \\
Department of Humanistic Computing \\
Professor: A good fellow \\
History of Latex 101
}
\JoinCoffins*\Framex[hc,vc]\Logox[l,t](-10pt, 20pt) % XY offset to put on the left top corner of the page
\JoinCoffins*\Framex[\Logox-r,\Logox-vc]\Affilx[l,vc](15pt,0pt) %X offset between logo and text
\noindent \TypesetCoffin\Framex
\vspace{4\baselineskip}
{\let\newpage\relax\maketitle} % to avoid \newpage from \maketitle. The page is in style plain
%\thispagestyle{empty} % no headers or footers, only this page
\section{One}
\lipsum
\lipsum
\section{Two}
\lipsum
\end{document}