预览和独立裁剪过多的 tikz 图片

预览和独立裁剪过多的 tikz 图片

当我尝试将页面大小调整到适合 tikz 图像的大小时,裁剪过多。无论我使用\documentclass{standalone}\documentclass[preview=true]{standalone}还是\usepackage[active,tightpage]{preview}\PreviewEnvironment{tikzpicture}。完整源代码:

\documentclass{minimal}

\usepackage{tikz}
\definecolor{darkred}{rgb}{0.5,0,0}

\begin{document}

\begin{tikzpicture}
    \begin{scope}[color=lightgray]
        \draw (-8,0) -- (8,0);
        \filldraw[shift={(8,0)},scale=0.25] +(-210:1) -- +(210:1) -- +(0:1) -- cycle;
        \draw (0,-8) -- (0,8);
        \filldraw[shift={(0,8)},scale=0.25,rotate=90] +(-210:1) -- +(210:1) -- +(0:1) -- cycle;
    \end{scope}
    \newcommand\hyper[4][]{\draw[mark=*,mark options={fill=black}] plot [#1] ({#2*exp(#4)+#3*exp(-#4)}, {#2*exp(#4)-#3*exp(-#4)})}
    \newcommand\hyperline[6]{\draw ({#1*exp(#3)+#2*exp(-#3)}, {#1*exp(#3)-#2*exp(-#3)}) -- ({#4*exp(#6)+#5*exp(-#6)}, {#4*exp(#6)-#5*exp(-#6)})}
    \pgfsetplotmarkrepeat{6}
    \foreach \a in {-1, 1}{%
        \foreach \b in {-1, 1}{%
            \begin{scope}[very thin, color=gray]
                \begin{scope}[domain=-2:2]
                    \hyper\a0\x;
                    \hyper0\b\x;
                    \hyper\a\b\x;
                \end{scope}
                \begin{scope}[domain=-1.3:1.3]
                    \hyper{\a*2}{\b*2}\x;
                \end{scope}
            \end{scope}
        }
    }
    \begin{scope}[color=darkred]
        \foreach \k in {0,...,2}{%
            \hyperline0{-1}\k1{-1}\k;
            }
    \end{scope}
\end{tikzpicture}

\end{document}

看起来像这样:

在此处输入图片描述

看完之后tikz、预览包和 xelatex 中的透明度,我尝试手动设置尺寸:

\usepackage{geometry}
\geometry{paperwidth=163mm,paperheight=163mm,margin=0mm}

但这给了我错误信息:

! 包几何错误:\paperwidth(0.0pt)太短。

答案1

好的,问题解决了standalone。这是环境后面的空行tikzpicture。就像这里提到的:独立包创建固定宽度的页面

下面的代码使它与 一起工作preview。请注意,它是在 之后加载的tikz

\documentclass{minimal}

\usepackage{tikz}
\definecolor{darkred}{rgb}{0.5,0,0}

\usepackage[active,tightpage]{preview}
\PreviewEnvironment{tikzpicture}

最后一个问题是由于该类minimal无法与 一起使用geometry。只需使用该类article即可使其工作。(另请参阅为什么要避免使用最小类?

相关内容