Увеличиваем интервал вокруг всех tikzpictures

Увеличиваем интервал вокруг всех tikzpictures

Я знаю, что могу легко увеличить пространство, занимаемое tikzpicture,

\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}

Теперь у меня много тикзпиков, поэтому я попробовал

\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}

который терпит неудачу с dimension too large. Я думаю, код оценивается несколько раз, или что вызывает ошибку?

решение1

Содержимое every pictureвыполняется в начале tikzpicture, когда ограничивающий прямоугольник равен нулю на ноль. Предположительно, это приводит к делению на ноль, ответственному за ошибку.

Вы хотите, чтобы код выполнялся не в начале, а в конце tikzpicture. backgroundsБиблиотеку можно использовать для этого, создав , background rectangleкоторый пуст. По умолчанию граница обрамлена линией рисования, поэтому передайте , draw=noneчтобы сделать ее невидимой, и используйте outer frame sepдля установки отступа.

\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}

В настоящее время отображение изображений приостановлено из-за ошибки Okular-on-X. Приносим извинения за сбой в работе визуальных сервисов.

Связанный контент