从 LaTeX 构建裁剪的 PDF 图像

从 LaTeX 构建裁剪的 PDF 图像

我在一个单独的文件中创建了一个图像pgfplots,并想将由此生成的 PDF 作为图像添加到我的报告中。问题是创建的图像 PDF 是完整的 A4 格式。

我如何才能创建一个具有最小纸张尺寸的 LaTeX 文件?documentclass我需要什么?

\documentclass{article}

\usepackage{pgfplots}

\begin{document}
    \begin{tikzpicture}
        \begin{axis}[
        ybar stacked,
        title={title here},
        ylabel={workshift occupation (in \%)},
        symbolic x coords={Day shift, Weekend shift},
        xtick=data,
        x=0.2\textwidth,
        bar width=0.1\textwidth,
        enlarge x limits=0.5,
        legend style={
            anchor=north,
            at={(0.5,-0.1)},
            legend columns=-1}]
        \addplot coordinates
        {(Day shift,60) (Weekend shift,30)};
        \addplot coordinates
        {(Day shift,30) (Weekend shift,65)};
        \addplot coordinates
        {(Day shift,10) (Weekend shift,5)};
        \legend{task1, task2, task3}
        \end{axis}
    \end{tikzpicture}
\end{document}

答案1

您可以standalone为此使用文档类。

请注意,该standalone包提供的功能远不止裁剪(如文档中所述)。具体来说,pdf您无需在文件中包含裁剪,而是可以将\input文件standalone放入mainfile使用中(在您的示例中)

\documentclass{article}

\usepackage{pgfplots}   % need to load all packages needed by sub-files
\usepackage{standalone} % load as a package in the main file

\begin{document}

\input{myfigurefile}

\end{document}

这将删除 的序言,仅包含和myfigurefile.tex之间的代码。\begin{document}\end{document}

答案2

如果你总是将每个 TikZ/PSTricks 图表(或其他)编写在单独的可编译 (La)TeX 输入文件中,并将其编译以生成 PDF,那么使用预览就够了而且简单!

\documentclass{article}

\usepackage{pgfplots}

\usepackage[active,tightpage]{preview}
\PreviewBorder=2pt
\PreviewEnvironment{tikzpicture}


\begin{document}
    \begin{tikzpicture}
        \begin{axis}[
        ybar stacked,
        title={title here},
        ylabel={workshift occupation (in \%)},
        symbolic x coords={Day shift, Weekend shift},
        xtick=data,
        x=0.2\textwidth,
        bar width=0.1\textwidth,
        enlarge x limits=0.5,
        legend style={
            anchor=north,
            at={(0.5,-0.1)},
            legend columns=-1}]
        \addplot coordinates
        {(Day shift,60) (Weekend shift,30)};
        \addplot coordinates
        {(Day shift,30) (Weekend shift,65)};
        \addplot coordinates
        {(Day shift,10) (Weekend shift,5)};
        \legend{task1, task2, task3}
        \end{axis}
    \end{tikzpicture}
\end{document}

我不认为输入下面三行

\usepackage[active,tightpage]{preview}
\PreviewBorder=2pt
\PreviewEnvironment{tikzpicture}

会浪费很多时间。

相关内容