tikz
为什么当我尝试使用基线重新缩放图形时\resizebox
会向上移动(无论比例因子有多小),并且两个水平浮点数没有正确对齐。
\documentclass[twocolumn]{article}
\usepackage{tikz}
\usepackage{graphicx}
\usepackage{subfig}
\pagestyle{empty}
\begin{document}
\begin{figure}
\centering
\begin{tabular}{cc}%
\subfloat[]{%
\fbox{
\resizebox{0.5\linewidth}{!}{%
\begin{tikzpicture}
\node {a};%
\end{tikzpicture}%
}%end resize
}%fbox
}&%end subfloat
\subfloat[]{%
\begin{tabular}{c|cccc}%
& 0 & 1 & \dots & n\\\hline
a & & & &\\
b & & & &\\
c & & & &\\
\dots & & & &\\
d & & & &\\
\end{tabular}%
}%end subfloat
\end{tabular}%
\caption{Why resizebox shifts the baseline up?}
\end{figure}
\end{document}
答案1
问题不在于 的基线,\resizebox
而在于默认情况下位于中心的表格基线。因此,使用 更改表格的基线[b]
可解决此问题:
\documentclass[twocolumn]{article}
\usepackage{tikz}
\usepackage{graphicx}
\usepackage{subfig}
\pagestyle{empty}
\begin{document}
\begin{figure}
\centering
\begin{tabular}{cc}%
\subfloat[]{%
\fbox{
\resizebox{0.5\linewidth}{!}{%
\begin{tikzpicture}
\node {a};%
\end{tikzpicture}%
}%end resize
}%fbox
}&%end subfloat
\subfloat[]{%
\begin{tabular}[b]{c|cccc}% === [b] added here ===
& 0 & 1 & \dots & n\\\hline
a & & & &\b & & & &\c & & & &\\dots & & & &\d & & & &\\end{tabular}%
}%end subfloat
\end{tabular}%
\caption{Why resizebox shifts the baseline up?}
\end{figure}
\end{document}
附录 2013-01-04:
正如用户 adn 所发现的,标题仍然没有完全对齐。(见下面的评论。)一个可能的解决方案是切换到subcaption
包及其\subcaptionbox
命令:
\documentclass[twocolumn]{article}
\usepackage{tikz}
\usepackage{graphicx}
\usepackage{subcaption}
\pagestyle{empty}
\begin{document}
\begin{figure}
\centering
\begin{tabular}{cc}%
\subcaptionbox{}{%
\fbox{
\resizebox{0.5\linewidth}{!}{%
\begin{tikzpicture}
\node {a};%
\end{tikzpicture}%
}%end resize
}%fbox
}&%end subcaptionbox
\subcaptionbox{}{%
\begin{tabular}{c|cccc}%
& 0 & 1 & \dots & n\\\hline
a & & & &\b & & & &\c & & & &\\dots & & & &\d & & & &\\end{tabular}%
}%end \subcaptionbox
\end{tabular}%
\caption{Why resizebox shifts the baseline up?}
\end{figure}
\end{document}
[b]
请注意,这里不需要更改内部表格(带有)的基线,因为\subcaptionbox
的基线始终位于内容和标题之间,因此两个\subcaptionbox
es 默认已经对齐。