Sé que puedo aumentar fácilmente el espacio que ocupa una imagen tikz
\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}
Ahora tengo muchas fotos tikz, así que lo intenté.
\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}
que falla con dimension too large
. Supongo que el código se evalúa varias veces o ¿qué está causando el error?
Respuesta1
El contenido de every picture
se ejecuta al principio de tikzpicture
, cuando el cuadro delimitador es cero por cero. Presumiblemente esto conduce a una división por cero responsable del error.
Desea que el código se ejecute no al principio sino al final de tikzpicture
. La backgrounds
biblioteca se puede utilizar para esto creando una background rectangle
que esté vacía. De forma predeterminada, el borde está enmarcado con una línea de dibujo, así que páselo draw=none
para hacerlo invisible y utilícelo outer frame sep
para configurar el relleno.
\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}
Actualmente, las imágenes están suspendidas debido a un error de Okular-on-X. Disculpas por la interrupción de los servicios visuales.