我正在使用表格来格式化一系列图像。我的目标是创建一个图像数组,其中从一个图形到下一个图形的过渡是无缝的,即任何地方都没有空白。我的问题是图像是单独的 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 --hires
perl 脚本。这是我在 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}
以此为开头。