我希望在valign=t
带 的图像的顶部和底部有对称的填充。我尝试array
了\extrarowheight
,这会在图像之间引入一些间距。但是,当您添加 时rowcolors
,它看起来并不对称(它只会在上方添加空间,而不会在下方添加空间)。
有没有办法
- 使图像 A 和 B 不粘在一起
- 将它们与第一列中的文本顶部对齐
- 按行颜色垂直居中图像和文本?
\documentclass{article}
\usepackage{mwe} % blindtext, example image
\usepackage{tabularx}
\usepackage{array} % required by tabularx; extrarowheight
\usepackage[export]{adjustbox} % valign
\usepackage[table]{xcolor}
\begin{document}
\rowcolors{1}{gray!20}{}
\setlength\extrarowheight{10pt}
\begin{tabularx}{15cm}{|X|X|}
Foo &
\includegraphics[width=\hsize,valign=t]{example-image-a} \\
\blindtext &
\includegraphics[width=\hsize,valign=t]{example-image-b} \\
Bar &
\includegraphics[width=\hsize,valign=t]{example-image-c} \\
\end{tabularx}
\end{document}
答案1
您可以在图像下方添加与上面相同的空间:
\documentclass{article}
\usepackage{mwe} % blindtext, example image
\usepackage{tabularx}
\usepackage{array} % required by tabularx; extrarowheight
\usepackage[export]{adjustbox} % valign
\usepackage[table]{xcolor}
\usepackage{tikz}
\begin{document}
\rowcolors{1}{gray!20}{}
\setlength\extrarowheight{10pt}
\begin{tabularx}{15cm}{|X|X|}
Foo &
\includegraphics[width=\hsize,valign=t,trim=0pt -10pt 0pt 0pt]{example-image-a}\par\vspace{\extrarowheight} \\
\blindtext &
\includegraphics[width=\hsize,valign=t]{example-image-b} \\
Bar &
\includegraphics[width=\hsize,valign=t]{example-image-c} \\
\end{tabularx}
\end{document}
答案2
若要以对称方式在单元格的顶部和底部添加一些填充,可以加载cellspace
,它定义了一个最小在以字母为前缀的说明符的列中单元格顶部和底部的垂直间距S
(或者C
如果您加载siunitx
。
您还可以使用padding= llx lly urx ury
键进行游戏adjustbox
。
最后,为了使左侧单元格中的文本相对于图像居中,请将X
列类型 的定义更改m{some length}
为 而不是p
。
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[showframe]{geometry}
\usepackage{mwe} % blindtext, example image
\usepackage{ragged2e}
\usepackage{tabularx}
\usepackage[export]{adjustbox} % valign
\usepackage[table]{xcolor}
\renewcommand{\tabularxcolumn}[1]{>{\RaggedRight\arraybackslash}m{#1}}
\usepackage{cellspace}
\setlength{\cellspacetoplimit}{5pt}
\setlength{\cellspacebottomlimit}{5pt}
\addparagraphcolumntypes{X}
\begin{document}
\rowcolors{1}{gray!20}{}
\noindent\begin{tabularx}{\linewidth}{|S{X}|X|}
Foo &
\includegraphics[width=\hsize,valign=t]{example-image-a} \\
\blindtext &
\includegraphics[width=\hsize,valign=t, padding = 0ex 2ex 0ex 2ex]{example-image-b} \\
Bar &
\includegraphics[width=\hsize,valign=t, padding = 0ex 0ex 0ex 2ex]{example-image-c} \\
\end{tabularx}
\end{document}