diff options
author | Karl Berry <karl@freefriends.org> | 2010-06-15 22:33:08 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2010-06-15 22:33:08 +0000 |
commit | 91886b1cdb2b1fe066ef2c3109065cf39bb8e81d (patch) | |
tree | 7c48683041f45efd2cccac654959e30ded168db3 /Master/texmf-dist/source/latex/chronology | |
parent | a62b913c89ec8ee5253f1145d639598568091835 (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.dtx | 216 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/chronology/chronology.ins | 58 |
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'. |