
Estoy tratando de dibujar una imagen tikz bastante simple que consta de algunos niveles definidos con mucha precisión. mi codigo es
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{plotmarks}
\newlength{\offset}
\setlength{\offset}{4.72983cm}
\begin{document}
\begin{tikzpicture}[y=1cm]
%axis
\draw (-3,0) -- coordinate (y axis mid) (-3,20);
%ticks
\foreach \y in {0,2,...,20}
\draw (-3,\y) -- (-3.25,\y)
node[anchor=east] {\y};
%labels
\node[rotate=90, above=0.8cm] at (y axis mid) {\textbf{Energy[MeV]}};
%input channel
\draw (-2,12.8435) -- (0,12.8435);
\node[above=0.2cm] at (-1,12.8435) {$p+{}^{19}F$};
%compound nucleus
\draw[very thick] (2,20) -- (2,0) -- (5,0) -- (5,20);
\node[below=0.1cm] at (3.5,0) {${}^{20}Ne$};
%output channel
\draw (7,\offset) -- (9,4.72983);%ground state
\draw (7,5.98765+\offset) -- (9,5.98765+4.72983);%1st state
\end{tikzpicture}
\end{document}
Como puedes ver he establecido una longitud llamada offset
. El problema es que en este momento el panorama es bastante amplio. Lo que quiero es escalarlo solo en y axis
. Si cambio \begin{tikzpicture}[y=1cm]
a \begin{tikzpicture}[y=.6cm]
obtengo la y
dimensión ideal pero los niveles en output channel
no están configurados correctamente.
¿Hay alguna manera de definir una longitud tikz
que adapte las longitudes de tikz? Lo que quiero decir es que, por defecto, la longitud de tikz es 1cm
. Al usar \draw (0,0) -- (0,1);
uno no especifica que se trata de cm. Si se cambia la longitud global (es decir, `[y=0.6]), la línea anterior tendrá una longitud de 0,6 cm. ¿Es posible algo así?
Respuesta1
Observaciones
Utilice una macro para almacenar el valor puro, de modo que tikz
pueda escalarlo utilizando sus propias unidades.
Implementación
\documentclass[tikz]{standalone}
\usetikzlibrary{plotmarks}
\newcommand{\offset}{4.72983}
\begin{document}
\begin{tikzpicture}[y=0.2cm]
%axis
\draw (-3,0) -- coordinate (y axis mid) (-3,20);
%ticks
\foreach \y in {0,2,...,20}
\draw (-3,\y) -- (-3.25,\y)
node[anchor=east] {\y};
%labels
\node[rotate=90, above=0.8cm] at (y axis mid) {\textbf{Energy[MeV]}};
%input channel
\draw (-2,12.8435) -- (0,12.8435);
\node[above=0.2cm] at (-1,12.8435) {$p+{}^{19}F$};
%compound nucleus
\draw[very thick] (2,20) -- (2,0) -- (5,0) -- (5,20);
\node[below=0.1cm] at (3.5,0) {${}^{20}Ne$};
%output channel
\draw (7,\offset) -- (9,4.72983);%ground state
\draw (7,5.98765+\offset) -- (9,5.98765+4.72983);%1st state
\end{tikzpicture}
\end{document}