]> git.donarmstrong.com Git - lib.git/commitdiff
add curve and update lsr
authorDon Armstrong <don@donarmstrong.com>
Tue, 14 Feb 2006 07:20:30 +0000 (07:20 +0000)
committerDon Armstrong <don@donarmstrong.com>
Tue, 14 Feb 2006 07:20:30 +0000 (07:20 +0000)
texmf/ls-R
texmf/tex/latex/curve.cls [new file with mode: 0644]

index 8f6e2a323f092827e425476ca6ae78b519695147..83aab1014351db2c3a114e8665a98b9c29ec2450 100644 (file)
@@ -59,6 +59,7 @@ tfm
 
 ./fonts/pk:
 ljfour
+.svn
 
 ./fonts/pk/ljfour:
 kelly
@@ -213,6 +214,42 @@ wcprops
 
 ./fonts/pk/ljfour/.svn/wcprops:
 
+./fonts/pk/.svn:
+empty-file
+entries
+format
+prop-base
+props
+README.txt
+text-base
+tmp
+wcprops
+
+./fonts/pk/.svn/prop-base:
+ljfour.svn-base
+
+./fonts/pk/.svn/props:
+ljfour.svn-work
+
+./fonts/pk/.svn/text-base:
+ljfour.svn-base
+
+./fonts/pk/.svn/tmp:
+prop-base
+props
+text-base
+wcprops
+
+./fonts/pk/.svn/tmp/prop-base:
+
+./fonts/pk/.svn/tmp/props:
+
+./fonts/pk/.svn/tmp/text-base:
+
+./fonts/pk/.svn/tmp/wcprops:
+
+./fonts/pk/.svn/wcprops:
+
 ./fonts/.svn:
 empty-file
 entries
@@ -609,6 +646,7 @@ latex
 .svn
 
 ./tex/latex:
+curve.cls
 exam.cls
 invoice.def
 invoice.sty
