Frage

In der Geschichte-Bücher haben Sie oft Timeline, wo Ereignisse und Perioden auf einer Linie in der richtigen relativen Abstand zueinander gekennzeichnet sind. Wie ist es möglich, etwas ähnliches in LaTeX zu erstellen?

War es hilfreich?

Lösung

Das tikz Paket zu haben scheint, was Sie wollen.

\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}

Ich bin nicht zu Experten mit tikz, aber das macht einen guten Zeitplan geben, das wie folgt aussieht:

eingeben Bild Beschreibung hier

Andere Tipps

Es gibt einen neuen Chronologie. sty von Levi Wiseman . Die Dokumentation (pdf) sagt:

  

Die meisten Timeline-Pakete und Lösungen für LATEX verwendet, um eine Vielzahl von Informationen zu vermitteln und vertikal daher ausgelegt sind. Wenn Sie nur versuchen, Etiketten Daten zuweisen, eine traditionellere Timeline könnte besser geeignet sein. das ist   welche Chronologie ist.

Hier ist ein Beispiel-Code:

\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}

Welche erzeugt diese Ausgabe:

  

Beispiel für die Ausgabe von chronology.sty

Auch das Paket chronosys bietet eine schöne Lösung. Hier ist ein Beispiel aus der Bedienungsanleitung:

eingeben Bild Beschreibung hier

Nur ein Update.

Das vorliegende tikz Paket wird Thema: Paket tikz Warnung: Schlangen ersetzt wurden durch Dekorationen. Bitte verwenden Sie die Dekoration Bibliotheken statt der Schlangen-Bibliothek auf der Eingangsleitung. . .

So der zugehörige Teil des Codes werden hat sich geändert:

\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

Tim Storer schrieb einen flexibleren und schöneren timeline.sty (Internet Archive Wayback Machine Link, als Original verschwunden ist). Darüber hinaus ist die Linie horizontal statt vertikal. So zum Beispiel:

\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}

erzeugt eine Zeitleiste, die wie folgt aussieht:

2008                              2010
 · · April, 2008 First Podcast    ·
       · July, 2008 Private Beta
           · September, 2008 Public Beta
                · 2009 IPO?

Ich persönlich finde dies eine angenehmere Lösung als die anderen Antworten. Aber auch ich selbst finde den Code zu modifizieren etwas näher zu bekommen, was ich denke, eine Timeline aussehen sollte. Es gibt also keine endgültige Lösung meiner Meinung nach.

Zunächst ziehe ich tikz geführt Lösung, weil es Ihnen mehr Freiheit gibt. Zweitens, ich bin Entsendung nichts völlig neu. Es ist offensichtlich ähnlich wie Zoe Gagnon Antwort, weil er den Weg zeigte.

Ich brauchte einige Jahre Timeline und es dauerte einige Zeit (was für eine Überraschung!), Es zu tun, so dass ich die Ergebnisse zu teilen. Ich hoffe, es wird Ihnen gefallen.

\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}

Wie Sie sehen können, ist es maßgeschneiderte Präsentation Beamer (Teil auswählen und auch skalieren Option), aber wenn Sie es wirklich in einer Präsentation testen wollen, dann sollten Sie \newlength\yearposx außerhalb des Rahmens Definition bewegen, denn sonst werden Sie veritably erhalten Fehler, Befehl \yearposx Angabe bereits definiert ist (es sei denn Sie das Auswahlteil entfernen und alle anderen Rahmen spalt Befehle aus dem Rahmen).

eingeben Bild Beschreibung hier

Wenn Sie UML-Sequenzdiagramme suchen, könnten Sie in pkf-umlsd , die auf tikz basiert. Nizza Demos können hier .

Es gibt timeline.sty Umlauf.

Die Syntax ist einfacher als tikz mit:

%%% 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.

ich Python verwendet habe datetime.data.toordinal zu Terminen zu ‚Sortierschlüssel‘ im Rahmen des Pakets zu konvertieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top