summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/curve
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-06-08 21:58:39 +0000
committerKarl Berry <karl@freefriends.org>2006-06-08 21:58:39 +0000
commit718ca5f8852f8275d0d355cf6a35f49de06fceda (patch)
treef0d956029e6b6871bef08e13723ed992bfcc8a0c /Master/texmf-dist/source/latex/curve
parent430248db37db171d6c79fa47d11882e06a2d90eb (diff)
curve update (losing pdfs?)
git-svn-id: svn://tug.org/texlive/trunk@1670 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/curve')
-rw-r--r--Master/texmf-dist/source/latex/curve/curve.dtx204
-rw-r--r--Master/texmf-dist/source/latex/curve/curve.ins2
2 files changed, 152 insertions, 54 deletions
diff --git a/Master/texmf-dist/source/latex/curve/curve.dtx b/Master/texmf-dist/source/latex/curve/curve.dtx
index 141863557f3..c0b0aa7bfcf 100644
--- a/Master/texmf-dist/source/latex/curve/curve.dtx
+++ b/Master/texmf-dist/source/latex/curve/curve.dtx
@@ -2,14 +2,14 @@
%
% curve.dtx --- Doc file for the CurVe package (code and documentation)
%
-% Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 Didier Verna.
+% Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 2006 Didier Verna.
%
-% PRCS: $Id: curve.dtx 1.47 Wed, 14 Sep 2005 17:49:57 +0200 didier $
+% PRCS: $Id: curve.dtx 1.55 Wed, 07 Jun 2006 10:16:54 +0200 didier $
%
% Author: Didier Verna <didier@lrde.epita.fr>
% Maintainer: Didier Verna <didier@lrde.epita.fr>
% Created: Thu Dec 10 16:04:01 1998
-% Last Revision: Wed Sep 14 17:45:08 2005
+% Last Revision: Wed Jun 7 10:14:29 2006
%
% This file is part of CurVe.
%
@@ -52,7 +52,7 @@
% \fi
%
% \catcode`\¡=14
-% \CheckSum{939}
+% \CheckSum{1007}
%% \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
@@ -70,11 +70,11 @@
%% Right brace \} Tilde \~}
%
% ^^A $Format: "% \\newcommand{\\version}{v$Version$}"$
-% \newcommand{\version}{v1.10}
+% \newcommand{\version}{v1.11}
% ^^A $Format: "% \\newcommand{\\releasedate}{$ReleaseDate$}"$
-% \newcommand{\releasedate}{2005/09/14}
+% \newcommand{\releasedate}{2006/06/07}
% ^^A $Format: "% \\newcommand{\\packagecopyright}{$LaTeXCopyright$}"$
-% \newcommand{\packagecopyright}{Copyright \copyright{} 2000, 2001, 2002, 2003, 2004, 2005 Didier Verna}
+% \newcommand{\packagecopyright}{Copyright \copyright{} 2000, 2001, 2002, 2003, 2004, 2005, 2006 Didier Verna}
% \newcommand{\auctex}{AUC-\TeX}
% \newcommand{\cv}{\textsc{CV}}
% \MakeShortVerb{\|}
@@ -120,6 +120,40 @@
% For installation instructions, please read the \texttt{README} file included
% in the distribution.
%
+% \section{Frequently Asked Questions}
+% If this is your first time with \curve, you might want to skip this section.
+% Otherwise, please read on, especially before asking me by email\ldots
+%
+% \begin{enumerate}
+% \item
+% \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{When a page break occurs in the middle of a rubric, the same
+% alignment is kept on both pages, which might result in suboptimal
+% layout.}\\
+% This is a technical limitation of the automatic alignment computation
+% process in longtables and I don't think there will be a solution anytime
+% soon (page breaking is orthogonal to column width calculation). What you
+% can do, once your CV is finalized, is manually split the concerned rubric
+% into different ones, starting at the appropriate entries to avoid page
+% breaking in the middle.
+% \item
+% \textbf{How can I make subrubrics with more than one line ?}\\
+% Here are two ideas:
+% \begin{itemize}
+% \item Put your text in several consecutive subrubrics (one per line).
+% However, this might not give you the desired vertical spacing.
+% \item Probably better, put your material in a parbox:\\
+% \verb|\subrubric{\parbox{width}{first blah blah\\next blah blah}}|\\
+% This is a bit dirty because you have to figure out a suitable width for
+% your parbox, but this will work.
+% \end{itemize}
+% \end{enumerate}
+%
% \section{Overview}
% The \curve{} package provides you with a document class for writing
% curricula vitae. The primary purpose of this package is to offer a set of
@@ -360,14 +394,33 @@
% instance). This comes in handy to make a clear distinction between
% different entries sharing the same key (which is not repeated). The
% |\prefix| macro takes one mandatory argument which redefines the prefix to
-% use. By default, |\textbullet| is used.\par
+% use. By default, |\textbullet| is used. Note that as of version 1.11,
+% \curve{} forces the prefix to be empty in bibliographic entries (see section
+% \ref{sec:biblio}).\par
% \DescribeEnv{skipsamekey}
% While maintaining your CV, you might end up reorganizing your entries and
% even get entries with the same key. Normally, \curve{} blindly prints the
% keys regardless of their values. If you don't want repetition, you would
% have to remove keys by hand which can be cumbersome. As of version 1.10,
% \curve{} can skip all but the first of a series of identical keys
-% automatically, provided that you use the |skipsamekey| option.
+% automatically, provided that you use the |skipsamekey| option. Note that as
+% of version 1.11, \curve{} disables this mechanism in bibliography rubrics
+% (see section \ref{sec:biblio}).\par
+%
+% \subsubsection{Making ``invisible'' entries\label{sec:noentry}}
+% The most frequently asked question about \curve{} is probably whether it is
+% possible to align entries across several rubrics. This is (currently) not
+% possible automatically because rubrics are typeset as independant tables.
+% However, a manual solution boils down to enlarging too narrow entries (keys,
+% actually).\par
+% \DescribeMacro{\noentry}
+% As of version 1.11, \curve{} provides a convenience macro to ease
+% this process: |\noentry|. This macro takes one mandatory argument; a key
+% that will be used in the entries alignment calculation. However, this
+% command will not produce any text.\par
+% So if you want all your rubrics to share the same alignment, you typically
+% spot the longest key in your CV, and issue a |\noentry{this long key}| in all
+% other rubrics.
%
% \subsubsection{Making Subrubrics}
% \DescribeMacro{\subrubric}
@@ -429,9 +482,10 @@
% \DescribeEnv{draft}
% In \texttt{draft} mode, a black rule will be drawn at the end of overfull
% lines (as done by standard classes). Due to \curve{} using the
-% \texttt{LTXtable} package, a call to |\setlongtables| is performed in
-% \texttt{final} mode. Please refer to the next section for more information
-% on this. By default, \texttt{final} is used.
+% \texttt{LTXtable} package (and in case \texttt{longtable} prior to version 4
+% is used by it), a call to |\setlongtables| is performed in \texttt{final}
+% mode. Please refer to the next section for more information on this. By
+% default, \texttt{final} is used.
%
% \subsubsection{Page styles}
% As of version 1.6, \curve{} supports the standard \LaTeX{} page style
@@ -441,7 +495,7 @@
% (the equivalent of chapters and sections in books for instance).
% By default, the page style is \texttt{empty}.
%
-% \subsubsection{Bibliography}
+% \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
@@ -464,20 +518,22 @@
% \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. 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
+% 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.
+% as a rubric one.\par
%
+% Finally, note that \curve{} is compatible with the |bibentry| package.
%
% \subsubsection{Internationalization}
% \DescribeEnv{english}
@@ -532,22 +588,29 @@
% \texttt{foo.ltx}\\
% \texttt{foo.tex}\par
%
-% \subsection{Longtables}
-% The \texttt{LTXtable} package on which \curve{} is based is a mix of
-% \texttt{tabularx} and \texttt{longtables}. If you read the documentation of
-% the later, you will discover that for table width computing reasons
-% (especially when a table crosses several pages), \LaTeX{} has to be called
-% twice, sometimes three times, with the last run involving a call to
-% |\setlongtables|.\par
-% Normally, you shouldn't have problems with \curve{} because all tables are
-% set to the maximum width. However, for safety reasons (I mean, just to be
-% sure\ldots), \curve{} automatically calls |\setlongtables| in \texttt{final}
-% mode. If you experiment problems with the formatting, you should process
-% your document once or twice in |draft| mode, and a second or third time in
-% |final| mode.\par
-% Ah, and also, since you're basically working in tabular environments, don't
-% forget that you are not allowed to use the |\\| command\ldots
-%
+% \subsection{Longtable}
+% \curve{} users should be aware of the fact that the layout implementation is
+% based on the \texttt{LTXtable} package, which in turn is a mix of
+% \texttt{tabularx} and \texttt{longtable}. This has several implications,
+% most notably that when writing a rubric, you are actually inside a tabular
+% environment. Here are some things to keep in mind:
+% \begin{itemize}
+% \item You are not allowed to use the |\\| command to start a new line.
+% However, you're free to use |\par| in your entries'contents instead. Note
+% that \curve{} sets |\parskip| to |0pt| so that starting a new paragraph
+% looks like just starting a new line.
+% \item You can use |\raggedright| and |\raggedleft| in your entries.
+% \item You can use |\pagebreak|, |\nopagebreak| and |\newpage| at the
+% beginning of a line, just before starting a new entry.
+% \item Prior to version 4, \texttt{longtable} used an alignment mechanism
+% involving calls to |\setlongtables| (see its documentation). \curve{}
+% retains this for backward compatibility and still calls |\setlongtables|
+% in final (not draft) mode. If your version of \texttt{longtable} is recent
+% enough, you shouldn't be concerned by this. If it is older, you might need
+% to process your document a few times in draft mode, and then one last time
+% in final mode. However, keep in mind that in both cases, you might still
+% need up to 3 or 4 passes of \LaTeX{} on your document.
+% \end{itemize}
%
% \subsection{Managing Different Flavors}
% If you maintain different flavors of your \cv{} at the same time, you
@@ -598,6 +661,13 @@
%
% \section{Changes}
% \begin{itemize}
+% \item[v1.11] New FAQ section in the documentation\\
+% New command |\noentry| to manually enlarge too narrow rubrics\\
+% Make |\pagebreak|, |\nopagebreak| and |\newpage| work in rubrics,
+% suggested by Alexandre Duret-Lutz\\
+% Fix spurious right margin spaces\\
+% Fix usage of the bib counter, disable |skipsamekey| and the prefix in
+% bibliographic entries
% \item[v1.10] Support automatic skipping of identical keys, suggested by Akim
% Demaille\\
% Fix alignment problem with empty prefix, reported by Jonas Haulin
@@ -644,7 +714,7 @@
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
¡ $Format: "\\ProvidesClass{curve}[$ReleaseDate$ v$Version$"$
-\ProvidesClass{curve}[2005/09/14 v1.10
+\ProvidesClass{curve}[2006/06/07 v1.11
Curriculum Vitae class for LaTeX2e]
\RequirePackage{ltxtable}
@@ -730,6 +800,13 @@
\@ifstar{\@sentry}{\@entry}}
% \end{macrocode}
+% \DescribeMacro{\noentry}
+% This macro is a wrapper around |\kill| to manually adjust too narrow rubrics.
+% \begin{macrocode}
+\newcommand\noentry[1]{\@nextentry
+ \noalign{\gdef\@nextentry{}}#1&&\kill}
+% \end{macrocode}
+%
% \subsubsection{Subrubrics}
% \DescribeMacro{\subrubricfont}
% \DescribeMacro{\subrubricbeforespace}
@@ -771,11 +848,11 @@
\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}}}
+\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
@@ -819,11 +896,13 @@
\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}}\\}
+\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
@@ -854,16 +933,28 @@
\rightskip\z@skip\leftskip\@flushglue\parfillskip\z@skip}%
\gdef\@beforespace{0pt}%
\gdef\@nextentry{}%
- \gdef\@previouskey{}
- \begin{longtable}{@{}kl@{~}X}
+ \gdef\@previouskey{}%
+ \global\let\old@newpage\newpage%
+ \global\let\old@pagebreak\pagebreak%
+ \global\let\old@nopagebreak\nopagebreak
+ \begin{longtable}{@{}kl@{~}X@{}}
\@rubrichead{#1}
\endfirsthead
\@rubrichead{#1\@continuedname}
\endhead
- \noalign{\@rubricmark{#1}}}{%
+ \noalign{\@rubricmark{#1}%
+ \global\let\in@newpage\newpage%
+ \global\let\in@pagebreak\pagebreak%
+ \global\let\in@nopagebreak\nopagebreak%
+ \gdef\newpage{\@nextentry\noalign{\gdef\@nextentry{}}\in@newpage}
+ \gdef\pagebreak{\@nextentry\noalign{\gdef\@nextentry{}}\in@pagebreak}
+ \gdef\nopagebreak{\@nextentry\noalign{\gdef\@nextentry{}}\in@nopagebreak}}}{%
%% \end{rubric}
\@nextentry
- \end{longtable}}
+ \end{longtable}
+ \global\let\newpage\old@newpage%
+ \global\let\pagebreak\old@pagebreak%
+ \global\let\nopagebreak\old@nopagebreak}
% \end{macrocode}
% \DescribeMacro{\continuedname}
@@ -1102,7 +1193,8 @@
% \begin{enumerate}
% \item First, they have to be delayed until the beginning of the document
% because \texttt{hyperref} redefines them, so we have to override these new
-% definitions yet again.
+% definitions yet again (that's assuming we're not interested in Hyperref's
+% definition).
% \item Second, a question of compatibility with |bibentry|: this package
% defines its own bibliographic environment, in which case the standard
% bibitem internals should be used.
@@ -1114,7 +1206,7 @@
\immediate\write\@auxout{\string\bibcite{##2}{##1}}}
\fi%
\ignorespaces}
- \def\@bibitem##1{\@sentry[\stepcounter{bibcount}\@biblabel{\thebibcount}]%
+ \def\@bibitem##1{\stepcounter{bibcount}\@sentry[\@biblabel{\thebibcount}]%
\if@filesw%
\immediate\write\@auxout{\string\bibcite{##1}{\thebibcount}}%
\fi%
@@ -1131,6 +1223,12 @@
\@nextentry
\noalign\bgroup\gdef\@beforespace{-\subrubricbeforespace}%
\@ifnextchar[\@lbibitem\@bibitem}
+% \end{macrocode}
+% Also, disable the |skipsamekey| mechanism and the prefix which would get
+% in the way.
+% \begin{macrocode}
+ \def\@key##1{##1}
+ \def\@prefix{}
\begin{rubric}{\@listpubname}
}{%
\end{rubric}
diff --git a/Master/texmf-dist/source/latex/curve/curve.ins b/Master/texmf-dist/source/latex/curve/curve.ins
index fd1b6defb2b..a3294ceeeae 100644
--- a/Master/texmf-dist/source/latex/curve/curve.ins
+++ b/Master/texmf-dist/source/latex/curve/curve.ins
@@ -37,7 +37,7 @@
\preamble
^^J^^J
%% $Format: "$TextCopyright$^^J"$
-Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 Didier Verna^^J
+Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006 Didier Verna^^J
This file is part of CurVe.^^J
CurVe may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.1