我正在使用LaTeX 软件包创建一个包含三列的多页表格,其中一列仅包含图像。但是,如屏幕截图所示,longtable
中间和右侧列之间的垂直线未延伸到顶部。\hline
这是我用来创建表格的代码。我删除了大部分代码行,以便更容易使用,因为基本上是重复了同一行代码。
\begin{longtable}{m{0.5\textwidth}|m{0.25\textwidth}|m{0.15\textwidth}}
Thumbnail & Description & Number of Images \\
\hline \\
\endhead
\includegraphics[width=0.45\textwidth]{img/data/some_img1.png} & Description 1 & 2 \\
\includegraphics[width=0.45\textwidth]{img/data/some_img2.png} & Description 2 & 10 \\
\caption{Gathered Data}
\label{tbl:some_data_table}\\
\end{longtable}
谢谢!
答案1
作为Zarko 已经在评论中提到\\
,您可以通过删除以下内容来消除垂直线中不需要的间隙\hline
:
\documentclass{article}
\usepackage{longtable}
\usepackage{graphicx}
\usepackage{array}
\begin{document}
\begin{longtable}{m{0.5\textwidth}|m{0.25\textwidth}|m{0.15\textwidth}}
Thumbnail & Description & Number of Images \\
\hline
\endhead
\includegraphics[width=0.45\textwidth]{example-image} & Description 1 & 2 \\
\includegraphics[width=0.45\textwidth]{example-image} & Description 2 & 10 \\
\caption{Gathered Data}
\label{tbl:some_data_table}\\
\end{longtable}
\end{document}
如您所见,删除\\
还会删除 和第一幅图像之间的小垂直空白\hline
。如果您想在图像周围保留这样的空间,我建议使用包cellspace
。在接下来的 MWE 中,我还使用了包,xltabular
以使表格与文本宽度一样宽,而无需手动计算所需的列宽。我还添加了包adjustbox
以使用该valing
选项。最后,我还将 移到了\caption
表格的顶部,因为在开始实际表格之前告知读者表格的内容可能是一个好主意。特别是如果您的表格长度超过一页。
\documentclass{article}
\usepackage{xltabular}
\usepackage{graphicx}
\usepackage{array}
\usepackage[export]{adjustbox}
\usepackage{cellspace}
\setlength\cellspacetoplimit{\tabcolsep}
\setlength\cellspacebottomlimit{\tabcolsep}
\usepackage{makecell}
\begin{document}
\begin{xltabular}{\textwidth}{Sc|X|l}
\caption{Gathered Data}\label{tbl:some_data_table}\\
\makecell[l]{Thumbnail} & Description & \makecell[l]{Number of\\ Images} \\
\hline
\endhead
\includegraphics[width=0.45\textwidth,valign=c]{example-image} & Description 1 & 2 \\
\includegraphics[width=0.45\textwidth,valign=c]{example-image} & Description 2 & 10 \\
\end{xltabular}
\end{document}
就我个人而言,我也会完全删除垂直线并使用包中的水平线booktabs
。我还会对单元格的内容进行顶部对齐:
\documentclass{article}
\usepackage{xltabular}
\usepackage{graphicx}
\usepackage{array}
\usepackage[export]{adjustbox}
\usepackage{cellspace}
\setlength\cellspacetoplimit{\tabcolsep}
\setlength\cellspacebottomlimit{\tabcolsep}
\usepackage{makecell}
\usepackage{booktabs}
\begin{document}
\begin{xltabular}{\textwidth}{@{}ScXl}
\caption{Gathered Data}\label{tbl:some_data_table}\\
\toprule
\multicolumn{1}{l}{Thumbnail} & Description & \makecell[l]{Number of\\ Images} \\
\midrule
\endhead
\bottomrule
\endfoot
\includegraphics[width=0.45\textwidth,valign=t]{example-image} & Description 1 & 2 \\
\includegraphics[width=0.45\textwidth,valign=t]{example-image} & Description 2 & 10 \\
\end{xltabular}
\end{document}