如何确保表格自动适应页面宽度?我以为规范会解决这个问题,但似乎并非如此。不幸的是,我无法包含实际图像来说明问题,因此我使用了放大尺寸的虚拟图像来演示问题。
另外,我尝试通过将两列设置为 X[c] 来确保“归一化系数”行中的两幅图像大小相同。但是,这种方法似乎没有达到预期的效果。以下是该问题的 MWE。
\documentclass[journal]{IEEEtran}
\usepackage{lipsum}
\usepackage{graphicx}
\usepackage{xcolor}
\usepackage{tabularray}
\usepackage{amsmath}
\usepackage{adjustbox}
\usepackage[caption=false,font=normalsize,labelfont=sf,textfont=sf,labelformat=simple]{subfig}
\begin{document}
\lipsum[]
\adjustboxset{width=\linewidth, valign=M}
\onecolumn
\begin{longtblr}{
width=\textwidth,
cells = {c},
hlines,
colspec= {|c| X[c,m]}
}
1 & X \\
2 & y \\
3 &\begin{tblr}{
width=\linewidth,
colspec={c X[c] X[c]},
cells={},
hlines,
hline{Z}={3pt,blue5},
row{1-Z}={font=\small},
}
C1 & C2 & C3\\
{Normalized \\Coefficient} & \adjincludegraphics{example-image-a} & \adjincludegraphics{example-image-b} \\
$A$ & \SetCell[c=2]{c} \adjincludegraphics{example-image-a} \\
$B$ & \SetCell[c=2]{c} \adjincludegraphics{example-image-a} \\
\end{tblr} \\
\end{longtblr}
\end{document}
答案1
- 这不是一个真正的答案,但它渴望评论......
- 你的问题并不简单。
- 通过添加,
hspan=minimal
您可以修复图像的宽度,但同时多列单元格中的图像会产生虚假的垂直空间),如果这些单元格包含文本,则不会出现这种情况:
\documentclass[journal]{IEEEtran}
\usepackage{lipsum}
\usepackage[caption=false,
labelfont=sf,textfont=sf,labelformat=simple]{subfig}
\usepackage[export]{adjustbox}
\usepackage{xcolor}
\usepackage{tabularray}
\UseTblrLibrary{amsmath, booktabs}
\begin{document}
\lipsum[1]
\begin{table}[ht]
\adjustboxset{width=\linewidth,
valign=t}
\begin{tblr}{width=\linewidth,
hline{1-Y} = solid,
hline{Z}={3pt,fg=blue5},
cells={font=\small},
colspec={Q[c,m] *{2}{Q[c, wd=30mm]} @{}},
cell{X-Z}{2} = {c=2}{j},
rowsep=3pt,
hspan=minimal
}
C1 & C2 & C3\\
{Normalized \\Coefficient}
& \adjincludegraphics[valign=m]{example-image-a} & \adjincludegraphics[valign=m]{example-image-b} \\
$A$ & \adjincludegraphics[valign=m]{example-image-a} & \\
$B$ & \adjincludegraphics[valign=m]{example-image-b} & \\
$C$ & \lipsum[66] & \\
\end{tblr}
\end{table}
\end{document}
这似乎是由某些错误引起的,所以我们需要软件包作者的帮助。
附录:与此同时该怎么办?
不使用\tabularray
包而是坚持使用旧的tabularx
包:
\documentclass[journal]{IEEEtran}
\usepackage{lipsum}
\usepackage[caption=false,
labelfont=sf,textfont=sf,labelformat=simple]{subfig}
\usepackage[export]{adjustbox}
\usepackage{colortbl}
\usepackage{cellspace, % for adding vertical space around cells' contents
tabularx}
\setlength\cellspacetoplimit{0pt}
\setlength\cellspacebottomlimit{1pt}
\newcommand\mcxx[1]{\multicolumn{2}{>{\hsize=\dimexpr2\hsize+2\tabcolsep\linewidth=\hsize}X @{}}{#1}}
\newlength\colwidth
\usepackage{booktabs}
\begin{document}
\lipsum[1]
\begin{table}[ht]
\setkeys{Gin}{width=\linewidth}
\settowidth\colwidth{Coefficient}
\begin{tabularx}{\linewidth}{@{} >{\centering}p{\colwidth} *{2}{SX} @{}}
\toprule
C1 & C2 & C3\\
\midrule
Normalized Coefficient
& \includegraphics[valign=m]{example-image-a} & \includegraphics[valign=m]{example-image-b} \\
\midrule
$A$ & \mcxx{\includegraphics[valign=m]{example-image}} \\
\midrule
$B$ & \mcxx{\includegraphics[valign=m]{example-image}} \\
\arrayrulecolor{blue}
\bottomrule[3pt]
\end{tabularx}
\end{table}
\end{document}