是否有可能在表格环境中完全抑制单元格的所有底部填充?
编辑 2:正如@Joseph Wright 在评论中指出的那样,我有一些杂散的换行符,它们引入了额外的空间。所以@gernot 的答案是正确的。
编辑:我尝试过这些答案,但它们并不总是有效。例如:
\documentclass[10pt]{article}
\usepackage{array}
\usepackage{hyphenat}
\usepackage{geometry}
\geometry{a4paper, portrait, margin=2.5cm}
\usepackage{enumitem}
\setlist{nosep}
\pagenumbering{gobble}
\newenvironment{resume}[1]
{
\noindent{\LARGE {\bf {#1}}} \\
\noindent\makebox[\linewidth]{\rule{\textwidth}{0.2pt}}
\vspace{-0.2cm} \\
}
{
}
\newcommand{\rsectionbegin}[1]{
\renewcommand\arraystretch{0}
\setbox\strutbox=\hbox{}
\noindent\begin{tabular}{@{}p{3cm}p{12.5cm}}
\noindent{\uppercase \nohyphens{#1}}
&
}
\newcommand{\rsectionend}{
\end{tabular}
% \\
}
\newcommand{\rwherebegin}[2]{
{\bf #1}, {#2} \par
}
\newcommand{\rwhereend}{
\vspace{0.25cm}
}
\newcolumntype{R}[1]{>{\raggedleft\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\newcommand{\rrole}[2]{
\vspace{0.15cm}
\begin{tabular}[t]{@{}p{9cm}R{3.05cm}}
{\em {#1}} & {\bf {#2}}
\end{tabular}
}
\newcommand{\rwhat}[1]{
{#1} \par
}
\newcommand{\rskills}[1]{
({#1}) \par
}
\newenvironment{ritemize}
{
\begin{itemize}[leftmargin=0.2cm]
}
{
\end{itemize}
}
\begin{document}
\begin{resume}{L}
\rsectionbegin{A}
\rwherebegin{A}{A}
\rrole{A}{A}
\begin{ritemize}
\item[] A
\item[] A
\end{ritemize}
\rrole{A}{A}
\rwhereend
\rsectionend
\rsectionbegin{X}
Y
\rsectionend
\end{resume}
\end{document}
这仍然在 Y 和前面的文本之间留有空格。我是否应该使用不同的环境或包?
答案1
给定一个普通tabular
环境,您可以设置\arraystretch
为0
消除单元格之间的距离。使用命令添加空间\\
最终会位于上方\hline
(如果存在),即看起来像单元格底部的空间。但是,您可以添加支柱。
\documentclass{article}
\parindent0em
\parskip1ex
\begin{document}
Setting \verb"\arraystretch" to 0.
\renewcommand\arraystretch{0}
\begin{tabular}{c}
A\\B\\C\\D\\E
\end{tabular}
Adding distance between rows using \verb"\\[...]" appears to end up
again below the cell.
\begin{tabular}[t]{c}
A\\
B\\[1ex]
C\\[3ex]
D\\
E
\end{tabular}
\qquad
\begin{tabular}[t]{c}
A\\\hline
B\\[1ex]\hline
C\\[3ex]\hline
D\\\hline
E
\end{tabular}
But we can insert an invisible rule that extends from the base line
upwards.
\newcommand\spaceabove[1]{\rule{0em}{#1}}
\begin{tabular}[t]{c}
A\\\hline
B\\\hline
\spaceabove{3ex}%
C\\\hline
\spaceabove{5ex}%
D\\\hline
E
\end{tabular}
\qquad
\begin{tabular}[t]{c}
A\\\hline
B\\\hline
\spaceabove{3ex}%
C\\\hline
\spaceabove{5ex}%
D\\\hline
E
\end{tabular}
\end{document}
答案2
LaTeXtabular
构造在单元格开头插入材料,以确保它们具有最小高度:这是由 设置的\strutbox
。您可以将其设置为一个空框以抑制此
\documentclass{article}
\begin{document}
\setlength\fboxsep{0pt}%
\setbox\strutbox=\hbox{}
\fbox{%
\begin{tabular}{@{}c@{}}
\fbox{a}
\end{tabular}%
}
\end{document}
尽管这样做是为了避免不同行有不同的高度!