yshift/xshift используется с (текущая ограничивающая рамка.север)

yshift/xshift используется с (текущая ограничивающая рамка.север)

Следующий код взят из pgfруководства:

Top align:
\tikz[baseline=(current bounding box.north)]
\draw (0,0) rectangle (1cm,1ex);

Я намерен немного поднять базовую линию в этой позиции (текущая ограничивающая рамка. север) на 3 пункта, поэтому я попробовал сделать yshiftвот так:

Top align:
\tikz[baseline=[yshift=3pt](current bounding box.north)]
\draw (0,0) rectangle (1cm,1ex);

но компиляция не пройдена.

Кто-нибудь может помочь мне с моим вопросом?

МВЭ:

\documentclass[a4paper]{article}
\usepackage{tikz}
\usetikzlibrary{shapes.misc}
\begin{document}
Top align:
    \tikz[baseline=(current bounding box.north)]
    \draw (0,0) rectangle (1cm,1ex);
\end{document}

решение1

Позвольте мне преобразовать и расширить свой комментарий(и):

  • определить позицию с использованиемcurrent bounding box
\documentclass[a4paper]{article}
\usepackage{tikz}
\begin{document}
Top align:
    \tikz[baseline={([yshift=1ex] current bounding box.north)}]
    \draw (0,0) rectangle (1cm,1ex);
\end{document}

введите описание изображения здесь

Примечание: shiftнекоторая координата должна быть внутри родителей, в которых записана координата: ([yshift=...] <coordinate>). Если координата задана как опция (для tikzpictureили для определения некоторой \coordinate) в квадратных скобках, то она должна быть заключена в фигурные скобки, как это сделано в MWE выше.

  • определить позицию без использования current bounding box:
\documentclass[a4paper]{article}
\usepackage{tikz}
\begin{document}
Aligned with a text    
    \tikz[baseline]
    \draw (0,0) rectangle (1cm,1ex);
and displaced for some amount:
    \tikz[baseline=2ex]
    \draw (0,0) rectangle (1cm,1ex);

введите описание изображения здесь

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