summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/curve
diff options
context:
space:
mode:
authorNorbert Preining <preining@logic.at>2007-11-27 15:25:39 +0000
committerNorbert Preining <preining@logic.at>2007-11-27 15:25:39 +0000
commit7e2204f4ea41a8f2ef3d1749332042f0b050d365 (patch)
tree0c46e67af083c0f43e741461c5fb218577de3873 /Master/texmf-dist/source/latex/curve
parentae5896870fe7ac8b1ab8d75fe0ea65ec6efcae17 (diff)
update curve from CTAN
git-svn-id: svn://tug.org/texlive/trunk@5621 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/curve')
-rw-r--r--Master/texmf-dist/source/latex/curve/curve.dtx197
1 files changed, 109 insertions, 88 deletions
diff --git a/Master/texmf-dist/source/latex/curve/curve.dtx b/Master/texmf-dist/source/latex/curve/curve.dtx
index c6a849cca3d..99585445cb4 100644
--- a/Master/texmf-dist/source/latex/curve/curve.dtx
+++ b/Master/texmf-dist/source/latex/curve/curve.dtx
@@ -50,7 +50,7 @@
% \fi
%
% \catcode`\¡=14
-% \CheckSum{1115}
+% ^^A\CheckSum{1099}
%% \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
@@ -67,8 +67,8 @@
%% Grave accent \` Left brace \{ Vertical bar \|
%% Right brace \} Tilde \~}
%
-% \newcommand\version{1.13}
-% \newcommand\releasedate{2007/07/18}
+% \newcommand\version{1.14}
+% \newcommand\releasedate{2007/11/27}
% \newcommand\packagecopyright{Copyright \copyright{} 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Didier Verna}
% \newcommand\auctex{AUC-\TeX}
% \newcommand\cv{\textsc{CV}}
@@ -121,13 +121,13 @@
%
% \begin{enumerate}
% \item
-% \textbf{Is there a way to align entries across several (all) rubrics ?}\\
+% \textbf{Is there a way to align entries across several (all) rubrics?}\\
% Not automatically because rubrics are typeset as individual tables. There
% are many ways to manually ``trick'' too narrow keys in order to enlarge
% them however. As of version 1.11, \curve{} provides a new convenience
% macro to do something similar: see section \ref{sec:noentry}.
% \item
-% \textbf{How can I change the interline spacing ?}\\
+% \textbf{How can I change the interline spacing?}\\
% Internally, \curve{} uses \LaTeX{} tabular-based environments. As such,
% you can play with |\arraystretch| to modify the space between rows.
% \item
@@ -141,7 +141,7 @@
% into different ones, starting at the appropriate entries to avoid page
% breaking in the middle.
% \item
-% \textbf{How can I make multi-line subrubrics ?}\\
+% \textbf{How can I make multi-line subrubrics?}\\
% Here are two ideas:
% \begin{itemize}
% \item Put your text in several consecutive subrubrics (one per line).
@@ -152,7 +152,7 @@
% your parbox, but this will work.
% \end{itemize}
% \item
-% \textbf{How can I make multi-line keys ?}\\
+% \textbf{How can I make multi-line keys?}\\
% The trick is to temporarily change the key cell type to a paragraph one
% (remember that we're in a tabular environment).
% \begin{enumerate}
@@ -168,11 +168,11 @@
% \end{verbatim}
% \end{enumerate}
% \item
-% \textbf{How to deal with long keys ?}\\
+% \textbf{How to deal with long keys?}\\
% The best thing to do is to make them multi-line manually. Please refer to
% the previous question.
% \item
-% \textbf{Can I change the prefix locally ?}\\
+% \textbf{Can I change the prefix locally?}\\
% Yes and no. The |\prefix| command can only be used in the preamble or
% between rubrics. Otherwise, there is currently no way to change the prefix
% for a single entry. This limitation will disappear in a future release.
@@ -480,7 +480,60 @@
% subrubrics. This is a \LaTeX{} length that defaults to \texttt{5pt}.
% |\subrubricbeforespace| controls the amount of extra vertical space to put
% \textit{before} a subrubric when there are entries above. This is a \LaTeX{}
-% length that defaults to \texttt{10pt}.
+% length that defaults to \texttt{20pt}.
+%
+% \subsection{Bibliography\label{sec:biblio}}
+% Most scientists include their own list of publications in their \cv, so
+% \curve{} has support for different forms of bibliography.
+% \subsubsection{Manual bibliography}
+% The first thing you can do is create your own bibliography manually (I mean,
+% just like an ordinary rubric), and although this may appear boring, I
+% actually encourage people to do so for at least three reasons (only my
+% opinion of course):
+% \begin{itemize}
+% \item A \cv{} should be strictly formatted and coherent in layout.
+% Bibliography is no exception to this rule. In other words, it is prettier to
+% have your publications formatted like the rest of your \cv.
+% \item Automatic bibliography generation tools produce references, which is
+% silly in a \cv{} because you don't actually reference your papers anywhere
+% (or do you?). So better to sort them another way, like, by year of
+% publication as I do in my own \cv.
+% \item Manually adding, like, what? Half a dozen papers a year in your
+% \cv{} is not that much of a burden after all.
+% \end{itemize}
+% \subsubsection{The \texttt{bibliography} environment}
+% Some people however have expressed the wish of having standard bibliography
+% support in \curve. Version 1.2 provides that.
+% \DescribeEnv{thebibliography}
+% \DescribeMacro{\bibitem}
+% The standard |thebibliography| environment is now supported along with its
+% |\bibitem| companion. The behavior is actually that of a |rubric|
+% environment with its |\entry*| companion (with an empty prefix however).
+% This fact has two implications: firstly, the argument to the environment is
+% unused in \curve{} (but remains for compatibility with the rest of \LaTeX)
+% because \curve{} itself formats the keys and contents properly aligned.
+% Secondly, the bibliographic environment \textbf{must} reside in its own
+% file, as any other rubric. Don't forget that if you happen to write the
+% environment manually.\par
+% \DescribeEnv{revbib}
+% As of version 1.14, it is possible to count bibliographic items in a reverse
+% order, which comes in handy when you display your publications from the most
+% recent to the oldest one. The \texttt{revbib} option triggers this behavior.
+% Note that this also works when you use \BibTeX{} (see below).
+% \subsubsection{\BibTeX}
+% \DescribeMacro{\nocite}
+% \DescribeMacro{\bibliographystyle}
+% \DescribeMacro{\bibliography}
+% If you want to use \BibTeX, that's also possible of course. Do it as you
+% would do in a random paper. You will probably issue a |\nocite{*}| command
+% followed by a call to |\bibliography|. In \curve, this uses the |bbl| file
+% as a rubric one.\par
+% \subsubsection{Compatibility concerns}
+% As of version 1.9, \curve{} is compatible with the |bibentry| package. Note
+% however that there is an incompatibility between |bibentry| and |hyperref|,
+% and a workaround described in the |hyperref| README file.
+%
+% As of version 1.12, \curve{} is compatible with the |multibbl| package.
%
% \subsection{Standard Class Features}
%
@@ -497,7 +550,7 @@
% page format you want. By default, \texttt{letterpaper} is used. The
% \texttt{landscape} options switches the horizontal and vertical settings.
% I'm not sure why I propose this option. Nobody wants to write a \cv{} in
-% landscape mode, right ?\par
+% landscape mode, right?\par
%
% \DescribeEnv{oneside}
% \DescribeEnv{twoside}
@@ -532,58 +585,14 @@
% (the equivalent of chapters and sections in books for instance).
% By default, the page style is \texttt{empty}.
%
-% \subsubsection{Bibliography\label{sec:biblio}}
-% Most scientists include their own list of publications in their \cv. The
-% first thing you can do is create your own bibliography manually, and
-% although this may appear boring, I actually encourage people to do so for at
-% least three reasons (only my opinion of course):
-% \begin{itemize}
-% \item A \cv{} should be strictly formatted and coherent in layout.
-% Bibliography is no exception to this rule. In other words, it is prettier to
-% have your publications formatted like the rest of your \cv.
-% \item Automatic bibliography generation tools produce references, which is
-% silly in a \cv{} because you don't actually reference your papers anywhere
-% (or do you ?). So better to sort them another way, like, by year of
-% publication as I do in my own \cv.
-% \item Manually adding, like, what ? Half a dozen papers a year in your
-% \cv{} is not that much of a burden after all.
-% \end{itemize}
-%
-% Some people however have expressed the wish of having standard bibliography
-% support in \curve. Version 1.2 provides that.
-% \DescribeEnv{thebibliography}
-% \DescribeMacro{\bibitem}
-% The standard |thebibliography| environment is now supported along with its
-% |\bibitem| companion. The behavior is actually that of a |rubric|
-% environment with its |\entry*| companion (with an empty prefix however).
-% This fact has two implications: firstly, the argument to the environment is
-% unused in \curve{} (but remains for compatibility with the rest of \LaTeX)
-% because \curve{} itself formats the keys and contents properly aligned.
-% Secondly, the bibliographic environment \textbf{must} reside in its own
-% file, as any other rubric. Don't forget that if you happen to write the
-% environment manually.\par
-% \DescribeMacro{\nocite}
-% \DescribeMacro{\bibliographystyle}
-% \DescribeMacro{\bibliography}
-% If you want to use \BibTeX, that's also possible of course. Do it as you
-% would do in a random paper. You will probably issue a |\nocite{*}| command
-% followed by a call to |\bibliography|. In \curve, this uses the |bbl| file
-% as a rubric one.\par
-%
-% As of version 1.9, \curve{} is compatible with the |bibentry| package. Note
-% however that there is an incompatibility between |bibentry| and |hyperref|,
-% and a workaround described in the |hyperref| README file.
-%
-% As of version 1.12, \curve{} is compatible with the |multibbl| package.
-%
% \subsubsection{Internationalization}
-% \curve{} currently supports 11 languages via the following options:
+% \curve{} currently supports 12 languages via the following options:
% \texttt{english}, \texttt{french} (or \texttt{francais}), \texttt{spanish},
% \texttt{portuguese} (or \texttt{portuges}), \texttt{brazilian} (or
% \texttt{brazil}), \texttt{italian}, \texttt{german}, \texttt{ngerman},
-% \texttt{dutch}, \texttt{danish} and \texttt{swedish}. The \texttt{german}
-% and \texttt{ngerman} options are currently equivalent; so are the
-% \texttt{portuguese} and \texttt{brazilian} ones.\par
+% \texttt{dutch}, \texttt{danish}, \texttt{swedish} and \texttt{polish}. The
+% \texttt{german} and \texttt{ngerman} options are currently equivalent; so
+% are the \texttt{portuguese} and \texttt{brazilian} ones.\par
% If you want a finer grain on the language-dependent parts of \curve, the
% following macros are provided.\par
% \DescribeMacro{\continuedname}
@@ -665,7 +674,7 @@
% To remedy this problem, I usually use the \texttt{ask} option and a
% makefile to build the different flavors and move the output file to
% flavor-specific name. Here is a typical makefile target that should clarify
-% (or maybe darken ?) what I am saying:
+% (or maybe darken?) what I am saying:
% \begin{verbatim}
%cv.$(FLAVOR).dvi: cv.ltx $(RUBRICS)
% echo $(FLAVOR) | latex cv.ltx
@@ -704,6 +713,10 @@
%
% \section{Changes}
% \begin{itemize}
+% \item[v1.14] Support for reverse counting bibliographic entries, suggested
+% by Joseph Wright\\
+% Support for Polish thanks to Radek Dominiak\\
+% |<radoslaw.dominiak@gmail.com>|
% \item[v1.13] Support for title alignment, suggested by Lars Kasper\\
% Support for footnotes, suggested by Alain Coletta\\
% Let rubrics honor the current |\linewidth|\\
@@ -771,22 +784,14 @@
% First, the class announcement and the initial requirements:
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{curve}[2007/07/18 v1.13
+\ProvidesClass{curve}[2007/11/27 v1.14
Curriculum Vitae class for LaTeX2e]
\RequirePackage{ltxtable}
+\RequirePackage{ifthen}
\RequirePackage{calc}
% \end{macrocode}
-% The following macro tests strings equality. It avoids the hassle of this
-% stupid \TeX{} scheme that prevents simple conditionals imbrication.
-% \begin{macrocode}
-\newif\ifstrok\strokfalse
-\def\strtest#1#2{%
- \def\@strone{#1}\def\@strtwo{#2}%
- \ifstrok\else\ifx\@strone\@strtwo\stroktrue\fi\fi}
-
-% \end{macrocode}
%
% \subsection{The Rubric File}
% We don't want to output an extra |subrubricbeforespace| if no entry is
@@ -812,16 +817,15 @@
% \begin{macrocode}
\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}
-}
+ \ifthenelse{\equal{#1}{l}}{}{%
+ \ifthenelse{\equal{#1}{r}}{}{%
+ \ifthenelse{\equal{#1}{c}}{}{%
+ \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.}}}}%
+ \newcolumntype{k}{>{\@keyfont}#1}}
% \end{macrocode}
% \DescribeMacro{\prefix}
@@ -1092,9 +1096,11 @@
\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
+ \ifthenelse{\equal{#1}{l}}{}{%
+ \ifthenelse{\equal{#1}{r}}{}{%
+ \ifthenelse{\equal{#1}{c}}{}{%
+ \ClassError{curve}{Invalid argument to \protect\photo}{%
+ Argument 2 of \protect\photo must be `l', `r' or `c'.}}}}%
\def\tmp@cmd{\global\let\makeheaders@}
\expandafter\tmp@cmd\csname makeheaders@#1\endcsname
\gdef\photo@file{#2}}
@@ -1158,9 +1164,11 @@
\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
+ \ifthenelse{\equal{#1}{t}}{}{%
+ \ifthenelse{\equal{#1}{b}}{}{%
+ \ifthenelse{\equal{#1}{c}}{}{%
+ \ClassError{curve}{Invalid argument to \protect\makeheaders}{%
+ Argument of \protect\makeheaders must be `t', `b' or `c'.}}}}%
\def\tmp@cmd{\global\let\includephoto@}
\expandafter\tmp@cmd\csname includephoto@#1\endcsname
\makeheaders@{#1}%
@@ -1264,6 +1272,10 @@
% \begin{macrocode}
\let\newblock\par
\newcounter{bibcount}
+\newcounter{bibtotal}
+
+\newif\ifcurve@revbib\curve@revbibfalse
+\DeclareOption{revbib}{\curve@revbibtrue}
% \end{macrocode}
% \DescribeMacro{\bibliography}
@@ -1309,7 +1321,9 @@
\immediate\write\@auxout{\string\bibcite{#2}{#1}}}
\fi%
\ignorespaces}
- \def\@bibitem#1{\stepcounter{bibcount}\@sentry[\@biblabel{\thebibcount}]%
+ \def\@bibitem#1{\stepcounter{bibcount}%
+ \@sentry[\@biblabel{\ifcurve@revbib\thebibtotal\else\thebibcount\fi}]%
+ \ifcurve@revbib\addtocounter{bibtotal}{-1}\fi%
\if@filesw%
\immediate\write\@auxout{\string\bibcite{#1}{\thebibcount}}%
\fi%
@@ -1323,6 +1337,11 @@
}
}
+\AtEndDocument{%
+ \if@filesw%
+ \immediate\write\@auxout{\string\setcounter{bibtotal}{\thebibcount}}%
+ \fi}
+
% \end{macrocode}
% \DescribeMacro{\listpubname}
% \begin{macrocode}
@@ -1391,7 +1410,9 @@
\DeclareOption{swedish}{%
\continuedname{~(forts.)}
\listpubname{Publikationer}}
-
+\DeclareOption{polish}{
+ \continuedname{~(kontynuacja)}
+ \listpubname{Publikacje}}
% \end{macrocode}
% \subsection{Standard Class Processing}