Fancyhdr - 可以在标题内放置一个小表格吗?

Fancyhdr - 可以在标题内放置一个小表格吗?

好的,我正在尝试为我的每个页面创建这种类型的格式:

在此处输入图片描述

现在,我想在每个页面上都显示这个,在右侧的标题中。我目前有以下内容:

\usepackage{fancyhdr}
\fancyhead{}
\fancyhead[RO, LE]{
    
    \begin{table}[ht!]

    \begin{tabular}{c}
    safasf
    \end{tabular}
\label{lable:nonlin}
\end{table}

}
\fancyfoot{}
\fancyfoot[LE, RO]{\thepage}
\fancyfoot[LO, CE]{Chapter \thechapter}

\begin{document}
  \input{title}

  \chapter{Introduction}
  ...
  
  \chapter{Background}
  ...
  
  \chapter{Conclusion}
  ...

\end{document}
 

我希望每一页甚至章节页上都有这个页眉。之前使用普通文本时,章节页上似乎没有页眉。

有人能提供任何解决方案或建议吗?

答案1

您可以将tabular材料放在页眉内。但是如果您使用table(即浮动),则不起作用。此外,章节页面plain默认具有页面样式。因此,您必须重新定义plain页面样式才能使其美观。

\documentclass[twoside]{book}
\usepackage{fancyhdr}
\fancyhead{}
\fancyhead[RO, LE]{
    \begin{tabular}[b]{c}
    safasf
    \end{tabular}
}
\fancyfoot{}
\fancyfoot[LE, RO]{\thepage}
\fancyfoot[LO, CE]{Chapter \thechapter}

\makeatletter
\let \ps@plain\ps@fancy
\makeatother

\pagestyle{fancy}

\begin{document}
%  \input{title}

  \chapter{Introduction}
  ...

  \chapter{Background}
  ...

  \chapter{Conclusion}
  ...

\end{document}

在此处输入图片描述

带彩色线条:

\documentclass[twoside,table]{book}
\usepackage{fancyhdr,xcolor}
\usepackage{xcolor}
\usepackage[margin=1in,headheight=0.5in]{geometry}

\fancyhead{}
\fancyhead[RO, LE]{%
    \begin{tabular}[b]{@{}l@{}}
    \arrayrulecolor{blue!75}
    safasf \\
           \\\hline
    \end{tabular}%
}
\fancyfoot{}
\fancyfoot[LE, RO]{\thepage}
\fancyfoot[LO, CE]{Chapter \thechapter}

\makeatletter
\let \ps@plain\ps@fancy
\makeatother

\pagestyle{fancy}

\begin{document}
%  \input{title}

  \chapter{Introduction}
  ...

  \chapter{Background}
  ...

  \chapter{Conclusion}
  ...

\end{document}

在此处输入图片描述

\includegraphics

\documentclass[twoside,table]{book}
\usepackage{fancyhdr,xcolor}
\usepackage{graphicx}
\usepackage[margin=1in,headheight=0.75in]{geometry}

\fancyhead{}
\fancyhead[RO, LE]{%
    \includegraphics[width=2in]{capture}%
}
\fancyfoot{}
\fancyfoot[LE, RO]{\thepage}
\fancyfoot[LO, CE]{Chapter \thechapter}

\makeatletter
\let \ps@plain\ps@fancy
\makeatother

\pagestyle{fancy}

\begin{document}
%  \input{title}

  \chapter{Introduction}
  ...

  \chapter{Background}
  ...

  \chapter{Conclusion}
  ...

\end{document}

在此处输入图片描述

如果需要,您还可以使用minpage包装来\includegraphics调整垂直位置。

答案2

由于这是针对所有页面的,因此您可以使用background包裹:

\documentclass{book}
\usepackage[scale=1,opacity=1,angle=0,color=black]{background}
\usepackage{tikzpagenodes}
\usepackage{fancyhdr}

\backgroundsetup{
contents={
  \tikz\node[draw,text width=4cm,anchor=south east,inner sep=10pt,outer sep=0pt] 
    {For office use only  \\[10pt] \rule{4cm}{0.4pt}};
  },
position={current page header area.south east} ,
nodeanchor=south east,
vshift=-\pgflinewidth 
}
\fancyhf{}
\fancyfoot{}
\fancyfoot[LE, RO]{\thepage}
\fancyfoot[LO, CE]{Chapter \thechapter}

\pagestyle{fancy}

\begin{document}

\chapter{Test chapter}
some text\clearpage some text

\end{document}

在此处输入图片描述

tikzpagenodes包用于轻松访问标题区域。

答案3

Harish Kumar 方法的替代方法是定义一个tablehere不会浮动的新环境,如下所示。

\makeatletter
\newenvironment{tablehere}
{\def\@captype{table}}
{}
\makeatother

对于图像有同样的想法

\makeatletter
\newenvironment{figuehere}
{\def\@captype{figure}}
{}
\makeatother

在此处输入图片描述 在此处输入图片描述 在此处输入图片描述

代码

\documentclass[twoside]{book}
\usepackage{fancyhdr}

\makeatletter
\newenvironment{tablehere}
{\def\@captype{table}}
{}
\makeatother


\fancyhead{}
\fancyhead[RO, LE]{
    \begin{tablehere}
    \begin{tabular}[b]{|c|}\hline
    For office use only  \\[10pt] \rule{4cm}{0.4pt}
    \end{tabular}
    \end{tablehere}
}
\fancyfoot{}
\fancyfoot[LE, RO]{\thepage}
\fancyfoot[LO, CE]{Chapter \thechapter}

\makeatletter
\let \ps@plain\ps@fancy
\makeatother

\pagestyle{fancy}

\begin{document}
%  \input{title}

  \chapter{Introduction}
  ...

  \chapter{Background}
  ...

  \chapter{Conclusion}
  ...

\end{document}

相关内容