Den Abstand um alle Tikzbilder vergrößern

Den Abstand um alle Tikzbilder vergrößern

Ich weiß, dass ich den Platzbedarf eines Tikz-Bildes leicht erhöhen kann, indem ich

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{fit}
\begin{document}
    y\tikz {\fill circle (2pt); \node[fit=(current bounding box), inner sep=2pt, draw] {};}x
\end{document}

Jetzt habe ich viele Tikzbilder, also habe ich versucht

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{fit}
\tikzset{every picture/.append code={\node[fit=(current bounding box), inner sep=2pt, draw] {};}}
\begin{document}
    y\tikz {\fill circle (2pt);}x
\end{document}

was mit fehlschlägt dimension too large. Ich vermute, der Code wird mehrfach ausgewertet, oder was verursacht den Fehler?

Antwort1

Der Inhalt von every picturewird zu Beginn von ausgeführt tikzpicture, wenn die Begrenzungsbox Null mal Null ist. Dies führt vermutlich zu einer Division durch Null, die für den Fehler verantwortlich ist.

Sie möchten, dass der Code nicht am Anfang, sondern am Ende ausgeführt wird tikzpicture. Die backgroundsBibliothek kann hierfür verwendet werden, indem ein background rectangleleeres Element erstellt wird. Standardmäßig ist der Rand mit einer Linie eingerahmt. Geben Sie daher ein, draw=noneum ihn unsichtbar zu machen, und verwenden Sie , outer frame sepum die Polsterung festzulegen.

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{backgrounds}
\tikzset{every picture/.append style={show background rectangle,background rectangle/.style={draw=none,outer frame sep=2pt}}}
\begin{document}
  y\tikz {\fill circle (2pt);}x
\end{document}

Aufgrund eines Okular-on-X-Fehlers ist die Bildgebung derzeit ausgesetzt. Wir entschuldigen uns für die Unterbrechung der visuellen Dienste.

verwandte Informationen