summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/chronology
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2010-06-15 22:33:08 +0000
committerKarl Berry <karl@freefriends.org>2010-06-15 22:33:08 +0000
commit91886b1cdb2b1fe066ef2c3109065cf39bb8e81d (patch)
tree7c48683041f45efd2cccac654959e30ded168db3 /Master/texmf-dist/source/latex/chronology
parenta62b913c89ec8ee5253f1145d639598568091835 (diff)
new latex package chronology 1.0 (14jun10)
git-svn-id: svn://tug.org/texlive/trunk@18994 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/chronology')
-rw-r--r--Master/texmf-dist/source/latex/chronology/chronology.dtx216
-rw-r--r--Master/texmf-dist/source/latex/chronology/chronology.ins58
2 files changed, 274 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/chronology/chronology.dtx b/Master/texmf-dist/source/latex/chronology/chronology.dtx
new file mode 100644
index 00000000000..9ab2273f749
--- /dev/null
+++ b/Master/texmf-dist/source/latex/chronology/chronology.dtx
@@ -0,0 +1,216 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 2010 by Levi Wiseman
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Levi Wiseman.
+%
+% This work consists of the file chronology.dtx and the derived files
+% chronology.ins, chronology.pdf, and chronology.sty.
+%
+% \fi
+%
+% \iffalse
+%<*internal>
+\iffalse
+%</internal>
+%<*readme>
+A new timeline package. Allows labeling of events with per day granularity. Other features include relative positioning with unit specification, adjustable tick mark step size, and scaling to specified width.
+%</readme>
+%<*internal>
+\fi
+\def\nameofplainTeX{plain}
+\ifx\fmtname\nameofplainTeX\else
+ \expandafter\begingroup
+\fi
+%</internal>
+%<*install>
+\input docstrip.tex
+\keepsilent
+\askforoverwritefalse
+\preamble
+
+This is a generated file.
+
+Copyright (C) 2010 by Levi Wiseman
+
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either version 1.3
+of this license or (at your option) any later version.
+The latest version of this license is in
+ http://www.latex-project.org/lppl.txt
+and version 1.3 or later is part of all distributions of LaTeX
+version 2005/12/01 or later.
+
+This work has the LPPL maintenance status `maintained'.
+
+The Current Maintainer of this work is Levi Wiseman.
+
+This work consists of the file chronology.dtx and the derived files
+chronology.ins, chronology.pdf, and chronology.sty.
+
+\endpreamble
+\usedir{tex/latex/chronology}
+\generate{\file{\jobname.sty}{\from{\jobname.dtx}{package}}}
+%</install>
+%<install>\endbatchfile
+%<*internal>
+\usedir{source/latex/chronology}
+\generate{\file{\jobname.ins}{\from{\jobname.dtx}{install}}}
+\nopreamble\nopostamble
+\usedir{doc/latex/chronology}
+\generate{\file{README.txt}{\from{\jobname.dtx}{readme}}}
+\ifx\fmtname\nameofplainTeX
+ \expandafter\endbatchfile
+\else
+ \expandafter\endgroup
+\fi
+%</internal>
+%<*package>
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{chronology}[2010/6/12 v1.0 Horizontal timeline]
+\RequirePackage{calc}
+\RequirePackage{tikz}
+\RequirePackage{ifthen}
+%</package>
+%<*driver>
+\documentclass{ltxdoc}
+\usepackage{\jobname}
+\usepackage{alltt}
+\usepackage[numbered]{hypdoc}
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+\begin{document}
+ \DocInput{\jobname.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \CheckSum{105}
+%
+% \CharacterTable
+% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+% Digits \0\1\2\3\4\5\6\7\8\9
+% Exclamation \! Double quote \" Hash (number) \#
+% Dollar \$ Percent \% Ampersand \&
+% Acute accent \' Left paren \( Right paren \)
+% Asterisk \* Plus \+ Comma \,
+% Minus \- Point \. Solidus \/
+% Colon \: Semicolon \; Less than \<
+% Equals \= Greater than \> Question mark \?
+% Commercial at \@ Left bracket \[ Backslash \\
+% Right bracket \] Circumflex \^ Underscore \_
+% Grave accent \` Left brace \{ Vertical bar \|
+% Right brace \} Tilde \~}
+%
+% \changes{v1.0}{2010/6/12}{Initial version}
+%
+% \GetFileInfo{\jobname.sty}
+%
+% \DoNotIndex{\addtocounter,\begin,\draw,\else,\end,\fi,\foreach,\ifx,\newcommand,\newcounter,\newenvironment,\newlength,\newsavebox,\node,\pgfmathsetcounter,\pgfmathsetlength,\raisebox,\resizebox,\setcounter,\setlength,\thedeltayears,\thestep,\thestepstart,\thestepstop,\theyearstart,\theyearstop,\timelinebox,\timelinewidth,\unit,\usebox,\x,\xstart,\xstop}
+%
+% \title{The \textsf{\jobname} package\thanks{This document corresponds to \textsf{\jobname}~\fileversion, dated~\filedate.}}
+% \author{Levi Wiseman \\ \texttt{levi.wiseman@gmail.com}}
+%
+% \maketitle
+%
+% \begin{abstract}
+% A new timeline package. Allows labeling of events with per day granularity. Other features include relative positioning with unit specification, adjustable tick mark step size, and scaling to specified width.
+% \end{abstract}
+%
+% \section{Introduction}
+% Most timeline packages and solutions for {\LaTeX} are used to convey a lot of information 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 {\jobname} is for.
+%
+% \section{Usage}
+% \DescribeEnv{chronology}
+% Declare a |chronology| as follows:
+% \begin{alltt}\verb|\begin{chronology}|\oarg{step}\marg{startYear}\marg{endYear}\marg{unit}\marg{width}\\\meta{events}\\\verb|\end{chronology}|\end{alltt}
+% Where \marg{width} is the final width of the timeline. The width can be specified as a command (e.g.\ \cmd{\textwidth}). \marg{unit} specifies the distance between minor ticks. \oarg{step} (unitless) specifies how many units between major ticks, where the first starts $\equiv_{\bmod {\langle step\rangle}}0$. The timeline runs from \marg{startYear} to \marg{endYear}.
+% \DescribeMacro{\event}
+% Label an \cmd{\event} as follows:
+% \begin{alltt}\cmd{\event}\oarg{startDate}\marg{endDate}\marg{label}\end{alltt}
+% An \cmd{\event} with the label \marg{label} is created. If \oarg{startDate} is specified the \cmd{\event} should span to \marg{endDate}, otherwise the \cmd{\event} specifies a specific date. All dates are unitless.
+% \DescribeMacro{\decimaldate}
+% Specify a \cmd{\decimaldate} as follows:
+% \begin{alltt}\cmd{\decimaldate}\marg{day}\marg{month}\marg{year}\end{alltt}
+%
+% \StopEventually{\PrintChanges\PrintIndex}
+%
+% \section{Implementation}
+% \iffalse
+%<*package>
+% \fi
+%
+% \begin{environment}{chronology}
+% |chronology| creates the graphic first and then scales it to size. Using a large unit size results in a large prescaled graphic, and therefore finer postscaled details.
+% \begin{macrocode}
+\newenvironment{chronology}[5][5]{%
+ \newcounter{step}\newcounter{stepstart}\newcounter{stepstop}%
+ \newcounter{yearstart}\newcounter{yearstop}\newcounter{deltayears}%
+ \newlength{\xstart}\newlength{\xstop}%
+ \newlength{\unit}\newlength{\timelinewidth}%
+ \setcounter{step}{#1}%
+ \setcounter{yearstart}{#2}\setcounter{yearstop}{#3}%
+ \setcounter{deltayears}{\theyearstop-\theyearstart}%
+ \setlength{\unit}{#4}%
+ \setlength{\timelinewidth}{#5}%
+ \pgfmathsetcounter{stepstart}%
+ {\theyearstart+\thestep-mod(\theyearstart,\thestep)}%
+ \pgfmathsetcounter{stepstop}{\theyearstop-mod(\theyearstop,\thestep)}%
+ \addtocounter{step}{\thestepstart}%
+ \newsavebox{\timelinebox}%
+ \begin{lrbox}{\timelinebox}%
+ \begin{tikzpicture}[baseline={(current bounding box.north)}]%
+ \draw [|->] (0,0) -- (\thedeltayears*\unit+\unit, 0);%
+ \foreach \x in {1,...,\thedeltayears}%
+ \draw[xshift=\x*\unit] (0,-.1\unit) -- (0,.1\unit);%
+ \addtocounter{deltayears}{1}%
+ \foreach \x in {\thestepstart,\thestep,...,\thestepstop}{%
+ \pgfmathsetlength\xstop{(\x-\theyearstart)*\unit}%
+ \draw[xshift=\xstop] (0,-.3\unit) -- (0,.3\unit);%
+ \node at (\xstop,0) [below=.2\unit] {\x};}}{%
+ \end{tikzpicture}%
+ \end{lrbox}%
+ \raisebox{2ex}{\resizebox{\timelinewidth}{!}{\usebox{\timelinebox}}}}%
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{macro}{\event}
+% \begin{macrocode}
+\newcommand{\event}[3][e]{%
+ \pgfmathsetlength\xstop{(#2-\theyearstart)*\unit}%
+ \ifx #1e%
+ \draw[fill=black,draw=none,opacity=0.5]%
+ (\xstop, 0) circle (.2\unit)%
+ node[opacity=1,rotate=45,right=.5\unit] {#3};%
+ \else%
+ \pgfmathsetlength\xstart{(#1-\theyearstart)*\unit}%
+ \draw[fill=black,draw=none,opacity=0.5,rounded corners=.2\unit]%
+ (\xstart,-.2\unit) rectangle%
+ node[opacity=1,rotate=45,right=.5\unit] {#3} (\xstop,.2\unit);%
+ \fi}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\decimaldate}
+% \begin{macrocode}
+\newcommand{\decimaldate}[3]{(#1-1)/31/12+(#2-1)/12+#3}
+% \end{macrocode}
+% \end{macro}
+% \iffalse
+%</package>
+% \fi
+%
+% \Finale
+\endinput
diff --git a/Master/texmf-dist/source/latex/chronology/chronology.ins b/Master/texmf-dist/source/latex/chronology/chronology.ins
new file mode 100644
index 00000000000..20513dd2997
--- /dev/null
+++ b/Master/texmf-dist/source/latex/chronology/chronology.ins
@@ -0,0 +1,58 @@
+%%
+%% This is file `chronology.ins',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% chronology.dtx (with options: `install')
+%%
+%% This is a generated file.
+%%
+%% Copyright (C) 2010 by Levi Wiseman
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is Levi Wiseman.
+%%
+%% This work consists of the file chronology.dtx and the derived files
+%% chronology.ins, chronology.pdf, and chronology.sty.
+%%
+\input docstrip.tex
+\keepsilent
+\askforoverwritefalse
+\preamble
+
+This is a generated file.
+
+Copyright (C) 2010 by Levi Wiseman
+
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either version 1.3
+of this license or (at your option) any later version.
+The latest version of this license is in
+ http://www.latex-project.org/lppl.txt
+and version 1.3 or later is part of all distributions of LaTeX
+version 2005/12/01 or later.
+
+This work has the LPPL maintenance status `maintained'.
+
+The Current Maintainer of this work is Levi Wiseman.
+
+This work consists of the file chronology.dtx and the derived files
+chronology.ins, chronology.pdf, and chronology.sty.
+
+\endpreamble
+\usedir{tex/latex/chronology}
+\generate{\file{\jobname.sty}{\from{\jobname.dtx}{package}}}
+\endbatchfile
+\endinput
+%%
+%% End of file `chronology.ins'.