diff --git a/texmf/tex/latex/curve.cls b/texmf/tex/latex/curve.cls
new file mode 100644 (file)
index 0000000..7d172c3
--- /dev/null
@@ -0,0 +1,486 @@
+%%
+%% This is file `curve.cls',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% curve.dtx 
+%% 
+
+
+%% Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 Didier Verna
+
+%% This file is part of CurVe.
+
+%% CurVe may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.1
+%% 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.1 or later is part of all distributions of LaTeX
+%% version 1999/06/01 or later.
+
+%% CurVe consists of the files listed in the file `README'.
+
+%% \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         \~}
+\NeedsTeXFormat{LaTeX2e}
+
+\ProvidesClass{curve}[2005/09/14 v1.10
+                      Curriculum Vitae class for LaTeX2e]
+
+\RequirePackage{ltxtable}
+\RequirePackage{calc}
+
+\newif\ifstrok\strokfalse
+\def\strtest#1#2{%
+  \def\@strone{#1}\def\@strtwo{#2}%
+  \ifstrok\else\ifx\@strone\@strtwo\stroktrue\fi\fi}
+
+\gdef\@nextentry{}
+
+\def\@keyfont{}
+\newcommand\keyfont[1]{\gdef\@keyfont{#1}}
+
+\newcolumntype{k}{>{\@keyfont}l}
+\newcommand\keyalignment[1]{%
+  \strokfalse\strtest{#1}{l}\strtest{#1}{r}\strtest{#1}{c}%
+  \ifstrok\else%
+    \ClassError{curve}{Invalid key alignment}{%
+      You have called \protect\keyalignment\space with an invalid value.%
+      \MessageBreak
+      Valid options include l, c, and r.\MessageBreak
+      Type X <return> to quit, fix the typo, and rerun LaTeX.}%
+  \fi
+  \newcolumntype{k}{>{\@keyfont}#1}
+}
+
+\def\@prefix{\textbullet}
+\newcommand\prefix[1]{\gdef\@prefix{#1}}
+
+\def\@maybekey#1{%
+  \def\@newkey{#1}%
+  \ifx\@previouskey\@newkey\else%
+    #1\gdef\@previouskey{#1}%
+  \fi}
+
+\def\@key#1{#1}
+\DeclareOption{skipsamekey}{\let\@key\@maybekey}
+
+\newcommand\@entry[2][]{%
+  \gdef\@nextentry{}\egroup% end of \noalign opened in \entry.
+  \@key{#1}&\@prefix&#2\\}
+
+\newcommand\@sentry[1][]{%
+  \gdef\@nextentry{\\}\egroup% end of \noalign opened in \entry.
+  \@key{#1}&\@prefix&}
+
+\newcommand\entry{%
+  \@nextentry
+  \noalign\bgroup\gdef\@beforespace{-\subrubricbeforespace}%
+  \@ifstar{\@sentry}{\@entry}}
+
+\def\@subrubricfont{\Large\itshape}
+\newcommand\subrubricfont[1]{\gdef\@subrubricfont{#1}}
+
+\newlength\subrubricbeforespace
+\setlength\subrubricbeforespace{10pt}
+
+\newlength\subrubricspace
+\setlength\subrubricspace{5pt}
+
+\let\@subrubricmark\@gobble
+
+\def\@@subrubric#1{%
+  \parbox{0cm}{%
+    \raisebox{\@beforespace}{\@subrubricfont#1}%
+    \par\vspace\subrubricspace}%
+  \@subrubricmark{#1}}
+
+
+\def\@clcccolsep{\hspace{\tabcolsep}\ifx\@prefix\@empty~\fi}
+
+\def\@subrubric@l#1{\multicolumn{3}{@{}l}{\@@subrubric{#1}}}
+\def\@subrubric@c#1{\multicolumn{3}{@{}c}{\@@subrubric{#1}}}
+\def\@subrubric@r#1{\multicolumn{3}{@{}r}{\@@subrubric{#1}}}
+\def\@subrubric@cl#1{&\multicolumn{2}{@{\@clcccolsep}l}{\@@subrubric{#1}}}
+\def\@subrubric@cc#1{&\multicolumn{2}{@{\@clcccolsep}c}{\@@subrubric{#1}}}
+
+\let\@subrubric\@subrubric@cl
+
+\newcommand\subrubricalignment[1]{%
+  \def\@curve@temp@a{\let\@subrubric}
+  \expandafter\@curve@temp@a\csname @subrubric@#1\endcsname
+  \@ifundefined{@subrubric}{%
+    \ClassError{curve}{Invalid subrubric alignment}{%
+      You have called \protect\subrubricalignment\space with an invalid value.%
+      \MessageBreak
+      Valid options include l, c, r, cl and cc.\MessageBreak
+      Type X <return> to quit, fix the typo, and rerun LaTeX.}}
+}
+
+\newcommand\subrubric[1]{%
+  \@nextentry
+  \noalign{\gdef\@nextentry{}}%
+  \@subrubric{#1}\\*}
+
+\newlength{\@almosttextwidth}
+\AtBeginDocument{\setlength\@almosttextwidth{\textwidth-\hfuzz}}
+
+\def\@rubricfont{\Large\bfseries}
+\newcommand\rubricfont[1]{\gdef\@rubricfont{#1}}
+
+\newlength\rubricspace
+\setlength\rubricspace{10pt}
+
+\let\@rubricmark\@gobble
+
+\def\@@rubrichead#1{\@rubricfont#1\par\vspace\rubricspace}
+
+\def\@rubrichead@l#1{\multicolumn{3}{@{}l}{\@@rubrichead{#1}}\\}
+\def\@rubrichead@c#1{\multicolumn{3}{@{}c}{\@@rubrichead{#1}}\\}
+\def\@rubrichead@r#1{\multicolumn{3}{@{}r}{\@@rubrichead{#1}}\\}
+\def\@rubrichead@cl#1{&\multicolumn{2}{@{\@clcccolsep}l}{\@@rubrichead{#1}}\\}
+\def\@rubrichead@cc#1{&\multicolumn{2}{@{\@clcccolsep}c}{\@@rubrichead{#1}}\\}
+
+\let\@rubrichead\@rubrichead@c
+
+\newcommand\rubricalignment[1]{%
+  \def\@curve@temp@a{\let\@rubrichead}
+  \expandafter\@curve@temp@a\csname @rubrichead@#1\endcsname
+  \@ifundefined{@rubrichead}{%
+    \ClassError{curve}{Invalid rubric alignment}{%
+      You have called \protect\rubricalignment\space with an invalid value.%
+      \MessageBreak
+      Valid options include l, c, r, cl and cc.\MessageBreak
+      Type X <return> to quit, fix the typo, and rerun LaTeX.}}
+}
+
+\newenvironment{rubric}[1]{%
+  %% \begin{rubric}
+  \def\raggedright{%
+    \@rightskip\@flushglue\rightskip\@rightskip\leftskip\z@skip}%
+  \def\raggedleft{%
+    \rightskip\z@skip\leftskip\@flushglue\parfillskip\z@skip}%
+  \gdef\@beforespace{0pt}%
+  \gdef\@nextentry{}%
+  \gdef\@previouskey{}
+  \begin{longtable}{@{}kl@{~}X}
+    \@rubrichead{#1}
+    \endfirsthead
+    \@rubrichead{#1\@continuedname}
+    \endhead
+    \noalign{\@rubricmark{#1}}}{%
+    %% \end{rubric}
+    \@nextentry
+  \end{longtable}}
+
+\newcommand\continuedname[1]{\gdef\@continuedname{#1}}
+
+\def\header@scale{.5}
+\newcommand\headerscale[1]{\gdef\header@scale{#1}}
+\@onlypreamble\headerscale
+
+\newlength\headerspace
+\setlength\headerspace{10pt}
+
+\def\@leftheader{%
+  \ClassError{curve}{No \protect\leftheader\space given}{%
+    You have called \protect\makeheaders, %
+    but you didn't provide a left header.\MessageBreak
+    Type X <return> to quit, add a call to \protect\lefheader\space %
+    in the preamble of your CV,\MessageBreak
+    and rerun LaTeX.}}
+\newcommand\leftheader[1]{\gdef\@leftheader{#1}}
+\@onlypreamble\leftheader
+
+\def\@rightheader{%
+  \ClassError{curve}{No \protect\rightheader\space given}{%
+    You have called \protect\makeheaders, %
+    but you didn't provide a right header.\MessageBreak
+    Type X <return> to quit, add a call to \protect\rightheader\space %
+    in the preamble of your CV,\MessageBreak
+    and rerun LaTeX.}}
+\newcommand\rightheader[1]{\gdef\@rightheader{#1}}
+\@onlypreamble\rightheader
+
+\def\photo@scale{.1}
+\newcommand\photoscale[1]{\gdef\photo@scale{#1}}
+\@onlypreamble\photoscale
+
+\newlength\photosep
+\setlength\photosep{10pt}
+
+\newcommand\photo[2][l]{%
+  \RequirePackage{graphicx}
+  \strokfalse\strtest{#1}{l}\strtest{#1}{r}\strtest{#1}{c}%
+  \ifstrok\else\ClassError{curve}{Invalid argument to \protect\photo}{%
+    Argument 2 of \protect\photo must be `l', `r' or `c'.}\fi
+  \def\tmp@cmd{\global\let\makeheaders@}
+  \expandafter\tmp@cmd\csname makeheaders@#1\endcsname
+  \gdef\photo@file{#2}}
+\@onlypreamble\photo
+
+\newlength\photo@width
+
+\def\includephoto@t{%
+  \raisebox{.7\baselineskip-\height}{%
+    \includegraphics[width=\photo@width]{\photo@file}}}
+
+\def\includephoto@c{%
+  \raisebox{-.5\height}{%
+    \includegraphics[width=\photo@width]{\photo@file}}}
+
+\def\includephoto@b{\includegraphics[width=\photo@width]{\photo@file}}
+
+\newlength\leftheader@width
+\newlength\rightheader@width
+
+\def\makeheaders@l#1{%
+  \setlength\photo@width{\photo@scale\textwidth}
+  \setlength\leftheader@width{%
+    (\textwidth - \photo@width - \photosep) * \real{\header@scale}}
+  \setlength\rightheader@width{%
+    \textwidth - \photo@width - \photosep - \leftheader@width}
+  \parbox[#1]{\photo@width + \photosep}{\includephoto@\hspace\photosep}%
+  \parbox[#1]{\leftheader@width}{\@leftheader}%
+  \parbox[#1]{\rightheader@width}{\raggedleft\@rightheader}}
+
+\def\makeheaders@c#1{%
+  \setlength\photo@width{\photo@scale\textwidth}
+  \setlength\leftheader@width{(\textwidth - \photo@width) * \real{.5}}
+  \setlength\rightheader@width{\leftheader@width}
+  \parbox[#1]{\leftheader@width}{\@leftheader}%
+  \parbox[#1]{\photo@width}{\includephoto@}%
+  \parbox[#1]{\rightheader@width}{\raggedleft\@rightheader}}
+
+\def\makeheaders@r#1{%
+  \setlength\photo@width{\photo@scale\textwidth}
+  \setlength\leftheader@width{%
+    (\textwidth - \photo@width - \photosep) * \real{\header@scale}}
+  \setlength\rightheader@width{%
+    \textwidth - \photo@width - \photosep - \leftheader@width}
+  \parbox[#1]{\leftheader@width}{\@leftheader}%
+  \parbox[#1]{\rightheader@width}{\raggedleft\@rightheader}%
+  \parbox[#1]{\photo@width + \photosep}{\hspace\photosep\includephoto@}}
+
+\def\makeheaders@#1{%
+  \setlength\leftheader@width{\header@scale\textwidth}%
+  \setlength\rightheader@width{\textwidth - \leftheader@width}%
+  \parbox[#1]{\leftheader@width}{\@leftheader}%
+  \parbox[#1]{\rightheader@width}{\raggedleft\@rightheader}}
+
+\newcommand\makeheaders[1][c]{%
+  \strokfalse\strtest{#1}{t}\strtest{#1}{b}\strtest{#1}{c}%
+  \ifstrok\else\ClassError{curve}{Invalid argument to \protect\makeheaders}{%
+    Argument of \protect\makeheaders must be `t', `b' or `c'.}\fi
+  \def\tmp@cmd{\global\let\includephoto@}
+  \expandafter\tmp@cmd\csname includephoto@#1\endcsname
+  \makeheaders@{#1}%
+  \par\vspace\headerspace}
+
+\@onlypreamble\title
+
+\def\@titlefont{\Huge\bfseries}
+\newcommand\titlefont[1]{\gdef\@titlefont{#1}}
+\@onlypreamble\titlefont
+
+\newlength\titlespace
+\setlength\titlespace{0pt}
+
+\let\@subtitle\@undefined
+\newcommand\subtitle[1]{\gdef\@subtitle{#1}}
+\@onlypreamble\subtitle
+
+\def\@subtitlefont{\huge\itshape}
+\newcommand\subtitlefont[1]{\gdef\@subtitlefont{#1}}
+\@onlypreamble\subtitlefont
+
+\newcommand\maketitle{%
+  \begin{center}
+    {\@titlefont\@title}
+    \ifx\@subtitle\@undefined\else\\\@subtitlefont\@subtitle\fi
+  \end{center}
+  \vspace\titlespace}
+
+\let\@flavor\empty
+\newcommand\flavor[1]{\gdef\@flavor{#1}
+  \ifx\@flavor\empty\else\edef\@flavor{.\@flavor}\fi}
+
+\DeclareOption{ask}{%
+  \typein[\@flavor]{Please specify a CV flavor (none by default):}
+  \ifx\@flavor\empty\else\edef\@flavor{.\@flavor}\fi}
+
+\def\@curveinput#1{%
+  \IfFileExists{#1\@flavor.ltx}{\@iinput{#1\@flavor.ltx}}{%
+    \IfFileExists{#1\@flavor.tex}{\@iinput{#1\@flavor.tex}}{%
+      \IfFileExists{#1.ltx}{\@iinput{#1.ltx}}{%
+        \IfFileExists{#1.tex}{\@iinput{#1.tex}}{%
+          \@iinput{#1}}}}}}
+
+\renewcommand\input{\@ifnextchar\bgroup\@curveinput\@@input}
+
+\newcommand\makerubric[1]{\LTXtable{\@almosttextwidth}{#1}}
+
+\let\newblock\par
+\newcounter{bibcount}
+
+\newif\if@bibentry
+\AtBeginDocument{\@ifpackageloaded{bibentry}{\@bibentrytrue}{}}
+
+\def\bibliography#1{%
+  \if@filesw
+    \if@bibentry\global\BR@starfalse\fi
+    \immediate\write\@auxout{\string\bibdata{#1}}%
+  \fi
+  \IfFileExists{\jobname.bbl}{\makerubric{\jobname.bbl}}{%
+    \typeout{No file \jobname.bbl.}}}
+
+\newcommand\listpubname[1]{\gdef\@listpubname{#1}}
+
+\newenvironment{thebibliography}[1]{%
+  \def\@lbibitem[##1]##2{\@sentry[\@biblabel{##1}]%
+    \if@filesw{%
+      \let\protect\noexpand%
+      \immediate\write\@auxout{\string\bibcite{##2}{##1}}}
+    \fi%
+    \ignorespaces}
+  \def\@bibitem##1{\@sentry[\stepcounter{bibcount}\@biblabel{\thebibcount}]%
+    \if@filesw%
+    \immediate\write\@auxout{\string\bibcite{##1}{\thebibcount}}%
+    \fi%
+    \ignorespaces}
+  \renewcommand\bibitem{%
+    \@nextentry
+    \noalign\bgroup\gdef\@beforespace{-\subrubricbeforespace}%
+    \@ifnextchar[\@lbibitem\@bibitem}
+  \begin{rubric}{\@listpubname}
+  }{%
+  \end{rubric}
+}
+
+\DeclareOption{english}{%
+  \continuedname{~(continued)}
+  \listpubname{List of Publications}}
+\DeclareOption{french}{%
+  \continuedname{~(suite)}
+  \listpubname{Liste des Publications}}
+\DeclareOption{francais}{%
+  \ExecuteOptions{french}}
+\DeclareOption{spanish}{%
+  \continuedname{~(contin\'ua)}
+  \listpubname{Lista de Publicaciones}}
+\DeclareOption{italian}{%
+  \continuedname{~(continua)}
+  \listpubname{Pubblicazioni}}
+\DeclareOption{german}{%
+  \continuedname{~(fortgesetzt)}
+  \listpubname{Verzeichnis der Ver\"offentlichungen}}
+\DeclareOption{ngerman}{%
+  \ExecuteOptions{german}}
+\DeclareOption{danish}{%
+  \continuedname{~(fortsat)}
+  \listpubname{Udgivelser}}
+\DeclareOption{dutch}{%
+  \continuedname{~(vervolg)}
+  \listpubname{Publicaties}}
+\DeclareOption{portuges}{%
+  \continuedname{~(continua\c c\~ao)}
+  \listpubname{Publica\c c\~oes}}
+\DeclareOption{portuguese}{%
+  \ExecuteOptions{portuges}}
+\DeclareOption{brazil}{%
+  \ExecuteOptions{portuges}}
+\DeclareOption{brazilian}{%
+  \ExecuteOptions{portuges}}
+
+\DeclareOption{a4paper}{
+  \setlength\paperheight{297mm}
+  \setlength\paperwidth{210mm}}
+\DeclareOption{a5paper}{
+  \setlength\paperheight{210mm}
+  \setlength\paperwidth{148mm}}
+\DeclareOption{b5paper}{
+  \setlength\paperheight{250mm}
+  \setlength\paperwidth{176mm}}
+\DeclareOption{letterpaper}{
+  \setlength\paperheight{11in}
+  \setlength\paperwidth{8.5in}}
+\DeclareOption{legalpaper}{
+  \setlength\paperheight{14in}
+  \setlength\paperwidth{8.5in}}
+\DeclareOption{executivepaper}{
+  \setlength\paperheight{10.5in}
+  \setlength\paperwidth{7.25in}}
+\DeclareOption{landscape}{
+  \setlength\@tempdima{\paperheight}
+  \setlength\paperheight{\paperwidth}
+  \setlength\paperwidth{\@tempdima}}
+
+\DeclareOption{10pt}{\def\@ptsize{0}}
+\DeclareOption{11pt}{\def\@ptsize{1}}
+\DeclareOption{12pt}{\def\@ptsize{2}}
+
+\DeclareOption{oneside}{\@twosidefalse\@mparswitchfalse}
+\DeclareOption{twoside}{\@twosidetrue\@mparswitchtrue}
+
+\DeclareOption{draft}{\setlength\overfullrule{5pt}}
+\DeclareOption{final}{%
+  \setlength\overfullrule{0pt}
+  \setlongtables}
+
+\ExecuteOptions{english,letterpaper,10pt,oneside,final}
+\ProcessOptions
+
+\input{size1\@ptsize.clo}
+\setlength\parindent{0pt}
+\setlength\parskip{0pt}
+\setlength\tabcolsep{10pt}
+\setlength\arrayrulewidth{.4\p@}
+\raggedbottom
+\onecolumn
+\pagestyle{empty}
+\pagenumbering{arabic}
+
+\if@twoside
+  \def\ps@headings{%
+    \let\@oddfoot\@empty\let\@evenfoot\@empty
+    \def\@evenhead{\thepage\hfil\slshape\leftmark}%
+    \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
+    \let\@mkboth\markboth
+    \def\@rubricmark##1{\markboth{\MakeUppercase{##1}}{}}%
+    \def\@subrubricmark##1{\markright{##1}}%
+  }
+\else
+  \def\ps@headings{%
+    \let\@oddfoot\@empty
+    \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
+    \let\@mkboth\markboth
+    \def\@rubricmark##1{\markright{\MakeUppercase{##1}}}%
+  }
+\fi
+\def\ps@myheadings{%
+  \let\@oddfoot\@empty\let\@evenfoot\@empty
+  \def\@evenhead{\thepage\hfil\slshape\leftmark}%
+  \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
+  \let\@mkboth\@gobbletwo
+  \let\@rubricmark\@gobble
+  \let\@subrubricmark\@gobble
+}
+
+\endinput
+%%
+%% End of file `curve.cls'.