diff options
Diffstat (limited to 'Master/texmf-dist/source/latex')
-rw-r--r-- | Master/texmf-dist/source/latex/curve/curve.dtx | 197 |
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} |