请问如何解决图中问题
\documentclass{ctexart}
\usepackage{tabularray,graphicx}
\begin{document}
\begin{center}
\begin{tblr}{%
hlines,
vlines,
cells={m,c}
}
标题 & 情况一 & 情况二 & 情况三\\
{这是\\图像} &\includegraphics[width=0.13\paperwidth]{example-image-a}&\includegraphics[width=0.13\paperwidth]{example-image-b}&\includegraphics[width=0.13\paperwidth]{example-image-c}\\
测试 & 测试 & 测试 &测试\\
\end{tblr}
\end{center}
\end{document}
这是一个基线的问题,在tabularray的github中有讨论,由于我无法访问github,因此无法给你具体的链接。
我写的一个joinbox盒子拼接宏包已上传CTAN,可以在拼接图像时指定输出基线,以下代码仅供参考:
\documentclass{ctexart}
\usepackage{tabularray,graphicx}
\usepackage{joinbox}
\begin{document}
\begin{center}
\begin{tblr}{%
hlines,
vlines,
cells={m,c}
}
标题 & 情况一 & 情况二 & 情况三\\
{这是\\图像} &
\joinfigs[vc,0.13\paperwidth]{example-image-a}&
\joinfigs[vc,0.13\paperwidth]{example-image-b}&
\joinfigs[vc,0.13\paperwidth]{example-image-c}\\
测试 & 测试 & 测试 &测试\\
\end{tblr}
\end{center}
\end{document}
排版的结果为:
另一种治标的解决方案,用 minipage
包起来。
\documentclass{ctexart}
\usepackage{tabularray,graphicx}
\begin{document}
\begin{center}
\begin{tblr}{%
hlines,
vlines,
% colspec={*3cQ[cmd={\raggedright},m]},
cells={m,c}
}
标题 & 情况一 & 情况二 & 情况三\\
{这是\\图像} &\begin{minipage}{0.13\paperwidth}\includegraphics[width=0.13\paperwidth]{example-image-a}\end{minipage}&\begin{minipage}{0.13\paperwidth}\includegraphics[width=0.13\paperwidth]{example-image-b}\end{minipage}&\begin{minipage}{0.13\paperwidth}\includegraphics[width=0.13\paperwidth]{example-image-c}\end{minipage}\\
测试 & 测试 & 测试 &测试\\
\end{tblr}
\end{center}
\end{document}
使用adjustbox
提供的valign
。
关键代码是
\includegraphics[valign=c]{example-image}
简单讲就是调整图片的基线位置,调整为垂直中部即可。
\documentclass{ctexart}
\usepackage{tabularray}
\usepackage{graphicx}
\usepackage[export]{adjustbox}
\begin{document}
\begin{tblr}{hlines,vlines,cells={m,c}}
标题 & 情况一 & 情况二 & 情况三 \\
{这是\\图像} & \includegraphics[width=0.13\paperwidth]{example-image-a} & \includegraphics[width=0.13\paperwidth]{example-image-b} & \includegraphics[width=0.13\paperwidth]{example-image-c} \\
测试 & 测试 & 测试 & 测试 \\
\end{tblr}
\begin{tblr}{hlines,vlines,cells={m,c}}
标题 & 情况一 & 情况二 & 情况三 \\
{这是\\图像} & \includegraphics[width=0.13\paperwidth,valign=c]{example-image-a} & \includegraphics[width=0.13\paperwidth,valign=c]{example-image-b} & \includegraphics[width=0.13\paperwidth,valign=c]{example-image-c} \\
测试 & 测试 & 测试 & 测试 \\
\end{tblr}
\end{document}
谢谢耿教授
我看了tex.stackexchange.com是用
adjustbox
宏包来用的,调整了\def\adjboxvcenter{0.2\baselineskip}
来用的,看不懂。我这就去看看教授的
joinbox
宏包请问
joinbox
是需要更新texlive吗?@u21174 不一定,可以在CTAN下载joinbox宏包,然后放到工作目录就可以了。也可以下载这个: joinbox.zip。解压后,把
joinbox.sty
放到工作目录就可以。当然,我不知道你的发行版,不能确定你的Expl3是不是支持相应操作。
@u78 我更新到最新版本了,已经看到教授的
joinbox
宏包了,谢谢