.png)
Следующий код взят из 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);