给定一个 3x4 的图像表,如何使所有图像具有相同的大小并删除垂直空间以使表格看起来无缝?

给定一个 3x4 的图像表,如何使所有图像具有相同的大小并删除垂直空间以使表格看起来无缝?

我正在使用表格来格式化一系列图像。我的目标是创建一个图像数组,其中从一个图形到下一个图形的过渡是无缝的,即任何地方都没有空白。我的问题是图像是单独的 pdf 文件,带有不同宽度/高度的白色边框。

有没有办法“忽略”边框,即不显示边框,并将图像设置为特定的宽度和高度?我还想删除表格中的任何垂直/水平。

这是我的 MWE:

\documentclass[varwidth]{standalone}
\usepackage{graphicx}
\usepackage{longtable}

\newcommand{\x}{0.15}
\newcommand\ig[1][]{\includegraphics[width= \x\linewidth, height = \x\linewidth,#1]}

\def\thmbpth{./thumbnails}

\begin{document}
\setlength{\tabcolsep}{-1.9pt}
\begin{longtable}{cccc}
\ig{\thmbpth/p13_frame39_cpp_test58} & \ig{\thmbpth/p13_frame42_cpp_test58} & \ig{\thmbpth/p91_frame162_cpp_test58} & \ig{\thmbpth/p39_frame104_cpp_test58} \\
\ig{\thmbpth/p50_frame43_cpp_test58} & \ig{\thmbpth/p50_frame49_cpp_test58} & \ig{\thmbpth/p80_frame152_cpp_test58} & \ig{\thmbpth/p91_frame158_cpp_test58} \\

\ig{\thmbpth/p92_frame63_cpp_test58} & \ig{\thmbpth/p93_frame70_cpp_test58} & \ig{\thmbpth/p52_frame226_cpp_test58} & \ig{\thmbpth/p44_frame85_cpp_test58} \\
\end{longtable}
\end{document}

人物名称是真实名称。这是一个关联实际数据。

先裁剪所有图像会更好吗?

我的问题类似于一张,但我还有更多图像。

问题已编辑,以更新数据链接

编辑:操作系统是 Windows 7。Tex 系统是 MikTex。

答案1

如果您先裁剪图像,则可以轻松设置\tabcolsep=0pt和调整长表线之间的垂直间距。此调整是通过实验获得的-4.1pt,但该值取决于图像的高度。请注意,设置宽度和高度选项将\includegraphics在两个方向上拉伸或收缩图像,直到它们达到预定值。

为了裁剪图像,您可以使用pdfcrop --hiresperl 脚本。这是我在 Windows 下使用的批处理文件(Linux 脚本应该没什么不同)。裁剪后的文件-c在其名称中添加了以下内容:

@echo off
echo "Cropping pdf files ..."
for %%i in (./*.pdf) do pdfcrop %%i  %%~ni-c.pdf --hires --verbose
echo.
echo Done 
pause

LaTeX 代码,得益于@skpbnlack 的提示而得到改进:

    \documentclass[varwidth]{standalone}

    \usepackage[utf8]{inputenc}
    \usepackage{graphicx}
    \usepackage{longtable}
    \newcommand{\x}{0.15}
    \newcommand\ig[1][]{\includegraphics[width= \x\linewidth, height = \x\linewidth,#1]}
    \def\thmbpth{./thumbnails}

    \begin{document}

    \setlength{\tabcolsep}{0pt}\renewcommand\arraystretch{0}
    \begin{longtable}{cccc}
     \noalign{\vskip-11.8pt}
    \ig{\thmbpth/p13_frame39_cpp_test58-c} & \ig{\thmbpth/p13_frame42_cpp_test58-c} & \ig{\thmbpth/p91_frame162_cpp_test58-c} & \ig{\thmbpth/p39_frame104_cpp_test58-c} \\
    \ig{\thmbpth/p50_frame43_cpp_test58-c} & \ig{\thmbpth/p50_frame49_cpp_test58-c} & \ig{\thmbpth/p80_frame152_cpp_test58-c} & \ig{\thmbpth/p91_frame158_cpp_test58-c} \\
    \ig{\thmbpth/p92_frame63_cpp_test58-c} & \ig{\thmbpth/p93_frame70_cpp_test58-c} & \ig{\thmbpth/p52_frame226_cpp_test58-c} & \ig{\thmbpth/p44_frame85_cpp_test58-c} \\
    \end{longtable}

    \end{document} 

请注意,由于第一行的高度,“马赛克”上方仍留有一条白色条纹,因此表格\noalign{\vskip -11.8pt}以此为开头。

在此处输入图片描述

相关内容