這是我的 MWE,根據 Andre Stacey 的外觀進行了修改愛好包,我用它編譯xelatex
:
\documentclass[crop]{standalone}
\PassOptionsToPackage{cmyk,svgnames,dvipsnames,hyperref}{xcolor}
\usepackage{tikz}
\usetikzlibrary{hobby}
\begin{document}
\begin{tikzpicture}[use Hobby shortcut, every path/.style={line width=2mm, Gold, double=MidnightBlue, double distance=1mm}]
\draw ([closed]0,2) .. ([blank=soft]210:0.5) .. (-30:2) ..([blank=soft]0,0.5) .. (210:2) .. ([blank=soft]-30:0.5);
\draw[use previous Hobby path={invert soft blanks,disjoint}];
\end{tikzpicture}
\end{document}
產生的 PDF 在頂部被緊密裁剪,但在其他三邊具有非零邊距/邊框。請點擊下面的圖片查看:
有人可以解釋為什麼會這樣並建議如何修正嗎?
這個問題可以透過單獨應用pdfcrop
到 PDF 來解決,但我想從源頭解決問題。
答案1
bbox
從以下位置下載庫這裡並使用它。
\documentclass[crop]{standalone}
\PassOptionsToPackage{cmyk,svgnames,dvipsnames,hyperref}{xcolor}
\usepackage{tikz}
\usetikzlibrary{bbox,hobby}
\begin{document}
\begin{tikzpicture}[bezier bounding box,use Hobby shortcut, every path/.style={line width=2mm, Gold, double=MidnightBlue, double distance=1mm}]
\draw ([closed]0,2) .. ([blank=soft]210:0.5) .. (-30:2) ..([blank=soft]0,0.5) .. (210:2) .. ([blank=soft]-30:0.5);
\draw[use previous Hobby path={invert soft blanks,disjoint}];
\end{tikzpicture}
\end{document}
你看到額外空間的原因是 TikZ 根據曲線的控制點而不是曲線計算邊界框。