Most timeline packages and solutions for LATEX are used to convey a lot of infor-
mation and are therefore designed vertically. If you are just attempting to assign
labels to dates, a more traditional timeline might be more appropriate. That's
what chronology is for.

It should be noted that this package appears to only support one timeline per document. At least for me, I get the error "command \c@step already defined" when I try to have more than one.
–
rpierceJan 15 '12 at 17:40

2

I tried to modify the chronology.sty file in order to get a vertical timeline but didn't quite succeed. Is there a vertical version of it?
–
highsciguyNov 20 '12 at 9:50

I think this has now become: \usetikzlibrary{decorations.pathmorphing}. Also, do \documentclass[tikz]{standalone} if you want a tightly cropped picture to insert in another document.
–
PatrickTFeb 11 '14 at 11:38

Personally, I find this a more pleasing solution than the other answers. But I also find myself modifying the code to get something closer to what I think a timeline should look like. So there's not definitive solution in my opinion.

thanks! strange though, the guy who wrote the documentation keeps calling the timeline a "frieze" as if that is the same thing as a timeline. just putting that here in case anybody else reads the documentation.
–
macmadness86Nov 5 '13 at 17:22

As you can see, it's tailored to beamer presentation (select part and also scale option), but if you really want to test it in a presentation, then you should move \newlength\yearposx outside of the frame definition, because otherwise you'll get error veritably stating that command \yearposx is already defined (unless you remove the selection part and any other frame-splitting commands from your frame).

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

I've used python's datetime.data.toordinal to convert dates to 'sort keys' in the context of the package.