我想生成一个包含 pgf/tikz 图像和表格的独立 pdf。
我几乎得到了想要的结果,但是图像和表格之间有一个段落破坏了我的布局(我猜这是由于空段落占据了整个文本宽度)。
为了获得这样的结果,我做了以下事情:
\documentclass{standalone}
\usepackage{tikz}
\usepackage{pgf}
\begin{document}
\begin{tikzpicture}
...
\end{tikzpicture}
%This empty line creates the undesired paragraph
\begin{tabular}
...
\end{tabular}
\end{document}
答案1
更新 2011/12/21
我现在发布了standalone
v1.0,它带有一个varwidth
选项,允许垂直内容具有可变宽度。它varwidth
在内部使用基于的环境(和包)minipage
。使用此选项,您可以使用段落分隔符(即空行)来堆叠两者。如果您想要更多的垂直空间,请尝试在它们之间使用\vspace{..}
。
\documentclass[varwidth]{standalone}[2011/12/21]
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw (0,0) rectangle (2,3);
\end{tikzpicture}%
\begin{tabular}{cc}
a & b \\\hline
b & c \\
d & e \\
\end{tabular}%
\end{document}
原始答案:
您需要手动堆叠这两个元素,不能使用换行符或新段落。您可以像 Ignasi 建议的那样使用 TikZ 图片,将两者包装到 中tabular
或使用\shortstack{...\\...}
。也可以使用纯 TeX 命令将其堆叠:\vbox{\hbox{..}\hbox{..}}
。
例子:
\documentclass{standalone}
\usepackage{tikz}
\begin{document}
\vbox{\hbox{%
\begin{tikzpicture}
\draw (0,0) rectangle (2,3);
\end{tikzpicture}%
}\hbox{%
\begin{tabular}{cc}
a & b \\\hline
b & c \\
d & e \\
\end{tabular}%
}}%
\end{document}
和
\documentclass{standalone}
\usepackage{tikz}
\begin{document}
\shortstack{%
\begin{tikzpicture}
\draw (0,0) rectangle (2,3);
\end{tikzpicture}%
\\%
\begin{tabular}{cc}
a & b \\\hline
b & c \\
d & e \\
\end{tabular}%
}%
\end{document}
使用可选参数,\shortstack
您可以选择块的水平对齐方式。
我重用了 Ignasi 的示例代码,以便于比较。
答案2
如果可能的话,您可以将表格包含在 tikzpicture 中。
\documentclass[border=3mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}
\node (figure) at (0,0) {\tikz \draw (0,0) rectangle (2,3);};
\node (tabular) [below = of figure] {\begin{tabular}{cc}
a & b \\\hline
b & c \\
d & e \\
\end{tabular}};
\end{tikzpicture}
\end{document}
我已经测试过standalone
,preview
但尽管裁剪后的高度是正确的,但裁剪后的宽度是文本宽度。如果您知道最终宽度,可以使用来minipage
修复它。