Dibujar una recta numérica en TikZ con descripciones de texto

Dibujar una recta numérica en TikZ con descripciones de texto

Me preguntaba cómo se podría construir la siguiente recta numérica usando TikZ:

https://i.stack.imgur.com/oQtaD.jpg

Intenté leer las otras preguntas aquí, pero el principal desafío que tengo es: (1) Crear los tres puntos "..." en el medio de la recta numérica y (2) Colocar las llaves en dos. partes, y (3) Poner texto encima y debajo de algunas de las líneas rizadas.

¡Gracias!

Respuesta1

  • En su pregunta no muestra un boceto de la imagen deseada, solo un enlace no accesible.
  • Espero que esa imagen en la respuesta de @Tom se acerque lo suficiente a lo que buscas.
  • Dibujaría este dibujo de forma un poco diferente, como me gusta tener:

ingrese la descripción de la imagen aquí

  • Intento escribir MWE estructurado lo más conciso y claro posible:
\documentclass[border=3.141592]{standalone}
\usepackage{amsmath}
\usepackage{tikz}
\usetikzlibrary{arrows.meta, 
                decorations.pathreplacing,%
                    calligraphy,% had to be after decorations.pathreplacing
                calc}

\begin{document}
    \begin{tikzpicture}[
             > = Straight Barb,
BC/.style args = {#1/#2}{
        decorate,
        decoration={calligraphic brace, amplitude=6pt,
                    pre =moveto, pre  length=1pt,
                    post=moveto, post length=1pt,
                    raise=#1,
                    #2,% for mirroring of brace
                    },
            ultra thick},
                        ]
\draw [ultra thick,->] (-7.5,0) -- (7.5,0);
    \foreach \i [count=\x from -6] in  {-23,-22,-21,-20,-19,\dotsm,1,2,...,6}
\draw[thick] (\x,3mm) -- ++ (0,-6mm) node (n\x) [below] {$\i$};
%
\draw[BC=4mm/]          (-6,0) -- node[above=6mm] {other text} (-2,0); 
\draw[BC=8mm/mirror]    ( 0,0) -- coordinate[below=11mm] (aux)  (5,0);
\draw[<->, semithick, densely dashed, rounded corners] 
    (n-6) -- node[fill=white] {some text} ++ (0,-1.3) -| (aux);
    \end{tikzpicture}
\end{document}

Respuesta2

Aquí hay una solución. ¿Hay alguna manera de hacer que el código sea más conciso? ¿Algún consejo?

\documentclass[border=1cm]{standalone}
\usepackage{tikz}
\usetikzlibrary{arrows.meta, decorations.pathreplacing,calc}

\begin{document}
\begin{tikzpicture}
\draw [line width=5pt,-{Triangle[length=0.5cm,width=0.5cm]}] (-7.5,0) -- (7.5,0);
\foreach \x in {-6,...,-2} {
\draw [line width=2pt] (\x,-0.5) node (bx\x) [font=\Large,xshift=-6pt,below=0.5cm] {\pgfmathparse{\x-17}$\mathbf{\pgfmathprintnumber{\pgfmathresult}}$} -- (\x,0.5) coordinate (tx\x);}
\draw [line width=2pt] (-1,-0.5) node (bx-1)  [font=\bfseries\Large,below=0.75cm] {\dots} -- (-1,0.5) coordinate (tx-1);
\foreach \x in {0,...,6} {
\draw [line width=2pt] (\x,-0.5) node (bx\x) [font=\Large,below=0.5cm] {\pgfmathparse{\x+1}$\mathbf{\pgfmathprintnumber{\pgfmathresult}}$} -- (\x,0.5) coordinate (tx\x);}
\draw [decorate,decoration={brace,raise=10pt,amplitude=20pt}] (tx-6) -- (tx-1) node (TB) [midway,above=1.2cm,font=\large] {\textbf{Other Text}};
\draw [decorate,decoration={brace,raise=10pt,amplitude=20pt,mirror}] (bx0.south) -- (bx6.south) node (BB) [midway,below=1cm] {};
\draw [{[scale=2]Triangle}-] ($(bx-6)+(6pt,-10pt)$) -- ++(0,-0.7) node (ST) [below=4pt,font=\large] {\textbf{Some Text}};
\draw [shorten <=6pt,shorten >=6pt,-{[scale=2]Triangle}] (ST.south) .. controls +(-80:1.5cm) and +(200:1.5cm) .. (BB.south west);
\end{tikzpicture}
\end{document}

ingrese la descripción de la imagen aquí

información relacionada