附录

附录

我正在尝试使用 Latex 创建试卷。下面列出了首页预期页眉的示例副本。注意:图像位于“首页页眉”上方。您能否建议,我如何在页眉中添加表格,并在左侧添加图像,如下所示。有没有推荐的软件包? 在此处输入图片描述

答案1

将表保存在一个框中并\usebox在标题中调用它。

在此示例中,我使用了tabularx包,因为这样您就可以强制表格适合页面的宽度。我还使用了包multirow来允许图像跨越表格的多个行。强制高度有点困难。因此,我尝试了几个重置值\arraystretch和包含图像的高度,以使外观看起来非常合适。

另外,我不确定您希望如何放置标题。我已将密钥传递includeheadgeometry包以将标题嵌入文本主体中。不必这样做,否则您必须调整位置。或者您可以制作top=0.5in或类似的东西以获得更好的标题和边距外观。

\documentclass{article}
\usepackage[margin=1in,headheight=5\baselineskip,headsep=1\baselineskip,includehead]{geometry}
\usepackage{tabularx}
\usepackage{graphicx}
\usepackage{multirow}
%% set up and width for the tabularx environment to expand and fit to.
\newlength{\headerwidth}
\setlength{\headerwidth}{\textwidth}
\newsavebox{\myheader}
\begin{lrbox}{\myheader}%
    \begin{minipage}[b]{\headerwidth}
    \renewcommand{\arraystretch}{1.29}%
    \begin{tabularx}{\headerwidth}{|@{}c@{}|c|X|c|}\hline
    \multirow{3}{*}{\includegraphics[height=0.65in]{example-image-a}}
                                                & \multicolumn{2}{c|}{ TEXT ONE VALUE }                 & Text Four \\\cline{2-3}
                                                & \multirow{2}{*}{1234} & \centering\textbf{Text two}   &           \\\cline{3-3}
                                                &                       & \centering\textbf{Text Three} &           \\\hline
    \end{tabularx}
    \par
    \bfseries
    Time: 45 Min \hspace*{\fill} 
    Date:        \hspace*{\fill}
    Marks:45
    \end{minipage}
\end{lrbox}
%% Setting up the header
\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
\lhead{}
\chead{\usebox{\myheader}}
\rhead{}
\lfoot{}
\cfoot{}
\rfoot{}

\usepackage{lipsum}
\begin{document}
\lipsum[1-3]
\end{document}

在此处输入图片描述

附录

multirow我对这个包没有按照我希望的方式排列东西感到有点沮丧。所以这里有一个避免使用这个multirow包的例子。相反,我用它\raisebox来调整图像和数字的位置1234

我想让图片居中。由于图片的基线位于图形底部,我过去常常\raisebox将图片的高度提高一半。为了防止这影响图片的高度当前的行,我使用可选参数来\raisebox确保它没有高度或深度。

此外,为了帮助保存为了使行的外观统一,我创建了一些支柱。由于没有更好的名字,我称之为水平的“支柱”(请有人告诉我们这种占据水平空间的隐形盒子的正确术语)。

\documentclass{article}
\usepackage[margin=1in,top=0.5in,headheight=5\baselineskip,headsep=1\baselineskip,includehead]{geometry}
\usepackage{tabularx}
\usepackage{graphicx}
%% some invisible "struts" to help define the structures and row heights.
\newcommand{\aevstrut}{\rule{0pt}{2.9ex}}
\newcommand{\aehstrut}{\rule{0.45em}{0pt}}
\newcommand{\textfour}{%
    \begin{tabular}{|c|c|c|c|}
        \aevstrut\aehstrut &
        \aehstrut &
        \aehstrut &
        \aehstrut \\\hline
    \end{tabular}}
%% set up and width for the tabularx environment to expand and fit to.
\newlength{\headerwidth}
\setlength{\headerwidth}{\textwidth}
\newsavebox{\myheader}
\begin{lrbox}{\myheader}%
    \begin{minipage}[b]{\headerwidth}
    \renewcommand{\arraystretch}{1.29}%
    \begin{tabularx}{\headerwidth}{|@{}c@{}|c|X|c|}\hline
                                                & \multicolumn{2}{c|}{ TEXT ONE VALUE }                             & {\aevstrut}Text Four \\\cline{2-3}
        \raisebox{\dimexpr0.73ex-0.5\totalheight\relax}[0pt][0pt]
                 {\includegraphics[height=\dimexpr0.65in+1.5ex\relax]{example-image-a}}%
                                                &                                   & \centering\textbf{TEXT TWO}   & {\aevstrut}\textfour \\\cline{3-3}
                                                & \raisebox{2.5ex}[0pt][0pt]{1234}  & \centering\textbf{TEXT THREE} & {\aevstrut}          \\\hline
    \end{tabularx}
    \vspace{-0.5ex}\par
    \bfseries
    Time: 45 Min \hspace*{\fill} 
    Date:        \hspace*{\fill}
    Marks:45
    \end{minipage}
\end{lrbox}
%% Setting up the header
\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
\lhead{}
\chead{\usebox{\myheader}}
\rhead{}
\lfoot{}
\cfoot{}
\rfoot{}

\usepackage{lipsum}
\begin{document}

\lipsum[1]

\end{document}

在此处输入图片描述

相关内容