我在将图形包含在 中时遇到问题tabularx
。当我简单地使用 时\includegraphics
,图像就在单元格的顶部,覆盖了分隔线。但是,如果我使用技巧并添加 ,例如\vspace{-0.2cm}
,图像将被移动降低。这对我来说似乎很奇怪。有什么好的解决方法可以使图像垂直居中?如何解释这种效果?
这是第一个代码:
\documentclass{beamer}
\usepackage{tabularx}
\usepackage{graphicx}
\setlength\floatsep{0pt}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\begin{document}
\begin{frame}
\begin{tabularx}{\textwidth}{|X|X|X|X|}\hline
Kép&Helyszín&Vezető&Vezetett\\\hline
\includegraphics[width=0.2\textwidth]{example-image}&&&\\\hline
\end{tabularx}
\end{frame}
\end{document}
这是第二个:
\documentclass{beamer}
\usepackage{tabularx}
\usepackage{graphicx}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\begin{document}
\begin{frame}
\begin{tabularx}{\textwidth}{|X|X|X|X|}\hline
Kép&Helyszín&Vezető&Vezetett\\\hline
\vspace{-0.2cm}{\includegraphics[width=0.2\textwidth]{example-image}}&&&\\\hline
\end{tabularx}
\end{frame}
\end{document}
答案1
默认情况下,X 列是p
类似的列\parbox[t]
,因此基线放在单元格第一项的基线上。
如果只有一张图片,则对齐方式是在图片的基础上进行的。如果添加空格,那么即使\vspace{0pt}
这样也会将一个项目(零长度的粘合节点)放在图片上方,因此表格行的对齐方式就在图片上方。
您可能更喜欢X
使用m
类似的列\parbox[c]
并将基线放在内容的垂直中心。
\renewcommand\tabularxcolumn[1]{m{#1}}
答案2
该 cellspace
包使用起来很简单,它允许您使用以字母为前缀的说明符定义列中单元格顶部和底部的最小垂直填充S
:
\documentclass{beamer}
\usepackage{tabularx}
\usepackage{graphicx, adjustbox}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{cellspace}
\setlength{\cellspacetoplimit}{4pt}
\setlength{\cellspacebottomlimit}{4pt}
\addparagraphcolumntypes{X}
\begin{document}
\begin{frame}
\setlength{\extrarowheight}{2pt}
\begin{tabularx}{\textwidth}{|S{X}|X|X|X|}\hline
Kép&Helyszín&Vezető&Vezetett\\\hline
\includegraphics[width=0.2\textwidth]{pepe-le-pew2}&&&\\\hline
\end{tabularx}
\end{frame}
\end{document}