Saltar al contenido

¿Cómo puedo dibujar una línea de tiempo usando tikz con la función de enumerar/enumerar (ejemplo gráfico adjunto)

El paso a paso o código que encontrarás en este artículo es la resolución más fácil y efectiva que hallamos a tus dudas o dilema.

Solución:

Alguno key Puntos de tu pregunta:

  • documentclass[tikz, border=5pt]standalone hace tu tikzpicture Mas Compacto.
  • Dibujar la flecha: Usar draw [->] () -- (); Puede cambiar la forma de la flecha como desee. (Yo suelo [-stealth] en el ejemplo a continuación.)
  • Especificar coordenadas: coordinate () at (,);
  • Calcular coordenadas: coordinate () at ($()+(,)$);. los $...$ aquí reclama un entorno de cálculo temporal en lugar de una fórmula matemática.
  • Posicionamiento de texto: Uso [anchor=...] opciones
  • Agregar itemize entorno: simplemente colóquelos en el nodo como: node [...] at (...) beginitemize ... enditemize;.

Aquí hay un ejemplo de trabajo, puede mejorarlo con foreach gramática.

ingrese la descripción de la imagen aquí

documentclass[tikz, border=5pt]standalone

usepackagetikz
usepackagelipsum

begindocument
begintikzpicture
usetikzlibrarycalc

% draw arrow
coordinate (start) at (-4,0);
coordinate (end) at (26,0);
draw [line width=2pt, -stealth] (start) -- (end);

% You can use `foreach` to improve the following codes
coordinate (s0) at (1,0);
coordinate (t0) at ($(s0)+(0,0.3)$);
coordinate (s1) at (11,0);
coordinate (t1) at ($(s1)+(0,0.3)$);
coordinate (s2) at (21,0);
coordinate (t2) at ($(s2)+(0,0.3)$);

% draw ticks
draw [line width=2pt] (s0) -- (t0);
node [anchor=south] at (t0.north) $t=0$;

draw [line width=2pt] (t1) -- (s1);
node [anchor=south] at (t1.north) $t=1$;

draw [line width=2pt] (t2) -- (s2);
node [anchor=south] at (t2.north) $t=2$;

% add texts
node [anchor=north, align=left, text width=9cm] at (s0.south) 
beginitemize
item lipsum[1]
item lipsum[2]
enditemize
;

node [anchor=north, align=left, text width=9cm] at (s1.south) 
beginitemize
item lipsum[3]
item lipsum[4]
enditemize
;

node [anchor=north, align=left, text width=9cm] at (s2.south) 
beginitemize
item lipsum[5]
item lipsum[6]
enditemize
;

endtikzpicture
enddocument

una alternativa:

  • utilizando el enumitem paquete para listas en nodos
  • nodo se colocan utilizando el positioning biblioteca
  • la línea de tiempo se dibuja desde la esquina superior izquierda del primer nodo hasta la esquina superior derecha del último nodo
  • Los eventos temporales están determinados por la foreach círculo

por esta medida el código del ejemplo del documento es más simple, más limpio y más corto.

editar:
ups, ahora veo que olvidé agregar el mwe :-(. ahora está aquí:

documentclass[a4paper, 12 pt]article
usepackagetikz
usetikzlibrarypositioning
usepackageenumitem

begindocument
    beginfigure
    setlist[itemize]nosep, leftmargin=*
begintikzpicture[
 node distance = 0mm and 0.02linewidth,
    box/.style = inner xsep=0pt, outer sep=0pt,
                  text width=0.32linewidth,
                  align=left, font=small
                    ]
node (n1) [box]
           beginitemize
        item   The shareshoulders design compensation contract for the manager simultaneously.
            enditemize
        ;
node (n2) [box, below right=of n1.north east]
           beginitemize
        item   The manager of each firm privately observes its entry cost;
        item   The manager make entry decision simultaneously;
        item   Trading and financial market occurs.
            enditemize
        ;
node (n3) [box, below right=of n2.north east]
           beginitemize
        item   Entry cost and profits are realised;
        item   Manager receive their compensation;
        item   Firms are liquidated.
         enditemize
         ;
draw[thick, -latex]    (n1.north west) -- (n3.north east);
foreach x [count=xx from 1] in 0,1,2
    draw (nxx.north) -- + (0,3mm) node[above] $t=x$;
endtikzpicture
    endfigure
enddocument

ingrese la descripción de la imagen aquí

(las líneas rojas indican los bordes del texto)

valoraciones y reseñas

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *