\hline 将第一个单元格初始化为空。这样就会绘制垂直线。
\documentclass[12pt]{report}
\usepackage{graphicx} %Used for importing grapics
\usepackage{bookmark} %This will create the digitale bookmarks of the resulting pdf
\usepackage[top=1.25in, bottom=1.5in, left=1in, right=1in]{geometry} % setting the margins of the paper
\newcounter{versionnumber}
\newcommand{\version}[3]{
v.\theversionnumber .0 &
#1 & % parameter 1
#2 & % parameter 2
#3 \\ % parameter 3
\hline %draw line under each version
\stepcounter{versionnumber}
}
\newenvironment{changelist}
{ \begin{tabular}{
| m{0.10\textwidth} % set static column width
|| m{0.28\textwidth}
| m{0.12\textwidth}
| m{0.40\textwidth} | }
\hline
\textbf{Version} &
\textbf{Author} &
\textbf{Date} &
\textbf{Change log} \\
\hline % Draw horizontal line under column titels
& & & \\ % Leave some whitespace
}
{ \end{tabular} }
\begin{document}
\setcounter{versionnumber}{1}
\begin{changelist}
\version{A name}{A date}{some explanation}
\end{changelist}
\end{document}
有人能帮我吗?我不知道为什么要绘制第二行第一个单元格的垂直线。当给出一个值时。这个值被放在第一个单元格上,而它旁边的单元格也出现了同样的问题。
答案1
\hline
做不是初始化第一个单元格。 的定义\hline
是(来自latex.ltx
):
\def\hline{%
\noalign{\ifnum0=`}\fi\hrule \@height \arrayrulewidth \futurelet
\reserved@a\@xhline
}
\def\@xhline{%
\ifx\reserved@a\hline
\vskip\doublerulesep
\vskip-\arrayrulewidth
\fi
\ifnum0=`{\fi}%
}
有很多“巫术”,但重要的是,这条线是在里面画的\noalign
。
TeX 基元\noalign
可以在新的表格行开始之前使用,并且它采用放置在该位置的垂直模式材料而不考虑对齐。
你的手机也是不是空的,它包含\stepcounter{versionnumber}
,足以在新行中开始一个新单元格。Again\noalign
可用于“隐藏”\stepcounter
分配,因为计数器分配在 LaTeX 中是全局的:
\hline
\noalign{\stepcounter{versionnumber}%
完整示例(包含array
列说明符所需的包m
):
\documentclass[12pt]{report}
\usepackage{array} % provides column specifier "m"
\usepackage{graphicx} % Used for importing grapics
\usepackage{bookmark} % This will create the digitale bookmarks of the resulting pdf
\usepackage[top=1.25in, bottom=1.5in, left=1in, right=1in]{geometry} % setting the margins of the paper
\newcounter{versionnumber}
\newcommand{\version}[3]{
v.\theversionnumber .0 &
#1 & % parameter 1
#2 & % parameter 2
#3 \\ % parameter 3
\hline % draw line under each version
\noalign{\stepcounter{versionnumber}}%
}
\newenvironment{changelist}
{ \begin{tabular}{
| m{0.10\textwidth} % set static column width
|| m{0.28\textwidth}
| m{0.12\textwidth}
| m{0.40\textwidth} | }
\hline
\textbf{Version} &
\textbf{Author} &
\textbf{Date} &
\textbf{Change log} \\
\hline % Draw horizontal line under column titels
& & & \\ % Leave some whitespace
}
{ \end{tabular} }
\begin{document}
\setcounter{versionnumber}{1}
\begin{changelist}
\version{A name}{A date}{some explanation}
\end{changelist}
\end{document}