独立图表和表格

独立图表和表格

我想生成一个包含 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

我现在发布了standalonev1.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} 

在此处输入图片描述

我已经测试过standalonepreview但尽管裁剪后的高度是正确的,但裁剪后的宽度是文本宽度。如果您知道最终宽度,可以使用来minipage修复它。

相关内容