我使用 fancyhdr 创建我的标题,我有以下代码:
\usepackage{fancyhdr}
\pagestyle{fancy}
\usepackage{lastpage}
\fancyhead[L]{\includegraphics[width=1cm]{logosmall.jpg} \textbf{Title of my document} \\
\hspace{32pt}Page \thepage \hspace{1pt} of \pageref{LastPage}}
\setlength{\headheight}{45pt}
\fancyhead[R]{}
\fancyhead[C]{}
我得到:
但我期望:
我怎样才能将左侧的小图片与第二行对齐?我尝试了很多不同的选项,但都没有用。
答案1
为了解决这个问题,我只是将标题文本堆叠在基线上方,图形之后。
在这里,我totpages
用 替换了包lastpage
,因为我无法访问后者。
\documentclass[oneside,12pt,a4]{book}
\usepackage{fancyhdr}
\pagestyle{fancy}
\usepackage[demo]{graphicx}
\usepackage{stackengine,lipsum}
\setstackEOL{\\}
\usepackage{totpages}%\usepackage{lastpage}
\fancyhead[L]{\includegraphics[width=1cm,height=1.5cm]{logosmall.jpg}
\hspace{32pt}\Longstack[l]{\textbf{Title of my document} \\
Page \thepage{} of %
\ref{TotPages}%\pageref{LastPage}%
}}
\setlength{\headheight}{45pt}
\fancyhead[R]{}
\fancyhead[C]{}
\begin{document}
\lipsum[1-20]
\end{document}
答案2
tabular
对徽标右侧的部分使用底部对齐:
\documentclass{article}
\usepackage{graphicx}
\usepackage{fancyhdr}
\usepackage{lastpage}
\setlength{\headheight}{45pt}
\pagestyle{fancy}
\fancyhf{}
\fancyhead[L]{%
\includegraphics[width=1cm]{../donald-duck}\quad
\begin{tabular}[b]{@{}l@{}}
\textbf{Title of my document} \\
Page \thepage \hspace{1pt} of \pageref{LastPage}
\end{tabular}%
}
\begin{document}
Some text
\end{document}
答案3
另一种可能性是使用预先测量的\parbox
es:
\documentclass{article}
\usepackage[pdftex]{graphicx}
\usepackage{lastpage}
\usepackage{fancyhdr}
\newsavebox\logobox
\newsavebox\titlebox
\sbox\logobox{\rule{30pt}{30pt}}%replace \rule with your image
\sbox\titlebox{\textbf{Title of my document}}
\fancyhead[L]{%
\parbox[b]{\wd\logobox}{\usebox\logobox}
\hspace{5pt}
\parbox[b]{\wd\titlebox}{%
\usebox\titlebox \\
\thepage \hspace{1pt} of \pageref{LastPage}
}
}
\fancyhead[R]{}
\fancyhead[C]{}
\setlength{\headheight}{45pt}
\pagestyle{fancy}
\begin{document}
\null
\end{document}