我在尝试制作包含照片且在页面另一侧有文本的 tabularx 表格时遇到了麻烦。现在照片溢出了文本,不再包含在表格中。我希望表格包含行之间的垂直间距以容纳图片,但现在我不知道该怎么做
这是产生它的代码:
\documentclass{resume}
\usepackage[utf8]{inputenc}
\usepackage[spanish]{babel}
\usepackage[T1]{fontenc}
\usepackage{hyperref}
\usepackage{graphicx}
\usepackage{tabularx}
\newcolumntype{M}[1]{>{\centering\arraybackslash}m{#1}}
\renewcommand{\tabularxcolumn}[1]{M{#1}}
\newcolumntype{Y}{>{\centering\arraybackslash}X}
\usepackage{multirow}
\begin{document}
\begin{center}
\begin{tabularx}{\textwidth}{|M{3cm}|Y|}
\hline
\multirow{4}{*}{\includegraphics[width=2.5cm, height=2.5cm]{image.jpg}}
& \MakeUppercase{\huge\bf Name Goes Here} \\
& (+34) 999 999 999 $\diamond$ [email protected] \\
& \href{example.com}{LinkedIn} · \href{example.com}{GitHub} \\
& Someplace, Somewhere \\
\hline
\end{tabularx}
\end{center}
\end{document}
答案1
有了tabularray
包裹你就可以避免你的问题。
编辑:
这是多行单元格的实现,用于\SetCell[r=<number>]{<cell formatting options>} <cell contents>
当单元格内容高于相邻列中跨行的自然高度时,不会突出单元格底部,而是通过为跨行单元格添加垂直空间使其更高。这可以通过选项 来控制vspan
,可以是default
(空间添加到底部单元格)或even
(有关详细信息,请参阅包文档:部分3.1 表格规格)。
tabularray
该包的功能如下新的可能性处理这些问题的方法,这些问题在给定的链接中的答案中没有涵盖,重复了(现在已经六年了)的问题,而这些问题当时tabularray
还不存在。
\documentclass{article}%{resume} % since I haven't loaded resume document class
\usepackage[utf8]{inputenc}
\usepackage[spanish]{babel}
\usepackage[T1]{fontenc}
\usepackage{graphicx}
\usepackage{tabularray}
\usepackage[colorlinks,
urlcolor=blue]{hyperref}
\begin{document}
\begin{center}
\begin{tblr}{hline{1,Z}, vlines,
colspec={Q[c,m,wd=25mm] X[1, c,m]},
rowsep = {1pt}
row{1} = {font=\huge\bfseries, abovesep=5pt},
}
\SetCell[r=4]{m} \includegraphics[width=\linewidth]{example-image-duck}
& \MakeUppercase{Name Goes Here} \\
& (+34) 999 999 999 $\diamond$ [email protected] \\
& \href{example.com}{LinkedIn} · \href{example.com}{GitHub} \\
& Someplace, Somewhere \\
\end{tblr}
\end{center}
\end{document}
附录: 当自然尺寸图像的高度大于宽度时,图像仍将停留在表格内。例如:
\SetCell[r=4]{m} \SetCell[r=4]{m} \includegraphics[width=\linewidth,height=27mm]{example-image-duck}
& \MakeUppercase{Name Goes Here} \\
比 MWE 编译的结果
在这种情况下,考虑在表格中使用大字体可能是明智的。在第一行\Huge
和第 2-4 行\large
,可以通过表格前言中的以下选项进行设置:
row{1} = {font=\Huge\bfseries, abovesep=5pt},
row{2-Z} = {font=\large},
其结果如下: