我正在制作一个列表,我想在列表的每个元素旁边放一张该元素的图片,我尝试使用表格,这样图片就在文本旁边,但我希望文本位于中间,而不是图片底部。以下是我尝试的方法:
\documentclass[12pt,a4paper]{article}
\usepackage{graphicx}
\begin{document}
\begin{tabular}{cc}
$A_n:\ y^2-x^{n+1}=0$ & \includegraphics[width=60mm]{images/An szing.pdf} \\
& \\
$D_n$ & \includegraphics[width=60mm]{images/D_n szing.pdf}\\
\end{tabular}
\end{document}
非常感谢您的帮助,如果我第一次提出这个问题,我也很抱歉没有回答好。
答案1
通过 José Carlos Santos 给出的链接,可以找到 tabularray 包作者的答案。(它让我看到了图像对齐的重要性)stretch=0
。h
代码
\documentclass{article}
% \usepackage[a4paper,vmargin=2cm,hmargin=1cm]{geometry}
\usepackage{graphicx}
\usepackage{xcolor}
\usepackage{tabularray}
\begin{document}
\noindent
\begin{tblr}{
colspec = {X[c,mode=math]Q[c,h]},
stretch = 0,
rowsep = 6pt,
hlines = {red5, 1pt},
vlines = {red5, 1pt},
}
A_n:\ y^2-x^{n+1}=0&\includegraphics[width=0.5\textwidth]{example-image-a}\\
D_n &\includegraphics[width=0.5\textwidth]{example-image-b}\\
\end{tblr}
\end{document}
答案2
adjustbox
如果您使用可选的加载,则可以轻松解决您的问题[export]
。只需添加valign=c
到 的选项中\includegraphic
,该图像就会居中。
在代码中,为了方便起见,我还重新定义了列:第一个 为>{$}c<{$}
这样就不再需要数学表达式$...$
(需要array
包);第二个 为p{60mm}
。随着后者的变化,如果width
指定为\linewidth
,图像将获得等于其父列的可选宽度,因此参数只能在一个地方更改。
\documentclass[12pt,a4paper]{article}
\usepackage{array}
\usepackage[demo]{graphicx}
\usepackage[export]{adjustbox}
\begin{document}
\begin{tabular}{
>{$}c<{$}
p{60mm}
}
A_n:\ y^2-x^{n+1}=0
& \includegraphics[width=\linewidth, valign=c]{images/An szing.pdf}
\\[10ex]
D_n
& \includegraphics[width=\linewidth, valign=c]{images/D_n szing.pdf}
\end{tabular}
\end{document}