ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/matt_papers/my_CV/currvita/currvita.dtx
Revision: 337
Committed: Thu Mar 13 20:09:19 2003 UTC (21 years, 4 months ago) by mmeineke
File size: 54299 byte(s)
Log Message:
*** empty log message ***

File Contents

# Content
1 % \iffalse
2 %
3 % currvita.dtx
4 % Docstrip archive, run through LaTeX.
5 %
6 % Copyright (C) 1999 Axel Reichert
7 % See the files README and COPYING.
8 %
9 % \fi
10 %
11 % \DeclareRobustCommand*{\env}[1]{\texttt{#1}}
12 % \DeclareRobustCommand*{\file}[1]{\texttt{#1}}
13 % \DeclareRobustCommand*{\flag}[1]{\texttt{#1}}
14 % \DeclareRobustCommand*{\mail}[1]{\texttt{#1}}
15 % \DeclareRobustCommand*{\option}[1]{\texttt{#1}}
16 % \DeclareRobustCommand*{\package}[1]{\texttt{#1}}
17 % \DeclareRobustCommand*{\person}[1]{\textsc{#1}}
18 % \DeclareRobustCommand*{\source}[1]{\texttt{#1}}
19 % \DeclareRobustCommand*{\winkey}{\texttt{(-;}}
20 %
21 % \changes{v0.9b}{1999-08-06}{First release}
22 % \changes{v0.9i}{1999-09-13}{Final clean-up and new release}
23 %
24 % \CheckSum{235}
25 %
26 %% \CharacterTable
27 %% {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
28 %% 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
29 %% Digits \0\1\2\3\4\5\6\7\8\9
30 %% Exclamation \! Double quote \" Hash (number) \#
31 %% Dollar \$ Percent \% Ampersand \&
32 %% Acute accent \' Left paren \( Right paren \)
33 %% Asterisk \* Plus \+ Comma \,
34 %% Minus \- Point \. Solidus \/
35 %% Colon \: Semicolon \; Less than \<
36 %% Equals \= Greater than \> Question mark \?
37 %% Commercial at \@ Left bracket \[ Backslash \\
38 %% Right bracket \] Circumflex \^ Underscore \_
39 %% Grave accent \` Left brace \{ Vertical bar \|
40 %% Right brace \} Tilde \~}
41 %
42 % \title{\file{currvita.sty}}
43 % \author{%
44 % Axel Reichert \\
45 % \mail{axel.reichert@gmx.de}%
46 % }
47 % \date{1999-09-13}
48 % \maketitle
49 % \begin{abstract}
50 % \noindent
51 % \file{currvita.sty} is a package for typesetting a curriculum
52 % vitae. See the files~\file{README} and~\file{COPYING} for
53 % additional information.
54 % \end{abstract}
55 %
56 % \tableofcontents
57 %
58 %
59 % \section{Introduction}
60 %
61 % Quite regularly in the \LaTeX{}~newsgroups someone is asking for
62 % a package or document class to typeset a curriculum
63 % vitae. Normally, the following answers are given:
64 % \begin{itemize}
65 % \item A curriculum vitae is highly individual and so you should
66 % not rely on solutions provided by others but rather think about
67 % it on your own and create it in \emph{your} style following
68 % \emph{your} taste.
69 % \item Use \file{vita.cls}.
70 % \item Use \file{resume.sty}.
71 % \item Use \file{tabularx.sty}.
72 % \end{itemize}
73 %
74 % In my opinion all answers are unsatisfactory. To create an
75 % ``individual style'' with \LaTeX{} is not at all easy, especially
76 % if you consider the bunch of questions in the \LaTeX{}~newsgroups
77 % about list and tabular environments, which seem to be the obvious
78 % choice for the use within a curriculum vitae.
79 %
80 % The layout produced by~\file{vita.cls} is a little bit crowded,
81 % the customization has to be done by class option files
82 % (definitely not something for a beginner) and the documentation
83 % is sparse.
84 %
85 % \file{resume.sty} is a totally out-dated (December~1989)
86 % \LaTeX\,2.09 style file, in my opinion it gives a crowded layout
87 % as well, the documentation can be found in the style file. Those
88 % days did not have the neat system
89 % of~\file{ins}/\file{dtx}~files.
90 %
91 % \file{tabularx.sty} is quite good, but to typeset a curriculum
92 % vitae spanning more than one page\footnote{\person{David}, I know
93 % that there is \file{ltxtable.sty}. Surely this great package was
94 % once a hack of 5~minutes on a rainy Sunday like all your other
95 % packages. \winkey}, interspersed with section-like headings and
96 % various \cmd{\multicolumn}~commands is surely not an easy task.
97 %
98 % So I finally decided to write this package, replacing the macros
99 % that I used earlier for my applications\footnote{Typeset
100 % with~\file{longtable.sty} written (again) by~\person{David
101 % Carlisle}.}. In fact, there was not much to replace, because
102 % that time I made heavy use of~\cmd{\textbf}, \cmd{\large},
103 % \cmd{\\} and other \LaTeX nically incorrect commands. \winkey
104 %
105 % I made it a package because a curriculum vitae can make sense not
106 % only on its own, but also within a Ph.\,D.~thesis or a
107 % letter. This package (hopefully) has few requirements,
108 % (hopefully) produces a clearly arranged layout (also known as
109 % puristic or plain and even explained in its own section later),
110 % is (hopefully) well documented by this (hopefully) nice
111 % \file{dvi}~file, (hopefully) easy to use and can (hopefully)
112 % easily be customized. There is even a (hopefully) interesting
113 % example file, my curriculum vitae, so you can see what sick
114 % brains program (and even document) such packages. If you can
115 % understand German. \winkey
116 %
117 %
118 % \section{What You Need}
119 %
120 % \begin{enumerate}
121 % \item \LaTeXe{} (at least the 1996/12/01~release)
122 % \item The \package{ifthen}~package, part of the standard
123 % \LaTeX{}~tools
124 % \item The \package{babel}~package, nowadays a ``required'' part
125 % of~\LaTeX, if you want to typeset the example file.
126 % \end{enumerate}
127 %
128 %
129 % \section{Loading}
130 % \label{sec:loading}
131 %
132 % Load the package with:
133 %\begin{verbatim}
134 % \usepackage{currvita}
135 %\end{verbatim}
136 %
137 % \DescribeMacro{LabelsAligned}
138 % There are two package options that can be used to change the
139 % \DescribeMacro{TextAligned}
140 % vertical spacing of the curriculum vitae:\footnote{Credits go to
141 % \person{Timm Wetzel} for inspiring me to implement this. He will
142 % notice later that I did not follow his suggestion, though.
143 % \winkey}
144 %\begin{verbatim}
145 % \usepackage[LabelsAligned]{currvita}
146 %\end{verbatim}
147 % will give you a more compact spacing, whereas
148 %\begin{verbatim}
149 % \usepackage[TextAligned]{currvita}
150 %\end{verbatim}
151 % will give you the default, more generous spacing. See the
152 % explanation of the \env{cvlist}~environment and
153 % section~\ref{sec:customization} on
154 % page~\pageref{sec:customization} (``Customization'') for
155 % details.
156 %
157 % \DescribeMacro{openbib}
158 % If you like the look of the ``open'' format for bibliographies,
159 % you can use this layout also for a list of publications within
160 % your curriculum vitae. Normally, this option will be passed
161 % automatically by the document class to all packages, so there is
162 % no need to specify it explicitely. However, if you are
163 % typesetting your Ph.\,D.~thesis with a ``normal'' bibliography
164 % and you want to include your curriculum vitae with an ``open''
165 % publication list, you can pass this option directly to the
166 % package:
167 %\begin{verbatim}
168 % \usepackage[openbib]{currvita}
169 %\end{verbatim}
170 %
171 % \DescribeMacro{ManyBibs}
172 % If you want to subdivide your publication list (journal articles,
173 % book chapters,~\ldots) but do not want to do without~\BibTeX{}
174 % and enter every \cmd{\bibitem} manually, you can use this option:
175 %\begin{verbatim}
176 % \usepackage[ManyBibs]{currvita}
177 %\end{verbatim}
178 % This option suppresses the normal heading and also the item
179 % labels. This makes sense only in combination
180 % with~\file{bibunits.sty}, \file{multibib.sty} or other packages
181 % supporting multiple bibliographies. See
182 % section~\ref{sec:bibliographies} on
183 % page~\pageref{sec:bibliographies} (``Bibliographies'').
184 %
185 % \DescribeMacro{NoDate}
186 % If you have reason to suppress the date normally printed at the
187 % bottom of the curriculum vita,\footnote{Credits go to
188 % \person{Matt Swift}, who obviously \emph{has} reason and thus
189 % suggested this feature. \winkey} use the following option:
190 %\begin{verbatim}
191 % \usepackage[NoDate]{currvita}
192 %\end{verbatim}
193 %
194 %
195 % \section{Usage}
196 %
197 % \DescribeMacro{cv}
198 % A curriculum vitae is written inside a \env{cv}~environment,
199 % which takes one mandatory argument, the heading:
200 %\begin{verbatim}
201 % \begin{cv}{<heading of the curriculum vitae>}
202 % <text of the curriculum vitae>
203 % \end{cv}
204 %\end{verbatim}
205 % If you do not want a heading (perhaps because you think the
206 % addressee might have read ``Curriculum Vitae'' too often), you
207 % can specify an empty argument by leaving the braces empty.
208 %
209 % \DescribeMacro{cvlist}
210 % \label{cvlist}
211 % The text of the curriculum vitae is normally divided into several
212 % sections, which are typeset as lists, taking the list heading as
213 % a mandatory argument:
214 %\begin{verbatim}
215 % \begin{cvlist}{<heading of the list>}
216 % <list items>
217 % \end{cvlist}
218 %\end{verbatim}
219 % As usual, the list items can take a label as an optional
220 % argument:
221 %\begin{verbatim}
222 % \item <item text>
223 % \item[<label>] <item text>
224 %\end{verbatim}
225 %
226 % The typesetting of the list depends on the length of the heading
227 % and the use of an optional argument in the first item: If the
228 % heading is less wide than the width reserved for the label and no
229 % optional argument was used, the item is typeset in the same line
230 % as the heading. In all other cases the text of the item itself
231 % starts a new line.
232 %
233 % \DescribeMacro{\cvplace}
234 % Normally, a curriculum vitae ends with the date when and the
235 % place where you wrote it. You can specify the location as
236 % follows:
237 %\begin{verbatim}
238 % \cvplace{<location>}
239 %\end{verbatim}
240 % If you do not use this command, the printing of a location will
241 % be omitted.
242 %
243 % \DescribeMacro{\date}
244 % To specify the date, just use the command provided by the
245 % standard \LaTeX{} document classes~\file{article.cls},
246 % \file{report.cls} and \file{book.cls}. I took special care that
247 % it works also if you are using an other class. If you do not
248 % call this macro at all, \cmd{\today} will be used by default,
249 % unless you have specified the \option{NoDate}~option.
250 %\begin{verbatim}
251 % \date{<date>}
252 %\end{verbatim}
253 %
254 %
255 % \section{Customization}
256 % \label{sec:customization}
257 %
258 % \DescribeMacro{\cvheadingfont}
259 % Normally, the heading of the curriculum vitae is typeset in bold
260 % face and \cmd{\Large}~size (see~\cite{Latex:1999} for
261 % details). You can change this e.\,g.\ with:
262 %\begin{verbatim}
263 % \renewcommand*{\cvheadingfont}{\large\bfseries}
264 %\end{verbatim}
265 %
266 % \DescribeMacro{\cvlistheadingfont}
267 % Corresponding to the font of the heading, the heading of the
268 % \env{cvlist}~environments is typeset in bold face and
269 % \cmd{\large}~size. This can be changed e.\,g.\ with the
270 % following code:
271 %\begin{verbatim}
272 % \renewcommand*{\cvlistheadingfont}{\scshape}
273 %\end{verbatim}
274 %
275 % \DescribeMacro{\cvlabelfont}
276 % The labels of the \env{cvlist}~environments are typeset in the
277 % normal size of the current font. You can change this e.\,g.\ with:
278 %\begin{verbatim}
279 % \renewcommand*{\cvlabelfont}{\itshape}
280 %\end{verbatim}
281 %
282 % \DescribeMacro{\cvlabelwidth}
283 % The default width of the labels of the \env{cvlist}~environments
284 % is equal to the width of~``88/8888--88/8888'', because normally
285 % in the left hand column dates are typeset (and, at least in
286 % Germany, should be formatted in this way).
287 %
288 % \enlargethispage{-3\baselineskip}
289 % If you are using the optional argument of the \cmd{\item}~command
290 % for further sectioning (as I did for my curriculum vitae in the
291 % example file), you perhaps need to adjust this length by means of
292 %\begin{verbatim}
293 % \setlength{\cvlabelwidth}{50mm}
294 %\end{verbatim}
295 % or
296 %\begin{verbatim}
297 % \AtBeginDocument{%
298 % \settowidth{\cvlabelwidth}{%
299 % \cvlabelfont This is my longest label%
300 % }%
301 % }
302 %\end{verbatim}
303 % or like this, if you want the items to be typeset in-line with
304 % the labels wherever possible:
305 %\begin{verbatim}
306 % \AtBeginDocument{%
307 % \settowidth{\cvlabelwidth}{%
308 % \cvlistheadingfont This is my longest list heading%
309 % }%
310 % }
311 %\end{verbatim}
312 % The first example works correctly only
313 % \emph{after}~|\begin{document}|, whereas the other two show how
314 % to adjust the label width within the preamble. Make sure that
315 % you include the appropriate font if you want to measure the
316 % width.\footnote{Credits go to \person{Matt Swift} for reporting
317 % the need for a better documentation.} And do not try to get
318 % things done in the preamble without~\cmd{\AtBeginDocument},
319 % because the font setup will probably not be correct, especially
320 % if you use non-standard fonts.
321 %
322 % \DescribeMacro{\cvlabelskip}
323 % This vertical space is inserted if you have a
324 % \env{cvlist}~environment with a short heading and the first item
325 % of this list has no label, so that the text of the item starts in
326 % the same line as the heading. The spacing is controlled by the
327 % options \option{TextAligned} and~\option{LabelsAligned},
328 % see~section~\ref{sec:loading} on page~\pageref{sec:loading}
329 % (``Loading'').
330 %
331 % By default (\option{TextAligned}), the spacing between the item
332 % text belonging to different lists is independent of the length of
333 % the list heading and also independent of the use of an optional
334 % argument of the \cmd{\item}~command. The gaps between the item
335 % \emph{text} blocks are equal. See, for example, the
336 % lists~``Fremdsprachen'' or~``Interessen'' of the example file.
337 %
338 % The option~\option{LabelsAligned} suppresses the additional space
339 % necessary to achieve this consistent layout and thus gives a more
340 % compact look with evenly distributed gaps between the headings
341 % and the \emph{labels}.
342 %
343 % If you are not satisfied with either of these options, feel free
344 % to set hands to it yourself, for example:
345 %\begin{verbatim}
346 % \setlength{\cvlabelskip}{%
347 % 0.5\baselineskip plus 1pt minus 1pt%
348 % }%
349 %\end{verbatim}
350 %
351 % \DescribeMacro{\cvlabelsep}
352 % The default width of the distance between the labels and the
353 % items itself is equal to~\source{1em}. You can customize it
354 % e.\,g.\ with
355 %\begin{verbatim}
356 % \setlength{\cvlabelsep}{1mm}
357 %\end{verbatim}
358 % or
359 %\begin{verbatim}
360 % \settowidth{\cvlabelsep}{~}
361 %\end{verbatim}
362 % I strongly recommend to use relative measures like~\source{1em}
363 % (i.\,e.\ dependent on the font size), if you need to customize
364 % these lengths at all.
365 %
366 % \DescribeMacro{\cvbibname}
367 % The default heading for bibliographies inside of
368 % \env{cv}~environments is~``Publications''. You could change this
369 % for example with:
370 %\begin{verbatim}
371 % \renewcommand*{\cvbibname}{List of Papers}
372 %\end{verbatim}
373 %
374 % Please keep in mind: All the customizations mentioned above are
375 % \emph{optional} and in my opinion not necessary (not even the
376 % change of~\cmd{\cvlabelwidth}, better use more suggestive label
377 % texts). See section~\ref{sec:typography} on
378 % page~\pageref{sec:typography} (``Typography'') for some remarks.
379 %
380 %
381 % \section{Example}
382 %
383 % Run the example file~\file{cvtest.tex} through~\LaTeX. You will
384 % get my curriculum vitae. Sorry, it is written in German. Sorry,
385 % it is not an original version used for an application (though the
386 % data is correct, but I omitted the marks\footnote{It would have
387 % been too embarrassing for me. \winkey}), because for this I need
388 % some fonts and packages not available to every user and I wanted
389 % to use as much standard~\LaTeX{} as possible.
390 %
391 %
392 % \section{Bugs}
393 %
394 % Some people\footnote{Credits go to \person{Martin Sander} and
395 % \person{Sebastian B\"ocker}.} with an older version of the
396 % \package{babel}~package~(v3.6h) have reported problems due to the
397 % use of the \package{babel}~shortcuts for accented letters within
398 % the \cmd{\cvplace}~command. If you encounter this, too, try a
399 % more recent version (v3.6x definitely works) of the
400 % \package{babel}~package\footnote{Perhaps included in a new
401 % \LaTeX{}~release? \winkey} (or~\file{german.sty}).
402 %
403 %
404 % \section{Bibliographies\label{sec:bibliographies}}
405 %
406 % This package offers several possibilities for bibliographies or
407 % publication lists.\footnote{Credits go to \person{Ian Bruce} for
408 % suggesting this feature and providing the first lines of code
409 % that did start the thing.} You can use \BibTeX{} or enter each
410 % \cmd{\bibitem} manually. You can have multiple bibliographies
411 % within one \env{cvlist}~environment (with the aid of other
412 % packages like~\package{bibunits} or~\package{multibib}), or only
413 % one somewhere in the \env{cv}~environment. Of course the main
414 % bibliographies of your document remain untouched. You can even
415 % use a publication list in document classes without native support
416 % for bibliographies, like~\file{letter.cls}.
417 %
418 % Enough advertising, here we go with some
419 % examples. \figurename~\ref{fig:manual} shows the source of a
420 % letter with a manually done bibliography and a normal
421 % \env{cvlist}~enviroment in comparison. The resulting publication
422 % list (not shown here) does not fit well into the layout of the
423 % \env{cvlist}~environment, so probably you want to integrate your
424 % publication list into a \env{cvlist}~environment and to supply
425 % distinctive labels?
426 %
427 % \begin{figure}
428 %\begin{verbatim}
429 % \documentclass{letter}
430 % \usepackage{currvita}
431 % \begin{document}
432 % \begin{cv}{Resume}
433 % \begin{cvlist}{Gnats and Gnus}
434 % \item[Bar] Bar
435 % \item[Foo] Foo
436 % \end{cvlist}
437 % \begin{thebibliography}{1}
438 % \bibitem{Bar} Bar.
439 % \bibitem{Foo} Foo.
440 % \end{thebibliography}
441 % \end{cv}
442 % \end{document}
443 %\end{verbatim}
444 % \caption{Curriculum vitae with bibliography, manually done}
445 % \label{fig:manual}
446 % \end{figure}
447 %
448 % \begin{figure}
449 %\begin{verbatim}
450 % \documentclass{article}
451 % \usepackage{bibunits}
452 % \usepackage[ManyBibs]{currvita}
453 % \begin{document}
454 % \begin{cv}{Resume}
455 % \begin{cvlist}{Gnats and Gnus}
456 % \item[Bar] Bar
457 % \item[Foo] Foo
458 % \end{cvlist}
459 % \begin{cvlist}{Publications}
460 % \begin{bibunit}[alpha]
461 % \nocite{booklet-full,manual-full,techreport-full}
462 % \item[Books etc.] \putbib[xampl]
463 % \end{bibunit}
464 % \begin{bibunit}[plain]
465 % \nocite{article-full,inproceedings-full}
466 % \item[Papers] \putbib[xampl]
467 % \end{bibunit}
468 % \end{cvlist}
469 % \end{cv}
470 % \end{document}
471 %\end{verbatim}
472 % \caption{Bibliographies inside a \env{cvlist}, done with
473 % \file{bibunits.sty}}
474 % \label{fig:bibunits}
475 % \end{figure}
476 %
477 % \figurename~\ref{fig:bibunits} shows an example with multiple
478 % bibliographies automatically generated by~\BibTeX{} and in
479 % combination with~\file{bibunits.sty}. This code will result in a
480 % \LaTeX{}~error (``Something's wrong--perhaps a missing
481 % \cmd{\item}.'') on the first run, but if you scroll through the
482 % errors and run \LaTeX{} again, you will get a nice output once
483 % you have run \BibTeX{} according to the
484 % \package{bibunits}~manual. Note that the choice of the
485 % bibliography style does not influence the labels because they are
486 % suppressed anyway by use of the \option{ManyBibs}~option.
487 %
488 % \begin{figure}
489 %\begin{verbatim}
490 % \documentclass{report}
491 % \usepackage{multibib}
492 % \usepackage[openbib,ManyBibs]{currvita}
493 % \newcites{books}{bar}
494 % \newcites{papers}{foo}
495 % \begin{document}
496 % \bibliographystyle{alpha}
497 % \bibliographystylebooks{unsrt}
498 % \bibliographystylepapers{plain}
499 % \begin{cv}{Resume}
500 % \begin{cvlist}{Gnats and Gnus}
501 % \item[Bar] Bar
502 % \item[Foo] Foo
503 % \end{cvlist}
504 % \begin{cvlist}{Publications}
505 % \nocitebooks{booklet-full,manual-full,techreport-full}
506 % \item[Books etc.] \bibliographybooks{xampl}
507 % \nocitepapers{article-full,inproceedings-full}
508 % \item[Papers] \bibliographypapers{xampl}
509 % \end{cvlist}
510 % \end{cv}
511 % \nocite{mastersthesis-full,misc-full,unpublished-full}
512 % \bibliography{xampl}
513 % \end{document}
514 %\end{verbatim}
515 % \caption{``Open'' publication lists inside a \env{cvlist},
516 % additional ``normal'' bibliography outside, done with
517 % \file{multibib.sty}}
518 % \label{fig:multibib}
519 % \end{figure}
520 %
521 % However, they work as normal outside the \env{cv}~environment,
522 % see~\figurename~\ref{fig:multibib}, which shows in addition to
523 % the usage of the \package{multibib}~package for ``open''
524 % publication lists a ``normal'' bibliography in yet another
525 % bibliography style. Note also that the second argument of the
526 % \cmd{\newcites}~command does not matter because the heading of
527 % the partial bibliographies is suppressed, again by use of the
528 % \option{ManyBibs}~option.
529 %
530 %
531 % \section{Typography\label{sec:typography}}
532 %
533 % A curriculum vitae is an exam. The addressee gets a proof of
534 % your skills concerning collecting, discarding, ordering and
535 % presenting information. He also gets an impression of some of
536 % your qualities that are not even mentioned in the text: Accuracy
537 % (consistency and correctness of the micro-typographic things),
538 % stinginess (extremely narrow margins) and your taste in questions
539 % of aesthetics (font overload as against clear and evident font
540 % usage). Even more things are revealed by subtle hints given by
541 % the typography of the curriculum vitae and they can be noticed by
542 % all professional readers of applications,\footnote{Very often
543 % subconsciously.} not only by typographers.
544 %
545 % Therefore you definitely should do your best not only when
546 % thinking about the content but also when thinking about the form
547 % of the curriculum vitae. This package tries to help you in this
548 % task.
549 %
550 % The overall appearance of a curriculum vitae is determined mainly
551 % by three factors:
552 % \begin{description}
553 % \item[Layout] Organization and arrangement of the information
554 % e.\,g.\ into lists or tabulars, usage of headings, size of the
555 % typearea, width of columns, horizontal and vertical spacing
556 % \item[Font] Family, sizes, usage of fonts for emphasized in-line
557 % text or text serving as an eye-catcher, creation of an atmosphere
558 % appropriate to the candidate and the job in question
559 % \item[Micro-typography] Formatting of various numbers, avoidance
560 % of bad linebreaks, distinction between small and normal spaces,
561 % typesetting of company names, usage of quotation marks
562 % \end{description}
563 %
564 %
565 % \subsection{Layout}
566 %
567 % You generally should organize the necessary information (and
568 % \emph{only} the necessary information) as clearly as possible,
569 % because the addressee is annoyed anyway by the pile of
570 % applications that he has to wade, and you definitely should not
571 % annoy him any further by not structuring your curriculum vitae.
572 %
573 % Use generous margins, a not too small font and moderate vertical
574 % spacing. I recommend something around~\source{DIV12} for users
575 % of~\file{typearea.sty} (part of KOMA-Script), an 11~point font
576 % for A4~paper (highly dependent on the font family) and a left
577 % hand column as narrow as possible (it will make the linebreaking
578 % in the right hand column easier). For the distance between the
579 % columns \source{1em}~creates a sufficient separation. A normal
580 % word space would not be enough, whereas something
581 % around~\source{1cm} would weaken the coherence of the layout,
582 % especially if you have some shorter labels.
583 %
584 % If you ever heard a curriculum vitae should not be longer than
585 % one page, forget it, unless you are required (by whom, if I may
586 % ask?) to stay below this limit. I made some tries with increased
587 % typearea and reduced the font size and the vertical spacing. I
588 % finally managed to arrange my test file on one page by usage of a
589 % very narrow newspaper font, but it looked horrible. The normal
590 % version, though about half a page longer, was much easier (and
591 % quicker!) to read.
592 %
593 %
594 % \subsection{Font}
595 %
596 % The most difficult thing is to choose a good font. For
597 % ``normal'' jobs like engineering, economics or similar, the font
598 % should look friendly and professional, just like you on the
599 % photo. Of course a typographical layman does not identify the
600 % font, but he too feels the atmosphere created by it.
601 %
602 % I made some tries with about 50~fonts, with serifs or without,
603 % old-style, transitional and modern fonts and got surprisingly
604 % good agreement among the test persons\footnote{Credits go to
605 % \person{Melanie Frisch}, \person{R\"udiger Haardt},
606 % \person{Steffen Mei\ss ner}, \person{Joachim Gnauk}
607 % and~\person{Rainer Messerschmidt} for doing this tedious
608 % work.}. Moreover, my analysis and theirs yielded the same
609 % result: Computer Modern, Charter, Utopia and Melior really do a
610 % good job. Except Melior, these fonts are freely available.
611 % Computer Modern looks elegant, dry, precise and reserved, Charter
612 % friendly, open, solid and likable and Utopia clear and
613 % technical. The last two are nowadays part of good
614 % \LaTeX{}~distributions, so you are not sticked to Computer
615 % Modern, just try them out:
616 %\begin{verbatim}
617 % \usepackage{charter}
618 %\end{verbatim}
619 % or
620 %\begin{verbatim}
621 % \usepackage{utopia}
622 %\end{verbatim}
623 %
624 % Generally, you should use bold face for the headings, to make
625 % them clearly distinct from the main text, italics are not enough.
626 % An important aspect of the font choice is the contrast between
627 % the normal and the bold face. It should be high enough, so that
628 % the headings can be identified at a glance, but neither the
629 % regular font nor the bold variant should look too~``loud''. This
630 % is a problem e.\,g.\ with New Century Schoolbook, apart from that
631 % as good as Computer Modern.
632 %
633 % Many fonts typically used in novels have too low a contrast,
634 % e.\,g.\ Berling, Galliard, Palatino and Stempel
635 % Garamond. Although the contrast is good in Bembo, it looks
636 % too~``nice'', too familiar from books to create the correct
637 % atmosphere for a curriculum vitae, which normally is attached to
638 % a stupid letter. Plantin and Trump Medieval and perhaps New
639 % Baskerville may be acceptable in some cases, but I think there
640 % are better choices. Not everybody's taste because a little
641 % unusual, but in my opinion quite good is Oranda, rather bold and
642 % small, but friendly and soft. Oh, I almost forgot: The
643 % obligatory Times is a good choice, too. Though it is completely
644 % over-used and overrated (I am not at all a fan of Times), its
645 % domain is the typesetting of (more or less) narrow columns and it
646 % does a good job looking both familiar and neutral.
647 %
648 % My trials with sans-serif fonts were not very
649 % successful. Computer Modern Sans Serif, Franklin Gothic or
650 % Univers may be acceptable, Helvetica looks too boring (are
651 % \emph{you} boring?), Frutiger has too low a contrast, Optima is
652 % ``too nice'', Gill Sans and Futura look too bold (and the latter
653 % perhaps too cold and technical, but that may be suitable for some
654 % jobs). Generally the problem is to achieve consistency with the
655 % accompanying letter, which normally is written with a serif font
656 % (and should be, because it is a longer text with less structure,
657 % the main text only divided into paragraphs. In these cases,
658 % so-called ``linear reading'', a serif font is considered more
659 % legible by many typographers).
660 %
661 %
662 % \subsection{Micro-typography}
663 %
664 % Sometimes the pile of applications is pre-sorted by a
665 % secretary. You should ensure that the micro-typography (also
666 % known as ``pedantic stuff'') is correct, because secretaries
667 % learn these things during their education. German users of this
668 % package definitely should consult the relevant part of the
669 % Duden~\cite{Duden:1996} or have a look into~\cite{Willberg:1997}
670 % or the example file. Errors in the formatting of dates, spacing
671 % or grouping of telephone numbers, usage of quotation marks or
672 % ampersands and so on are too common. Trained secretaries will
673 % notice these mistakes and, if they already did not like your
674 % photo, will put your application onto stack~W
675 % (wastebasket). \winkey
676 %
677 % Think about it, micro-typography is easy, and if you get used to
678 % it, you will typeset things correctly ``by default'' and your
679 % documents will require less proof-reading. It is awful if the
680 % reader stumbles (and falls) over a bad linebreak. Use ties~(|~|)
681 % or other things influencing hyphenation from~\file{babel.sty}
682 % or~\file{german.sty} like~\cmd{\,}, |"~| or~|""| not after you
683 % have discovered such a mistake, but during entering the text.
684 %
685 % O.\,K., and now I will turn preaching mode off and programming
686 % mode on. \winkey
687 %
688 %
689 % \section{Implementation}
690 %
691 % \iffalse
692 %<*driver>
693 \documentclass[12pt,a4paper]{ltxdoc}
694 \begin{document}
695 \DocInput{currvita.dtx}
696 \end{document}
697 %</driver>
698 % \fi
699 % \StopEventually{
700 % \addcontentsline{toc}{section}{References}
701 % \begin{thebibliography}{1}
702 % \bibitem{Duden:1996}
703 % \textsc{Dudenredaktion}~(ed.): \emph{Duden, Rechtschreibung
704 % der deutschen Sprache}, vol.~1 of~\emph{Der Duden in
705 % 12~B{\"a}nden; das Standardwerk zur deutschen Sprache},
706 % chap.~Richtlinien f{\"u}r den Schriftsatz,
707 % pp.\,65--73. \newblock Dudenverlag, Mannheim, 21st~edn.,
708 % 1996.
709 % \bibitem{Goossens:1994}
710 % \textsc{Goossens,~M.; Mittelbach,~F.; Samarin,~A.}: \emph{Der
711 % \LaTeX-Begleiter}. \newblock Addison-Wesley, Bonn, 1st~edn.,
712 % 1994.
713 % \bibitem{Kopka:1997}
714 % \textsc{Kopka,~H.}: \emph{Erweiterungen}, vol.~3
715 % of~\emph{\LaTeX}. \newblock Addison-Wesley-Longman, Bonn,
716 % 1997.
717 % \bibitem{Latex:1999}
718 % \LaTeX3 Project Team. \newblock \emph{\LaTeXe{} font
719 % selection}, Jan.\,1999.
720 % \bibitem{Willberg:1997}
721 % \textsc{Willberg,~H.\,P.; Forssman,~F.}:
722 % \emph{Lesetypographie}. \newblock Schmidt, Mainz, 1997.
723 % \end{thebibliography}
724 % }
725 % \iffalse
726 %<*package>
727 % \fi
728 %
729 %
730 % \subsection{Identification}
731 %
732 % \changes{v0.9g}{1999-09-06}{A new \LaTeX{} version is needed.}
733 % As this package uses the \cmd{\ignorespacesafterend}~command, it
734 % does not work with older \LaTeXe{}~versions.
735 % \begin{macrocode}
736 \NeedsTeXFormat{LaTeX2e}[1996/12/01]%
737 % \end{macrocode}
738 % The package identifies itself with its release date, a version
739 % number, and a short description.
740 % \begin{macrocode}
741 \ProvidesPackage{currvita}[%
742 1999/09/13 v0.9i Typesetting a Curriculum Vitae%
743 ]%
744 % \end{macrocode}
745 %
746 %
747 % \subsection{Loading Files}
748 %
749 % The \package{ifthen}~package is used to make some decisions
750 % easier.
751 % \begin{macrocode}
752 \RequirePackage{ifthen}%
753 % \end{macrocode}
754 %
755 %
756 % \subsection{Initialization}
757 %
758 % \begin{macro}{\@cvplace}
759 % The string for the place of the curriculum vitae is
760 % initialized. It should be defined later by the user.
761 % \cmd{\@cvplace} is not declared by means
762 % of~\cmd{\DeclareRobustCommand*}, because this adds a
763 % superfluous~\cmd{\protect} (causing problems with the
764 % \package{ifthen}~package).
765 % \begin{macrocode}
766 \newcommand*{\@cvplace}{\@empty}%
767 % \end{macrocode}
768 % \end{macro}
769 % \begin{macro}{\@cvlistheading}
770 % The box containing the heading of a \env{cvlist}~environment is
771 % allocated.
772 % \begin{macrocode}
773 \newsavebox{\@cvlistheading}%
774 % \end{macrocode}
775 % \end{macro}
776 % \begin{macro}{\cvlabelsep}
777 % \begin{macro}{\cvlabelskip}
778 % \begin{macro}{\cvlabelwidth}
779 % \changes{v0.9d}{1999-08-25}{\cmd{\cvlabelskip} was introduced.}
780 % Some lengths are initialized.
781 % \begin{macrocode}
782 \newlength{\cvlabelsep}%
783 \newlength{\cvlabelskip}%
784 \newlength{\cvlabelwidth}%
785 % \end{macrocode}
786 % \end{macro}
787 % \end{macro}
788 % \end{macro}
789 % \begin{macro}{cv@many@bibs}
790 % \begin{macro}{cv@no@date}
791 % \begin{macro}{cv@open@bib}
792 % \changes{v0.9f}{1999-09-02}{%
793 % Flags~\flag{cv@many@bibs} and \flag{cv@open@bib} were
794 % introduced.%
795 % }
796 % \changes{v0.9g}{1999-09-06}{%
797 % Flag~\flag{cv@no@date} was introduced.%
798 % }
799 % \changes{v0.9g}{1999-09-06}{%
800 % New name: \flag{cv@many@bibs} instead of \flag{many@bibs}%
801 % }
802 % We also need one new flag to handle the bibliography option
803 % \option{ManyBibs}, another one to handle the
804 % \option{NoDate}~option, and another one to handle the
805 % \option{openbib}~option separately for the
806 % \package{currvita}~package.
807 % \begin{macrocode}
808 \newboolean{cv@many@bibs}%
809 \newboolean{cv@no@date}%
810 \newboolean{cv@open@bib}%
811 % \end{macrocode}
812 % \end{macro}
813 % \end{macro}
814 % \end{macro}
815 %
816 %
817 % \subsection{Option Declaration}
818 %
819 % \changes{v0.9d}{1999-08-25}{%
820 % Options \option{LabelsAligned} and~\option{TextAligned} were
821 % introduced.%
822 % }
823 % \begin{macro}{LabelsAligned}
824 % The use of this option suppresses the additional vertical space
825 % inserted before in-line headings of \env{cvlist}~environments.
826 % It ensures that the gaps between the various headings and labels
827 % are equal.
828 % \begin{macrocode}
829 \DeclareOption{LabelsAligned}{%
830 \setlength{\cvlabelskip}{0ex}%
831 }%
832 % \end{macrocode}
833 % \end{macro}
834 % \begin{macro}{TextAligned}
835 % Use of this option ensures that the items of the right hand
836 % column are separated by equal vertical spacing. To achieve this,
837 % an additional gap has to be inserted in case of a short heading
838 % and no optional argument given to the \cmd{\item}~command. See
839 % also the definition of the \env{cvlist}~environment on
840 % page~\pageref{makelabel}.
841 % \begin{macrocode}
842 \DeclareOption{TextAligned}{%
843 \setlength{\cvlabelskip}{%
844 1.5\baselineskip plus 3pt minus 3pt%
845 }%
846 }%
847 % \end{macrocode}
848 % \end{macro}
849 % \begin{macro}{openbib}
850 % \changes{v0.9e}{1999-08-29}{%
851 % Option \option{openbib} was introduced.%
852 % }
853 % \changes{v0.9e}{1999-08-29}{\cmd{\bibindent} was introduced.}
854 % \changes{v0.9f}{1999-09-02}{%
855 % Option code moved to \env{thebibliography}~environment, checked
856 % with flag.%
857 % }
858 % \changes{v0.9h}{1999-09-08}{%
859 % Initialization of~\cmd{\bibindent} moved into option code.%
860 % }
861 % \changes{v0.9h}{1999-09-08}{%
862 % Option \option{OneBib} is no longer necessary and has been
863 % deleted.%
864 % }
865 % For document classes like letter, i.\,e.\ without native support
866 % for bibliographies, it is necessary to provide the length of the
867 % indentation used in the \option{openbib}~format. It will not be
868 % changed if it is already defined.
869 % \begin{macrocode}
870 \DeclareOption{openbib}{%
871 \@ifundefined{bibindent}{%
872 \newlength{\bibindent}%
873 }{}%
874 \setlength{\bibindent}{1.5em}%
875 \setboolean{cv@open@bib}{true}%
876 }%
877 % \end{macrocode}
878 % \end{macro}
879 % \begin{macro}{ManyBibs}
880 % \changes{v0.9f}{1999-09-02}{%
881 % Option \option{ManyBibs} was introduced.%
882 % }
883 % Use this option in case you need more than one bibliography list,
884 % e.\,g.\ for different kinds of publications.
885 % \begin{macrocode}
886 \DeclareOption{ManyBibs}{%
887 \setboolean{cv@many@bibs}{true}%
888 }%
889 % \end{macrocode}
890 % \end{macro}
891 % \begin{macro}{NoDate}
892 % \changes{v0.9g}{1999-09-06}{%
893 % Option \option{NoDate} was introduced.%
894 % }
895 % Use this option in case you want to omit the date normally
896 % printed at the bottom of the curriculum vitae.
897 % \begin{macrocode}
898 \DeclareOption{NoDate}{%
899 \setboolean{cv@no@date}{true}%
900 }%
901 % \end{macrocode}
902 % \end{macro}
903 %
904 %
905 % \subsection{Option Processing}
906 %
907 % \changes{v0.9d}{1999-08-25}{%
908 % \option{TextAligned} is the defined as the default option.%
909 % }
910 % \changes{v0.9f}{1999-09-02}{%
911 % \option{OneBib} added to list of default options.%
912 % }
913 % \changes{v0.9h}{1999-09-08}{%
914 % \option{OneBib} deleted from list of default options.%
915 % }
916 % If no options are specified, the text of the items is aligned by
917 % default. Otherwise the options are processed in the order given
918 % by the calling command, i.\,e.\ the last one ``wins''.
919 % \begin{macrocode}
920 \ExecuteOptions{TextAligned}%
921 \ProcessOptions*%
922 % \end{macrocode}
923 %
924 %
925 % \subsection{Delaying Code}
926 %
927 % \changes{v0.9c}{1999-08-16}{%
928 % Execution of \cmd{\settowidth} delayed until beginning of
929 % document%
930 % }
931 % \changes{v0.9d}{1999-08-25}{%
932 % \cmd{\cvlabelfont} is used for measuring the width of the
933 % label.%
934 % }
935 % \changes{v0.9h}{1999-09-08}{%
936 % \cmd{\cvlabelsep} is now initialized at the beginning of the
937 % document.%
938 % }
939 % The distance between labels and items is set to~\source{1em}.
940 % The maximum allowed width of the labels of the
941 % \env{cvlist}~environments forming the curriculum vitae is set to
942 % the width of a typical entry. This is done at the beginning of
943 % the document, because then the normal fonts have been setup
944 % properly.\footnote{Credits go to \person{Gerd Boerrigter} for
945 % reporting this bug.}
946 % \begin{macrocode}
947 \AtBeginDocument{%
948 \setlength{\cvlabelsep}{1em}%
949 \settowidth{\cvlabelwidth}{%
950 \cvlabelfont 88/8888--88/8888%
951 }%
952 }%
953 % \end{macrocode}
954 %
955 %
956 % \subsection{Defining Commands}
957 %
958 % \begin{macro}{\cvheadingfont}
959 % Normally, the title of the curriculum vitae is typeset in larger
960 % bold face.
961 % \begin{macrocode}
962 \DeclareRobustCommand*{\cvheadingfont}{\bfseries\Large}%
963 % \end{macrocode}
964 % \end{macro}
965 % \begin{macro}{\cvbibname}
966 % \changes{v0.9g}{1999-09-06}{\cmd{\cvbibname} was introduced.}
967 % This macro holds the name of the publication list. In my opinion
968 % it does not make sense to inherit the definition
969 % of~\cmd{\refname} or~\cmd{\bibname}, so a new command is
970 % introduced.
971 % \begin{macrocode}
972 \DeclareRobustCommand*{\cvbibname}{Publications}%
973 % \end{macrocode}
974 % \end{macro}
975 % \begin{macro}{\cvplace}
976 % This command is used to change the place to be typeset at the
977 % bottom of the curriculum vitae. It takes one mandatory argument,
978 % guess what: the place. \winkey
979 % \begin{macrocode}
980 \DeclareRobustCommand*{\cvplace}[1]{%
981 \gdef\@cvplace{#1}%
982 }%
983 % \end{macrocode}
984 % The \cmd{\@cvplace}~command is changed globally, so that you can
985 % use it also inside environments other than
986 % \env{cv}~environments.
987 % \end{macro}
988 % \begin{macro}{\date}
989 % This command is used to change the date that is printed below the
990 % curriculum vitae. It needs the date as a mandatory
991 % argument. Because the standard \LaTeX{}~classes
992 % \file{article.cls}, \file{report.cls} and~\file{book.cls} already
993 % define such a command, it will only be defined if it is not
994 % provided by the class.
995 %
996 % In contrast, the \cmd{\@date} command is part of the
997 % \LaTeX{}~kernel and thus available in every class. \cmd{\@date}
998 % is changed globally for the same reason as the
999 % \cmd{\@cvplace}~command.
1000 % \begin{macrocode}
1001 \providecommand*{\date}[1]{\gdef\@date{#1}}%
1002 % \end{macrocode}
1003 % \end{macro}
1004 % \begin{macro}{cv}
1005 % This environment takes the heading of the curriculum vitae as a
1006 % mandatory argument which is typeset at the beginning of the
1007 % curriculum vitae without indentation using the corresponding
1008 % font, whose scope is limited by a separate group. If the
1009 % argument is empty, no heading is used.
1010 % \begin{macrocode}
1011 \newenvironment{cv}[1]{%
1012 \ifthenelse{\equal{#1}{\@empty}}{%
1013 }{%
1014 {%
1015 \noindent\cvheadingfont#1\par\nopagebreak
1016 }%
1017 }%
1018 % \end{macrocode}
1019 % \begin{macro}{\@biblabel}
1020 % \changes{v0.9f}{1999-09-02}{%
1021 % \cmd{\@biblabel} is set dependent on \option{ManyBibs} option.%
1022 % }
1023 % The labels used within the bibliography are redefined locally as
1024 % empty. In this way it is possible to add explanatory text to the
1025 % items like~``Articles'' or~``Book Chapters''.
1026 % \begin{macrocode}
1027 \ifthenelse{\boolean{cv@many@bibs}}{%
1028 \DeclareRobustCommand*{\@biblabel}[1]{\@gobble{##1}}%
1029 }{}%
1030 % \end{macrocode}
1031 % \end{macro}
1032 % \begin{macro}{\newblock}
1033 % \changes{v0.9e}{1999-08-29}{%
1034 % The commands \cmd{\newblock} and \cmd{\@openbib@code} were
1035 % introduced.%
1036 % }
1037 % \changes{v0.9h}{1999-09-08}{%
1038 % The command~\cmd{\@openbib@code} is no longer necessary and has
1039 % been deleted.%
1040 % }
1041 % \changes{v0.9h}{1999-09-08}{%
1042 % The definition is now made local inside the
1043 % \env{cv}~environment.%
1044 % }
1045 % To support bibliographies even in document classes like letter
1046 % (which do not have ``native'' bibliography support), it is
1047 % necessary to provide this command:
1048 % \begin{macrocode}
1049 \providecommand{\newblock}{%
1050 \hspace{0.11em plus 0.33em minus 0.07em}%
1051 }%
1052 % \end{macrocode}
1053 % \end{macro}
1054 % \begin{macro}{thebibliography}
1055 % The \env{thebibliography}~environment is (re)defined locally, so
1056 % you can use a ``normal'' bibliography elsewhere in your
1057 % document.
1058 % \changes{v0.9e}{1999-08-29}{%
1059 % \env{thebibliography}~environment is locally defined.%
1060 % }
1061 % \changes{v0.9f}{1999-09-02}{%
1062 % Heading is suppressed if \option{ManyBibs}~option is used.%
1063 % }
1064 % \changes{v0.9f}{1999-09-02}{%
1065 % \cmd{\newblock}~command is redefined locally for
1066 % \option{openbib} support.%
1067 % }
1068 % \changes{v0.9f}{1999-09-02}{%
1069 % \cmd{\labelsep} is set dependent on \option{ManyBibs}~option.%
1070 % }
1071 % \changes{v0.9f}{1999-09-02}{%
1072 % Code for \option{openbib}~option is executed depending on the
1073 % \flag{cv@open@bib} flag.%
1074 % }
1075 % \changes{v0.9h}{1999-09-08}{%
1076 % Length of~\cmd{\topsep} was reduced to give spacing consistent
1077 % to the \env{cvlist}~environments.%
1078 % }
1079 % \begin{macrocode}
1080 \long\def\thebibliography##1{%
1081 % \end{macrocode}
1082 % The heading is omitted if the \option{ManyBibs}~option is
1083 % used. Otherwise it is typeset using the appropriate font, without
1084 % indentation. A pagebreak after the heading is suppressed.
1085 % \begin{macrocode}
1086 \ifthenelse{\boolean{cv@many@bibs}}{%
1087 }{%
1088 {%
1089 \noindent\cvlistheadingfont\cvbibname
1090 \par\nopagebreak
1091 }%
1092 }%
1093 % \end{macrocode}
1094 % The following redefinition is taken from the standard document
1095 % classes, as is most of the rest of the environment.
1096 % \begin{macrocode}
1097 \ifthenelse{\boolean{cv@open@bib}}{%
1098 \renewcommand{\newblock}{\par}%
1099 }{}%
1100 \begin{list}{\@biblabel{\@arabic\c@enumiv}}{%
1101 % \end{macrocode}
1102 % The lengths of~\cmd{\parsep} and~\cmd{\itemsep} are swapped in
1103 % comparison with the \env{cvlist}~environments. This gives
1104 % correct spacing even with the \option{openbib}~option.
1105 % \begin{macrocode}
1106 \setlength{\parsep}{0ex}%
1107 \setlength{\itemsep}{%
1108 0.5\baselineskip plus 1pt minus 1pt%
1109 }%
1110 % \end{macrocode}
1111 % The vertical spacing is adapted to correspond to the other
1112 % \env{cvlist}~environments.
1113 % \begin{macrocode}
1114 \setlength{\topsep}{0ex}%
1115 \setlength{\partopsep}{0ex}%
1116 % \end{macrocode}
1117 % With the \option{ManyBibs}~option no labels are used, so no space
1118 % needs to be reserved.
1119 % \begin{macrocode}
1120 \ifthenelse{\boolean{cv@many@bibs}}{%
1121 \setlength{\labelsep}{0em}%
1122 }{}%
1123 % \end{macrocode}
1124 % And now lots of code adapted from the standard document classes,
1125 % only written in a \LaTeX nically correct way. \winkey
1126 % \begin{macrocode}
1127 \settowidth{\labelwidth}{\@biblabel{##1}}%
1128 \setlength{\leftmargin}{\labelwidth}%
1129 \addtolength{\leftmargin}{\labelsep}%
1130 \ifthenelse{\boolean{cv@open@bib}}{%
1131 \addtolength{\leftmargin}{\bibindent}%
1132 \setlength{\itemindent}{-\bibindent}%
1133 \setlength{\listparindent}{\itemindent}%
1134 }{}%
1135 \usecounter{enumiv}%
1136 \let\p@enumiv\@empty
1137 \renewcommand*{\theenumiv}{\@arabic\c@enumiv}%
1138 }%
1139 \sloppy
1140 \clubpenalty4000%
1141 \@clubpenalty\clubpenalty
1142 \widowpenalty4000%
1143 \sfcode`\.=\@m
1144 }%
1145 \long\def\endthebibliography{%
1146 \renewcommand*{\@noitemerr}{%
1147 \@latex@warning{Empty `thebibliography' environment}%
1148 }%
1149 \end{list}%
1150 }%
1151 }{%
1152 % \end{macrocode}
1153 % \changes{v0.9c}{1999-08-16}{\cmd{\noindent} added.}
1154 % \changes{v0.9g}{1999-09-06}{%
1155 % Support for \option{NoDate}~option was added.%
1156 % }
1157 % \changes{v0.9g}{1999-09-06}{%
1158 % Text following the \env{cv}~environment start in new line,
1159 % without indentation.%
1160 % }
1161 % The place (if given) followed by the date is typeset at the
1162 % bottom of the curriculum vitae. It should not be indented, even
1163 % if there are blank lines prior to the end of the
1164 % \env{cv}~environment.\footnote{Credits go to \person{Gerd
1165 % Boerrigter} for discovering this~``feature''.} The amount of
1166 % vertical space seems quite strange but looks right, much better
1167 % than the expected~\source{1.5\bslash baselineskip}. Don't know
1168 % why. \winkey
1169 % \begin{macrocode}
1170 \vspace{1.333\baselineskip plus 3pt minus 3pt}%
1171 \ifthenelse{\equal{\@cvplace}{\@empty}}{%
1172 }{%
1173 \noindent
1174 \@cvplace
1175 \ifthenelse{\boolean{cv@no@date}}{}{%
1176 ,~%
1177 }%
1178 }%
1179 \ifthenelse{\boolean{cv@no@date}}{}{%
1180 \@date
1181 }%
1182 \par\noindent\ignorespacesafterend
1183 }%
1184 % \end{macrocode}
1185 % \end{macro}
1186 % \end{macro}
1187 % \begin{macro}{\cvlistheadingfont}
1188 % The headings of the \env{cvlist}~environments forming the
1189 % curriculum vitae are typeset in large bold face.
1190 % \begin{macrocode}
1191 \DeclareRobustCommand*{\cvlistheadingfont}{%
1192 \bfseries\large
1193 }%
1194 % \end{macrocode}
1195 % \end{macro}
1196 % \changes{v0.9d}{1999-08-25}{\cmd{\cvlabelfont} command added.}
1197 % \begin{macro}{\cvlabelfont}
1198 % The labels of the \env{cvlist}~environments are typeset in the
1199 % normal size of the current font.
1200 % \begin{macrocode}
1201 \DeclareRobustCommand*{\cvlabelfont}{%
1202 \normalsize
1203 }%
1204 % \end{macrocode}
1205 % \end{macro}
1206 % \begin{macro}{cvlist}
1207 % This is the list environment used for the parts of the curriculum
1208 % vitae. It takes one mandatory argument, the heading of the
1209 % list.
1210 % \begin{macrocode}
1211 \newenvironment{cvlist}[1]{%
1212 % \end{macrocode}
1213 % The heading of the list is put into a box, using the
1214 % corresponding font.
1215 % \begin{macrocode}
1216 \sbox{\@cvlistheading}{\cvlistheadingfont#1}%
1217 % \end{macrocode}
1218 % The \env{cvlist}~environment is basically a
1219 % \env{list}~environment~\ldots
1220 % \begin{macrocode}
1221 \begin{list}{}{%
1222 % \end{macrocode}
1223 % \ldots~but with a ``smart'' \cmd{\makelabel}~command which is
1224 % given the optional argument of the \cmd{\item}~command.
1225 % \label{makelabel}
1226 % \begin{macrocode}
1227 \renewcommand*{\makelabel}[1]{%
1228 % \end{macrocode}
1229 % \changes{v0.9d}{1999-08-25}{%
1230 % \cmd{\cvlabelfont} is used for measuring the width of the
1231 % label.%
1232 % }
1233 % The width of the heading of the list is measured. If it is
1234 % positive (i.\,e.\ the box containing the argument of the
1235 % \env{cvlist}~environment is not empty), the width of the optional
1236 % argument of the \cmd{\item}~command is measured, too (using the
1237 % correct font).
1238 % \begin{macrocode}
1239 \settowidth{\@tempdima}{\usebox{\@cvlistheading}}%
1240 \ifthenelse{\lengthtest{\@tempdima > 0pt}}{%
1241 \settowidth{\@tempdimb}{\cvlabelfont##1}%
1242 % \end{macrocode}
1243 % If the heading of the list is less wide than the allowed label
1244 % width and the optional argument of the \cmd{\item}~command is
1245 % empty, the \cmd{\item} can be typeset in the same line as the
1246 % heading.
1247 %
1248 % \changes{v0.9d}{1999-08-25}{%
1249 % \cmd{\cvlabelskip} is used for the vertical spacing before
1250 % in-line headings%
1251 % }
1252 % The box containing the heading is then emptied, the heading is
1253 % typeset flush to the left.
1254 % \begin{macrocode}
1255 \ifthenelse{%
1256 \lengthtest{\@tempdima < \cvlabelwidth} \and
1257 \lengthtest{\@tempdimb = 0pt}}{%
1258 \parbox[b]{\cvlabelwidth}{%
1259 \vspace{\cvlabelskip}%
1260 \makebox[\cvlabelwidth][l]{%
1261 \box\@cvlistheading
1262 }%
1263 }%
1264 }{%
1265 % \end{macrocode}
1266 % If the heading is too wide or the \cmd{\item}~command has an
1267 % optional argument, the box containing the heading is emptied and
1268 % the \cmd{\item}~command starts a new line.
1269 % \begin{macrocode}
1270 \parbox[b]{0pt}{%
1271 \makebox[0pt][l]{\box\@cvlistheading}%
1272 \\*[0.5\baselineskip plus 1pt minus 1pt]%
1273 }%
1274 }%
1275 % \end{macrocode}
1276 % If the box containing the argument of the
1277 % \env{cvlist}~environment is empty (its width is zero), nothing is
1278 % done. This case holds for all \cmd{\item}~commands of a
1279 % \env{cvlist}~environment except for the first or if no heading
1280 % was specified (this does normally not make sense). You see that
1281 % it is crucial to empty the box by a
1282 % plain~\TeX{}~command~\cite{Kopka:1997}, otherwise the heading
1283 % would be typeset for every \cmd{\item}~command.
1284 % \begin{macrocode}
1285 }{}%
1286 % \end{macrocode}
1287 % \changes{v0.9d}{1999-08-25}{\cmd{\cvlabelfont} is used for the
1288 % label.%
1289 % }
1290 % Now that the heading of the list is prepared, the optional
1291 % argument of the \cmd{\item}~command is typeset flush to the left
1292 % using the corresponding font and the \cmd{\makelabel}~command has
1293 % done its work. Sigh. \winkey
1294 % \begin{macrocode}
1295 \cvlabelfont##1\hfill
1296 }%
1297 % \end{macrocode}
1298 % The spacing used in the \env{cvlist} environments is adjusted.
1299 % Remember that $\cmd{\itemsep} + \cmd{\parsep}$ is inserted
1300 % between items~\cite{Goossens:1994}. The label width and the
1301 % separation between labels and items are set
1302 % to~\cmd{\cvlabelwidth} and~\cmd{\cvlabelsep}, respectively, which
1303 % are globally available and thus can be re-adjusted by the user.
1304 % If the~\source{1} is omitted in the definition of~\cmd{\topsep},
1305 % ``plus 2pt minus 2pt'' is written into your curriculum vitae.
1306 % Strange. \winkey
1307 % \begin{macrocode}
1308 \setlength{\itemsep}{0ex}%
1309 \setlength{\parsep}{%
1310 0.5\baselineskip plus 1pt minus 1pt%
1311 }%
1312 \setlength{\topsep}{%
1313 1\baselineskip plus 2pt minus 2pt%
1314 }%
1315 \setlength{\partopsep}{0ex}%
1316 \setlength{\labelsep}{\cvlabelsep}%
1317 \setlength{\labelwidth}{\cvlabelwidth}%
1318 \setlength{\leftmargin}{\cvlabelwidth}%
1319 \addtolength{\leftmargin}{\cvlabelsep}%
1320 % \end{macrocode}
1321 % The end of the list initialization and of the
1322 % \env{cvlist}~environment.
1323 % \begin{macrocode}
1324 }%
1325 }{%
1326 \end{list}%
1327 }%
1328 % \end{macrocode}
1329 % \end{macro}
1330 % \iffalse
1331 %</package>
1332 % \fi
1333 % \Finale
1334 % \iffalse
1335 %<*testfile>
1336 \documentclass[12pt,a4paper]{article}
1337 %
1338 \usepackage[german]{babel}
1339 \usepackage{currvita}
1340 %
1341 \newcommand*{\ac}[1]{\mbox{#1}}
1342 %
1343 \tolerance=600
1344 %
1345 \begin{document}
1346 %
1347 \begin{cv}{Lebenslauf}
1348 %
1349 \begin{cvlist}{Pers"onliche Daten}
1350 \item Axel Reichert\\
1351 Beethovenstr.~25\\
1352 40233~D"usseldorf
1353 \item Tel.:~(02\,11)~6\,91\,24\,15\\
1354 E"~Mail:~axel.reichert@gmx.de
1355 \item Geb.~am~03.\,08.~1970 in~D"usseldorf\\
1356 Ledig, deutsch
1357 \end{cvlist}
1358 %
1359 \begin{cvlist}{Schulbildung}
1360 \item[08/1976--05/1989] Grundschule und Gymnasium in Mettmann
1361 (Leistungskurse Mathematik und Physik)
1362 \end{cvlist}
1363 %
1364 \begin{cvlist}{Wehrdienst}
1365 \item[10/1989--09/1990] Fernmeldeaufkl"arer in Clausthal-Zellerfeld
1366 und Rotenburg/""W"umme
1367 \end{cvlist}
1368 %
1369 \begin{cvlist}{Studium}
1370 \item[10/1990--09/1992] Maschinenbauvordiplom an der Universit"at
1371 Hannover
1372 \item[10/1992--06/1993] Wissenschaftliche Hilfskraft am Institut
1373 f"ur Umformtechnik und Umformmaschinen, Hannover; Mitarbeit an
1374 DFG-Projekt: Implementation eines Stoffgesetzes in das
1375 \ac{FEM}-Programm \ac{ABAQUS}
1376 \item[10/1992--08/1996] Maschinenbaudiplom an der Universit"at
1377 Hannover, Ent"-wicklungs"~~und Konstruktionstechnik (Schwerpunkte
1378 Finite Elemente, Schwingungstechnik und Elasto"~/""Plastomechanik)
1379 \item[10/1994--04/1996] Mathematikvordiplom an der Universit"at
1380 Hannover
1381 \end{cvlist}
1382 %
1383 \begin{cvlist}{Praktikum}
1384 \item[08/1994--09/1994] Br"uninghaus~\&~Drissner~GmbH, Hilden
1385 (mittelst"andisches Pre"s"~, Stanz"~ und Ziehwerk); Konstruktion
1386 eines kombinierten Roll"~ und Zudr"uckwerkzeuges f"ur
1387 Klemmschellen
1388 \end{cvlist}
1389 %
1390 \begin{cvlist}{Berufserfahrung}
1391 \item[seit~08/1996] Max-Planck-Institut f"ur Eisenforschung~GmbH,
1392 D"usseldorf; wissenschaftlicher Mitarbeiter der Abteilung
1393 Metallurgie
1394
1395 Promotion "uber "`Soft Reduction beim Stranggie"sen und ihr
1396 Einflu"s auf die Produktqualit"at"' im Rahmen eines Projektes der
1397 Europ"aischen Gemeinschaft f"ur Kohle und Stahl in Zusammenarbeit
1398 mit British Steel, den Dillinger H"uttenwerken und der
1399 TU~Clausthal
1400 \end{cvlist}
1401 %
1402 \begin{cvlist}{Fremdsprachen}
1403 \item Englisch, Franz"osisch
1404 \end{cvlist}
1405 %
1406 \begin{cvlist}{\ac{EDV}}
1407 \item[Betriebssysteme] \ac{UNIX} (Linux, \ac{IRIX}), Windows, Novell
1408 Netware, \ac{DOS}
1409 \item[Sprachen] Perl, Shell-Skripte, \ac{HTML}, Fortran~77, Pascal,
1410 \ac{BASIC}
1411 \item[Anwendungen] \ac{ANSYS}, \ac{MARC}, Word, Excel, Corel"-DRAW,
1412 Designer, LaTeX, XEmacs
1413 \end{cvlist}
1414 %
1415 \begin{cvlist}{Interessen}
1416 \item Klassische Musik, Typographie, Tischtennis, Fotografie
1417 \end{cvlist}
1418 %
1419 \begin{cvlist}{Sonstiges}
1420 \item[04/1992--10/1995] Ehrenamtliche Mitarbeit als Rechnerwart bei
1421 der Saalgemeinschaft~"`Exzenter"' (unter studentischer
1422 Selbstverwaltung stehender Arbeits"~~und Zeichensaal f"ur
1423 Ingenieurstudenten)
1424 \item[seit 01/1997] Aktives Mitglied der Deutschen
1425 Anwendervereinigung TeX, Vortr"age und Tutorien auf Konferenzen
1426 \end{cvlist}
1427 %
1428 % \changes{v0.9d}{1999-08-25}{%
1429 % \LaTeX{} version of the umlaut is used instead of
1430 % \package{babel}'s~shortcut.%
1431 % }
1432 \cvplace{D\"usseldorf}
1433 \date{13.~September~1999}
1434 %
1435 \end{cv}
1436 %
1437 \end{document}
1438 %</testfile>
1439 % \fi
1440 \endinput