y-Verschiebung/x-Verschiebung verwendet mit (aktuelle Begrenzungsbox.Norden)

y-Verschiebung/x-Verschiebung verwendet mit (aktuelle Begrenzungsbox.Norden)

Der folgende Code stammt aus dem pgfHandbuch:

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

Ich möchte die Grundlinie an dieser Stelle (aktueller Begrenzungsrahmen Nord) um 3 pt etwas anheben und habe es daher folgendermaßen versucht yshift:

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

Die Kompilierung schlägt jedoch fehl.

Kann mir jemand bei meiner Frage helfen?

MWE:

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

Antwort1

Lassen Sie mich meine(n) Kommentar(e) umwandeln und erweitern:

  • Definieren Sie die Position mit Hilfe voncurrent 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}

Bildbeschreibung hier eingeben

Hinweis: shiftDie Koordinate von „von“ muss innerhalb der übergeordneten Elemente liegen, in denen die Koordinate geschrieben wird: ([yshift=...] <coordinate>). Wenn die Koordinate als Option (zu tikzpictureoder zur Bestimmung von „von“ \coordinate) in eckigen Klammern angegeben wird, sollte sie in geschweifte Klammern eingeschlossen werden, wie es im obigen MWE gemacht wird.

  • Definieren Sie die Position ohne Verwendung von 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);

Bildbeschreibung hier eingeben

verwandte Informationen