En los libros de historia, a menudo tiene una línea de tiempo, donde los eventos y períodos se marcan en una línea con la distancia relativa correcta entre ellos. ¿Cómo es posible crear algo similar en LaTeX?¿Cómo crear una línea de tiempo con LaTeX?
Respuesta
El paquete tikz parece tener lo que desea.
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{snakes}
\begin{document}
\begin{tikzpicture}[snake=zigzag, line before snake = 5mm, line after snake = 5mm]
% draw horizontal line
\draw (0,0) -- (2,0);
\draw[snake] (2,0) -- (4,0);
\draw (4,0) -- (5,0);
\draw[snake] (5,0) -- (7,0);
% draw vertical lines
\foreach \x in {0,1,2,4,5,7}
\draw (\x cm,3pt) -- (\x cm,-3pt);
% draw nodes
\draw (0,0) node[below=3pt] {$ 0 $} node[above=3pt] {$ $};
\draw (1,0) node[below=3pt] {$ 1 $} node[above=3pt] {$ 10 $};
\draw (2,0) node[below=3pt] {$ 2 $} node[above=3pt] {$ 20 $};
\draw (3,0) node[below=3pt] {$ $} node[above=3pt] {$ $};
\draw (4,0) node[below=3pt] {$ 5 $} node[above=3pt] {$ 50 $};
\draw (5,0) node[below=3pt] {$ 6 $} node[above=3pt] {$ 60 $};
\draw (6,0) node[below=3pt] {$ $} node[above=3pt] {$ $};
\draw (7,0) node[below=3pt] {$ n $} node[above=3pt] {$ 10n $};
\end{tikzpicture}
\end{document}
no soy muy experto con TikZ, pero esto da una buena línea de tiempo, que se parece:
Hay timeline.sty flotando alrededor.
La sintaxis es más simple que el uso de TikZ:
%%% In LaTeX:
%%% \begin{timeline}{length}(start,stop)
%%% .
%%% .
%%% .
%%% \end{timeline}
%%%
%%% in plain TeX
%%% \timeline{length}(start,stop)
%%% .
%%% .
%%% .
%%% \endtimeline
%%% in between the two, we may have:
%%% \item{date}{description}
%%% \item[sortkey]{date}{description}
%%% \optrule
%%%
%%% the options to timeline are:
%%% length The amount of vertical space that the timeline should
%%% use.
%%% (start,stop) indicate the range of the timeline. All dates or
%%% sortkeys should lie in the range [start,stop]
%%%
%%% \item without the sort key expects date to be a number (such as a
%%% year).
%%% \item with the sort key expects the sort key to be a number; date
%%% can be anything. This can be used for log scale time lines
%%% or dates that include months or days.
%%% putting \optrule inside of the timeline environment will cause a
%%% vertical rule to be drawn down the center of the timeline.
He usado de datetime.data.toordinal pitón para convertir las fechas para '' claves de ordenación en el contexto del paquete.
¿Podría editar su respuesta para incluir un ejemplo? – russellpierce
Tim Storer escribió un aspecto más flexible y más agradable timeline.sty
(Internet Archive Wayback Enlace de la máquina, como original se ha ido). Además, la línea es horizontal en lugar de vertical. Así, por ejemplo:
\begin{timeline}{2008}{2010}{50}{250}
\MonthAndYearEvent{4}{2008}{First Podcast}
\MonthAndYearEvent{7}{2008}{Private Beta}
\MonthAndYearEvent{9}{2008}{Public Beta}
\YearEvent{2009}{IPO?}
\end{timeline}
produce una línea de tiempo que tiene este aspecto:
2008 2010
· · April, 2008 First Podcast ·
· July, 2008 Private Beta
· September, 2008 Public Beta
· 2009 IPO?
Personalmente, creo que ésta sea una solución más agradable que las otras respuestas. Pero también me encuentro modificando el código para acercarme más a lo que creo que debería ser una línea de tiempo. Entonces no hay una solución definitiva en mi opinión.
Si está buscando diagramas de secuencia UML, podría estar interesado en pkf-umlsd, que se basa en TiKZ. Las demos agradables se pueden encontrar here.
No, estaba más interesado en una línea de tiempo como en un libro de historia. Pero gracias, sin embargo, los diagramas UML en LaTeX también pueden aparecer en otro proyecto. – Mnementh
En primer lugar, prefiero tikz
solución guiada, ya que le da más libertad. En segundo lugar, no estoy publicando nada totalmente nuevo. Obviamente es similar a la respuesta de Zoe Gagnon, porque mostró el camino.
Necesitaba un año de línea de tiempo y me tomó un tiempo (¡qué sorpresa!) Hacerlo, así que estoy compartiendo los resultados. Espero que te guste.
\documentclass[tikz]{standalone}
\usepackage{verbatim}
\begin{document}
\newlength\yearposx
\begin{tikzpicture}[scale=0.57] % timeline 1990-2010->
% define coordinates (begin, used, end, arrow)
\foreach \x in {1990,1992,2000,2002,2004,2005,2008,2009,2010,2011}{
\pgfmathsetlength\yearposx{(\x-1990)*1cm};
\coordinate (y\x) at (\yearposx,0);
\coordinate (y\x t) at (\yearposx,+3pt);
\coordinate (y\x b) at (\yearposx,-3pt);
}
% draw horizontal line with arrow
\draw [->] (y1990) -- (y2011);
% draw ticks
\foreach \x in {1992,2000,2002,2004,2005,2008,2009}
\draw (y\x t) -- (y\x b);
% annotate
\foreach \x in {1992,2002,2005,2009}
\node at (y\x) [below=3pt] {\x};
\foreach \x in {2000,2004,2008}
\node at (y\x) [above=3pt] {\x};
\begin{comment}
% for use in beamer class
\only<2> {\fill (y1992) circle (5pt);}
\only<3-5> {\fill (y2000) circle (5pt);}
\only<4-5> {\fill (y2002) circle (5pt);}
\only<5> {\fill[red] (y2004) circle (5pt);}
\only<6> {\fill (y2005) circle (5pt);}
\only<7> {\fill[red] (y2005) circle (5pt);}
\only<8-11> {\fill (y2008) circle (5pt);}
\only<11> {\fill (y2009) circle (5pt);}
\end{comment}
\end{tikzpicture}
\end{document}
Como se puede ver, se adapta a Beamer presentación (sólo en parte y también escalar opción), pero si realmente quieres probarlo en una presentación, debe mover \newlength\yearposx
fuera de la definición del marco, porque de lo contrario, obtendrá un error que indicará que el comando \yearposx
ya está definido (a menos que elimine la parte de selección y cualquier otro comando de división de cuadros de su marco).
Apenas una actualización.
El presente paquete TiKZ emitirá: Paquete tikz Advertencia: las serpientes han sido reemplazadas por las decoraciones . Utilice las bibliotecas de decoración en lugar de la biblioteca de serpientes en la línea de entrada. . .
Así que la parte relativa del código tiene que ser cambiado a:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{decorations}
\begin{document}
\begin{tikzpicture}
%draw horizontal line
\draw (0,0) -- (2,0);
\draw[decorate,decoration={snake,pre length=5mm, post length=5mm}] (2,0) -- (4,0);
\draw (4,0) -- (5,0);
\draw[decorate,decoration={snake,pre length=5mm, post length=5mm}] (5,0) -- (7,0);
%draw vertical lines
\foreach \x in {0,1,2,4,5,7}
\draw (\x cm,3pt) -- (\x cm,-3pt);
%draw nodes
\draw (0,0) node[below=3pt] {$ 0 $} node[above=3pt] {$ $};
\draw (1,0) node[below=3pt] {$ 1 $} node[above=3pt] {$ 10 $};
\draw (2,0) node[below=3pt] {$ 2 $} node[above=3pt] {$ 20 $};
\draw (3,0) node[below=3pt] {$ $} node[above=3pt] {$ $};
\draw (4,0) node[below=3pt] {$ 5 $} node[above=3pt] {$ 50 $};
\draw (5,0) node[below=3pt] {$ 6 $} node[above=3pt] {$ 60 $};
\draw (6,0) node[below=3pt] {$ $} node[above=3pt] {$ $};
\draw (7,0) node[below=3pt] {$ n $} node[above=3pt] {$ 10n $};
\end{tikzpicture}
\end{document}
HTH
Creo que esto se ha convertido en: '\ usetikzlibrary {decorations.pathmorphing}'. Además, haga '\ documentclass [tikz] {standalone}' si desea que una imagen compactada se inserte en otro documento. – PatrickT
Hay un nuevo chronology.sty por Levi Wiseman. El documentation (pdf) dice:
mayoría de los paquetes de línea de tiempo y soluciones para el látex se utilizan para transmitir una gran cantidad de información y, por tanto, están diseñados verticalmente. Si solo intenta asignar etiquetas a las fechas, una línea de tiempo más tradicional podría ser más apropiada. Eso es para qué es la cronología.
Aquí es un código de ejemplo:
\documentclass{article}
\usepackage{chronology}
\begin{document}
\begin{chronology}[5]{1983}{2010}{3ex}[\textwidth]
\event{1984}{one}
\event[1985]{1986}{two}
\event{\decimaldate{25}{12}{2001}}{three}
\end{chronology}
\end{document}
que produce esta salida:
Debe tenerse en cuenta que este paquete parece solo admitir una línea de tiempo por documento. Al menos para mí, obtengo el error "command \ c @ step already defined" cuando intento tener más de uno. – russellpierce
Intenté modificar el archivo chronology.sty para obtener una línea de tiempo vertical pero no tuve éxito. ¿Hay una versión vertical de esto? – highsciguy
¿Qué paquete contiene '' '\ textwidth'''? –
también el paquete chronosys proporciona una buena solución. He aquí un ejemplo del manual de usuario:
gracias!aunque extraño, el tipo que escribió la documentación sigue llamando a la línea de tiempo un "friso" como si eso fuera lo mismo que una línea de tiempo. solo poniendo eso aquí en caso de que alguien más lea la documentación. –
- 1. ¿Cómo crear un control de línea de tiempo?
- 2. ¿Cómo crear un calendario resaltado usando LaTex?
- 3. Aprenda a crear estilos LaTeX?
- 4. Regla LaTeX \ llenando la línea
- 5. ¿Cómo crear una entrada de línea múltiple con tkinter?
- 6. Crear diagrama de línea de tiempo en HTML/JS/CSS
- 7. saltos de línea automatizados en tablas LaTeX
- 8. Crear código en LaTeX look * nice *
- 9. Tamaño de página LaTeX --- ¿cómo puedo crear una página que sea "lo suficientemente grande"?
- 10. LaTeX ayuda con href
- 11. ¿Cómo crear un diagrama de dispersión de tiempo con R?
- 12. ¿Cómo crear una instancia de java.util.Calendar en tiempo de época?
- 13. ¿Puedo crear documentos LaTeX en formato EPUB?
- 14. LaTex: ¿cómo crear cajas con alturas y anchuras fijas, con texto cerrado alineado vertical y horizontalmente?
- 15. Latex Artículo en línea "Falta $ insertado". error
- 16. LaTeX: sangría desde la segunda línea
- 17. Crear LaTeX PDF en Jenkins/Hudson
- 18. ¿Hay una calculadora con sintaxis LaTeX?
- 19. ¿Cómo puedo crear una consulta de ActiveRecord de forma incremental, línea por línea?
- 20. Formularios PDF con LaTeX: cómo crear \ TextField de exactamente 4 pulgadas de ancho?
- 21. ¿Cómo puedo crear una línea en una aplicación WinForms?
- 22. Referencias con texto en LaTeX
- 23. Android cómo crear una miniatura en tiempo de ejecución
- 24. Clojure: Cómo crear una función en tiempo de ejecución
- 25. Flash - Agregar marco a la línea de tiempo, al inicio de la línea de tiempo
- 26. una sustitución en LaTeX
- 27. Pasando argumentos de línea de comando al documento LaTeX
- 28. ¿Cómo subrayar encabezados de sección en LaTeX?
- 29. Crear tipo genérico con interfaz genérica en tiempo de ejecución
- 30. ¿Cómo crear controles en tiempo de ejecución?
aquí mi respuesta: http://tex.stackexchange.com/questions/183046/how-do-i-develop-a-complex- línea de tiempo/227149 # 227149 Espero que pueda ayudar – flav