Las coordenadas de un nodo de texto en tikz especifican el centro del cuadro. ¿Hay alguna manera de hacer que especifique el borde izquierdo del cuadro?

Las coordenadas de un nodo de texto en tikz especifican el centro del cuadro. ¿Hay alguna manera de hacer que especifique el borde izquierdo del cuadro?

Me gustaría que las dos líneas de texto a la derecha de las líneas diagonales estén alineadas a la izquierda. ¿Hay alguna manera de hacer esto?

\begin{tikzpicture}

\node[text] at (2,4) {/p/};

\draw (2.5,4) -- (5,5);
\draw (2.5,4) -- (5,3);

\node[text,align=left] at (7.2,5) {\textipa{[b]} / [+voice] \_\_ [+voice]};
\node[text,align=left] at (6.5,3) {[p] / elsewhere};

\end{tikzpicture}

ingrese la descripción de la imagen aquí

Respuesta1

Puede utilizar anchor=westpara especificar la ubicación del cuadro a través de su punto más a la izquierda, o simplemente right.

\documentclass{article}
\usepackage{tikz}
\usepackage{tipa}
\begin{document}
\begin{tikzpicture}
 \node at (2,4) {/p/};
 \draw (2.5,4) -- (5,5) node[right,align=left] {\textipa{[b]} / [+voice] \_\_ [+voice]};
 \draw (2.5,4) -- (5,3) node[right,align=left] {[p] / elsewhere};
\end{tikzpicture}

\begin{tikzpicture}
 \node at (2,4) {/p/};
 \draw (2.5,4) -- (5,5) node[anchor=west,align=left] {\textipa{[b]} / [+voice] \_\_ [+voice]};
 \draw (2.5,4) -- (5,3) node[anchor=west,align=left] {[p] / elsewhere};
\end{tikzpicture}
\end{document}

ingrese la descripción de la imagen aquí

Respuesta2

Hay muchas formas de hacerlo, además de los métodos de la marmota. Aquí hay tres de ellos (agregaré más si encuentro uno en el futuro).

Método 1

\documentclass[tikz,margin=3mm]{standalone}
\begin{document}
\begin{tikzpicture}
\draw (0,0) node[right] {Something} -- (-2,-1) node[left] {Dummy text} -- (0,-2) node[right] {Hello World};
\end{tikzpicture}
\end{document}

ingrese la descripción de la imagen aquí

Puede utilizar coordenadas polares en lugar de coordenadas cartesianas. Además, esta forma es bastante natural (yo prefiero esta) y no requiere ningún Ti.kBibliotecas Z. Sin embargo, esta no es una forma estándar ( \drawhasta donde yo sé, se supone que no debe hacer estas cosas).

Método 2

\documentclass[tikz,margin=3mm]{standalone}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}
\node (x) {Something};
\node[below left=1cm and 2cm of x.south west] (o) {Dummy text};
\node[below right=1cm and 2cm of o.south east] (y) {Hello World};
\draw (x.west)--(o.east)--(y.west);
\end{tikzpicture}
\end{document}

ingrese la descripción de la imagen aquí

De esta manera use el comando estándar para insertar cadenas en TikImágenes Z: \node. Sin embargo, alinear los textos y controlar las posiciones no es realmente fácil en mi humilde opinión. Necesitas positioningbiblioteca.

Método 3

\documentclass[tikz,margin=3mm]{standalone}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}
\coordinate[label=right: Something] (x);
\coordinate[label=right: Hello World,below=2cm of x] (y);
\coordinate[label=left: Dummy text,below left=1cm and 2cm of x] (o);
\draw (x)--(o)--(y);
\end{tikzpicture}
\end{document}

ingrese la descripción de la imagen aquí

De esta manera se utiliza \coordinateel comando con labelopción.

información relacionada