我怎样才能打印页面左侧的表格

我怎样才能打印页面左侧的表格

我想通过 exam 包制作一份数学试卷,但在第一页的左边要有学生的信息。我们可以通过旋转线来处理这个问题。但是,我必须打印的是表格。顺便说一句,如果我在 minipage 环境中使用表格环境,会出现一些错误。这是我应该通过 office 实现的。 在此处输入图片描述

这是没有考试包的代码。

\documentclass{article}
\usepackage{lipsum,tikz}
\begin{document}
\begin{tikzpicture}[remember picture,overlay]
\node [xshift=2cm,yshift=-1.5cm] at (current page.north west) (topleft){};
\node [xshift=2cm,yshift=1.5cm] at (current page.south west) (bottomleft){};
\draw [->] (topleft.south) -- (bottomleft.north);
\end{tikzpicture}

\begin{table}[htbp]
\centering
\caption{mytable}
\begin{tabular}{|c|}
\hline
name\\
\hline
\\
\hline
id\\
\hline
\\
\hline
subject\\
\hline
\\
\hline
\end{tabular}
\end{table}

\lipsum[1-7]

\end{document}

答案1

我会使用标准exam方法,将其挂接到\lhead:左标题将包含\databox,其职责是排版具有零宽度和高度的数据框,但使用参数将其放置在左边距。然后\databox重新定义自身以不执行任何操作。

\documentclass{exam}

\usepackage{lipsum}

\newcommand{\databox}{%
  \smash{\makebox[0pt][r]{%
    \begin{tabular}[t]{|c|}
    \multicolumn{1}{c}{} \\[2in] % lower the box
    \hline
    name\\
    \hline
    \\[2\normalbaselineskip]
    \hline
    id\\
    \hline
    \\[1.5\normalbaselineskip]
    \hline
    subject\\
    \hline
    \\[3\normalbaselineskip]
    \hline
    \end{tabular}\quad
  }}%
  \gdef\databox{}%
}

\lhead{\databox}

\begin{document}

\lipsum[1-9]

\end{document}

在此处输入图片描述

答案2

我建议您设置两个minipage环境,左边是窄环境,右边是宽环境。只要小页面的内容适合整个页面,它们就会垂直居中。在下面的示例中,小页面的宽度比设置为 3:17;显然,您可以自由选择其他比例。

然后,在左侧minipage使用单列tabularx环境。由于看起来不需要设置\caption,所以我认为使用环境没有任何意义table

在此处输入图片描述

\documentclass{article}
\usepackage{lipsum,tabularx}
\newcolumntype{C}{>{\centering\arraybackslash}X}

\begin{document}
\noindent
\begin{minipage}{0.15\textwidth}
\renewcommand\arraystretch{4} % or some other suitable factor
\begin{tabularx}{\textwidth}{|@{}C@{}|}
\hline
Name\\    \hline
{}\\      \hline
id\\      \hline
{}\\      \hline
subject\\ \hline
{}\\      \hline
\end{tabularx}
\end{minipage}
\quad
\begin{minipage}{\dimexpr0.85\textwidth-1em\relax}
\lipsum[1-3]
\end{minipage}
\end{document}

相关内容