![将图形放置在多行表格单元格内](https://linux22.com/image/253666/%E5%B0%86%E5%9B%BE%E5%BD%A2%E6%94%BE%E7%BD%AE%E5%9C%A8%E5%A4%9A%E8%A1%8C%E8%A1%A8%E6%A0%BC%E5%8D%95%E5%85%83%E6%A0%BC%E5%86%85.png)
是否可以将图形放置在多行单元格内?垂直对齐被破坏了。这与 tikz 的边界框有什么关系吗?
以下 mwe 产生以下结果
编辑
贡萨洛·梅迪纳 (Gonzalo Medina) 回答后的澄清。
为什么需要限制width
图形的大小?图形是一个方框。合并单元格中不能刚好容纳这个方框吗?有些图形必须很大才能看得见。
编辑2
在 GM 的评论之后,我意识到这multirow
只能在水平方向上起作用,在垂直方向上不起作用。不幸的是,我无法使数字变小,因为它们看起来不好看。所以我必须增加未合并行的高度。
也许一个解决方法是计算 *.pdf 的高度,将其除以未合并行数,然后使用\vphantom{}
未合并单元格来增加其高度。或者某种框。arraystretch
如果没有没有数字的行,增加高度可能也会有效。
有没有更有效的方法来处理这种情况?
\documentclass[]{article}
\usepackage{amsmath}
\usepackage{graphicx}
\usepackage{booktabs}
\usepackage{multirow}
\usepackage{tabu}
\begin{document}
\begin{table}
\centering
\renewcommand{\arraystretch}{2}
\begin{tabu}{ccc}
\toprule
Sections & Axis & Imperfections\\
\midrule
\multirow{2}{*}{\includegraphics[width=3cm]{circular_hollow.pdf}} & $y-y$ & $\dfrac{L}{200}$ \\
& $z-z$ & $\dfrac{L}{150}$ \\
\bottomrule
\end{tabu}
\end{table}
\end{document}
circular_hollow.pdf
由以下文件生成
\documentclass[a4paper,12pt,fleqn]{article}
\usepackage{graphicx}
\usepackage[usenames,dvipsnames,svgnames]{xcolor}
\usepackage{mathtools}
\usepackage{tkz-tab,tkz-euclide}
\usetkzobj{all} % all the objects
\usepackage[xetex,active,tightpage]{preview}
\PreviewEnvironment[]{tikzpicture}
\PreviewEnvironment[]{pgfpicture}
\begin{document}
\begin{tikzpicture}[>=stealth]
\tkzInit[xmin=-4.5, xmax=4.5, ymin=-4.5, ymax=4.5]
\useasboundingbox(-4.5, -4.5) rectangle (4.5, 4.5);
% Concrete and steel section
\tkzDefPoints{0/0/O, 0/3/R}
\tkzDrawCircle[fill=black!10,line width=8pt](O,R)
% Steel Rebars + Stirrups
\tkzDefPoints{0/0/O, 0/2.3/R}
\tkzDrawCircle[fill=black!30,line width=2pt](O,R)
\foreach \a in {0,30,...,360}{%
\tkzDefPoint(\a:2){A}
\tkzDrawPoint(A)
}
% Axes
\tkzDefPoints{0/0/O, -4/0/Y, 0/-4/Z}
\tkzLabelPoint[left](Y){\huge $y$}
\tkzLabelPoint[below](Z){\huge $z$}
\tkzDrawSegments[line width=2pt,->](O,Y O,Z)
\end{tikzpicture}
\end{document}
答案1
我刚刚看到的一种可能的解决方法(无需修改图形)是这样的:
- 包含包
bigstrut
- 使用的其他参数
multirow
:- 大支柱: 价值2。
- 修理: 价值2毫米
\bigstrut
为每一行添加一个调用。- 增加
\arraystretch
至3。
主文件的代码tex
如下:
\documentclass[]{article}
\usepackage{amsmath}
\usepackage{graphicx}
\usepackage{booktabs}
\usepackage{multirow,bigstrut}
\usepackage{tabu}
\begin{document}
\begin{table}
\centering
\renewcommand{\arraystretch}{3}
\begin{tabu}{ccc}
\toprule
Sections & Axis & Imperfections\\
\midrule
\multirow{2}[2]{*}[2mm]{\includegraphics[width=3cm]{circular_hollow.pdf}} & $y-y$ & $\dfrac{L}{200}$ \bigstrut \\
& $z-z$ & $\dfrac{L}{150}$ \bigstrut \\
\bottomrule
\end{tabu}
\end{table}
\end{document}
答案2
对于那些想知道如何将图像放入表格中的人来说,突出的一点是{*}
in后面的括号修复\multirow
:
\multirow{2}{*}[fixup]{\includegraphics[width=2in]{...}}
例如:
\multirow{2}{*}[0.5in]{\includegraphics[width=2in]{...}}
通过调整修复,您可以避免 Latex 将图像放置在表格中太低位置的默认行为。