summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/ecv/ecv.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/ecv/ecv.dtx')
-rw-r--r--macros/latex/contrib/ecv/ecv.dtx1344
1 files changed, 1344 insertions, 0 deletions
diff --git a/macros/latex/contrib/ecv/ecv.dtx b/macros/latex/contrib/ecv/ecv.dtx
new file mode 100644
index 0000000000..cb3d1abc47
--- /dev/null
+++ b/macros/latex/contrib/ecv/ecv.dtx
@@ -0,0 +1,1344 @@
+%\iffalse
+% ecv.dtx generated using makedtx version 0.91b (c) Nicola Talbot
+% Command line args:
+% -macrocode ".*"
+% -src "(ecv.cls|ecvNLS.sty|ecvGerman.ldf|ecvEnglish.ldf)=>\1"
+% -author "Christoph P. Neumann & Bernd Haberstumpf"
+% -dir "src"
+% -usedir "tex/latex/ecv"
+% -setambles ".*=>\nopreamble"
+% -doc "doc/ecv.tex"
+% -silent "1"
+% ecv
+% Created on 2011/4/23 10:03
+%\fi
+%\iffalse
+%<*package>
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%</package>
+%\fi
+% \iffalse
+% Doc-Source file to use with LaTeX2e
+% Copyright (C) 2011 Christoph P. Neumann & Bernd Haberstumpf, all rights reserved.
+% \fi
+% \iffalse
+%<*driver>
+%%
+%% Copyright 2007-2011 Christoph P. Neumann, Bernd Haberstumpf
+%%
+%% This LaTeX class provides a simple interface for creating
+%% a verfy fancy Curriculum Vitae. At the moment only CVs in
+%% the german language are supported.
+%%
+%% This file is free property; as a special exception the author
+%% gives unlimited permission to copy and/or distribute it, with
+%% or without modifications, as long as this notice is
+%% preserved.
+%%
+%% This file is distributed in the hope that it will be useful,
+%% but WITHOUT ANY WARRANTY, to the extent permitted by law;
+%% without even the implied warranty of MERCHANTABILITY or
+%% FITNESS FOR A PARTICULAR PURPOSE.
+%%
+
+\documentclass{ltxdoc}
+
+\CodelineNumbered
+\EnableCrossrefs
+%\DisableCrossrefs
+\CodelineIndex
+%\PageIndex
+\RecordChanges
+%\OnlyDescription
+\GetFileInfo{ecv.cls}
+
+\parskip1.0ex
+\parindent0.0ex
+
+\begin{document}
+\DocInput{ecv.dtx}
+\end{document}
+%</driver>
+%\fi
+%
+%\title{\textsf{ecv}\\
+%A fancy Curriculum Vitae Class}
+%\author{Christoph P.\ Neumann \texttt{$<$c.p.neumann@web.de$>$}, \\
+%Bernd Haberstumpf \texttt{$<$poldi@kabatrinker.de$>$}}
+%\maketitle
+%\PrintChanges
+%
+%\begin{abstract}
+%The \texttt{ecv}--class provides a convenient environment for creating
+%a fancy tabular currriculum vitae. The class is oriented at the europass
+%(see: \texttt{http://europass.cedefop.eu.int}).
+%\end{abstract}
+%
+%\section{Installation}
+%
+%The \texttt{zip} or \texttt{tar.gz} file comes with a \texttt{ecv.ins}
+%and a \texttt{ecv.dtx} file included which contains the \LaTeX\ stuff.
+%
+%To extract the class files call:
+%
+%\begin{verbatim}
+% $ latex ecv.ins
+%\end{verbatim}
+%
+%This call will extract all \LaTeX\ specific files to the current
+%directory. You can either use the files for a single
+%cv project or you can integrate the files into your \TeX\ installation.
+%
+%If you just want to use \textsf{ecv} for a single curriculum vitae
+%project, the simplest way is just to copy the generated files to the
+%folder of the project.
+%
+%If you want to integrate \textsf{ecv} into your \TeX\ installation,
+%create a directory \texttt{tex/latex/ecv} beneath your \TeX\ installation
+%(e.g.~beneath \texttt{/usr/share/texmf}) and copy all files from the
+%current directory there. Now call:
+%
+%\begin{verbatim}
+% $ mktexlsr
+%\end{verbatim}
+%
+%to update the file--cache of \LaTeX.
+%
+%Hint: The \textsf{ecv} distribution contains a sample docstrip configuration
+%in \texttt{docstrip.cfg} via which files can be distributed
+%automatically to their correct positions inside a \LaTeX\ installation.
+%Feel free to adapt this file to your environment and afterwards call
+%\texttt{latex ecv.ins} to install the package to its right place.
+%
+%\section{Linux and Windows}
+%
+%\textsf{Ecv} has been tested on Linux and also under Windows, using
+%MiXTeX and TeXnicCenter.
+%
+%\section{Templates}
+%
+%For a quick start the \textsf{ecv} distribution contains document
+%templates for a german and an english curriculum vitae. The templates
+%can be found in the \texttt{template.zip} file.
+%
+%The \texttt{template} directory contains the templates
+%
+%\begin{itemize}
+%\item \texttt{CV-template\_de.tex} for the german language
+%\item \texttt{CV-template\_en.tex} for the english language
+%\end{itemize}
+%
+%and a \texttt{Makefile} to build the pdf. Just call:
+%
+%\begin{verbatim}
+% $ make
+%\end{verbatim}
+%
+%to build the pdf. The file \texttt{porttrait.eps} contains a dummy
+%porttrait for the first page of the curriculum vitae.
+%
+%\section{Structure}
+%
+%The tex--file that contains the curriculum vitae will have roughly
+%the following structure:
+%
+%\begin{verbatim}
+%\% The languages english and german are supported
+%\documentclass[german]{ecv}
+%
+%\% Portrait to be used on the first page
+%\ecvPortrait{images/myPortrait}
+%
+%\% Name to be use for the footer line
+%\ecvName{My Name}
+%
+%\begin{document}
+%
+%\% Start the tabular that contains the cv (this will print title
+%\% and portrait)
+%\begin{ecv}
+%
+%\% Group entries with sections
+%\ecvSec{\ecvPerson}
+%
+%\% Entries in the tabular
+%\ecvEPR{Name} {\textsc{Name}, My}
+%\ecvEPR{Adresse}{Somewhere 13, Sometown}
+%\ecvEPR{Telefon}{(555) 555 / 555}
+%\ecvEPR{E-Mail} {\ecvHyperEMail{nobody@nowhere.com}}
+%\ecvEPR{Staatsangeh"origkeit}
+% {Deutsch}
+%\ecvEPR{Geburtsdatum}
+% {12.34.5678}
+%\end{ecv}
+%
+%\ecvSig{Name, My}{Sometown}
+%
+%\end{verbatim}
+%
+%The example shows that some information is provided before the document
+%start like the name for the footer line and the portrait. The actual
+%cv is then written in the |ecv| environment. A curriculum vitae can be finialized with
+%a signature where the issuer can sign by hand.
+%
+%\section{NLS support}
+%
+%As the example in the last chapter suggests curriculum vitaes can be
+%written in either german or english language. Actually a curriculum
+%vitae--tex--file can contain both a german version and an english version.
+%Most commands of the class accept an optional parameter which defines
+%to which language the command applies. If the language does not match
+%the language define in the \texttt{documentclass} the command is ignored.
+%
+%Example:
+%
+%\begin{verbatim}
+%\ecvERP[german]{Staatsangeh"origkeit}{Deutsch}
+%\ecvERP[english]{nationality}{german}
+%\end{verbatim}
+%
+%If the document is rendered with |\documentclass[german]{ecv}| the first
+%line is used, if the document is rendered with |\documentclass[english]{ecv}|
+%the second line is printed.
+%
+%The class also provides with its package |ecvNLS.sty| some macros for
+%nationalized text--fragments like |ecvPerson| which prints |Zur Person|
+%in the german version and |Personal Information| in the english version.
+%
+%\section{Documentclass}
+%
+%\DescribeMacro{documentclass ecv}
+%This package provides the documentclass \texttt{ecv}. The documentclass
+%supports the following options:
+%
+%
+%\begin{itemize}
+%\item |german| Select language german
+%\item |english| Select language english
+%\item |empty| Do not print footer or header
+%\item |selinput| Use \texttt{selinput} package instead of \texttt{inputenc} if
+% you encounter encoding problems and if you have \texttt{selinput} installed.
+%\end{itemize}
+%
+%\section{Header}
+%
+%Between the \texttt{documentclass} and the
+%\texttt{document}--environment two commands are supported:
+%
+%\DescribeMacro{ecvName}
+%\DescribeMacro{ecvPortrait}
+%\begin{itemize}
+%\item |\ecvName|\marg{name} Sets the name of the author of the cv.
+% The name is printed in the left--hand footer. If the name is not
+% set, the left hand footer (\texttt{Curriculum Vitae} or
+% \texttt{Lebenslauf}) is not printed.
+%\item |ecvPortrait|\marg{image--name} Sets the name of the image
+% that should be used as the portrait right to the title of the
+% curriculum vitae.
+% A file--extension of \texttt{jpg} is appended to the
+% \texttt{image-name}. The image is printed 40mm x 60mm. If the
+% |ecvPortrait| command does not exist no image is shown.
+%\end{itemize}
+%
+%\section{Footer}
+%
+%After the curriculum vitae a field for the signature can be added. This
+%package provides the following command for this purpose:
+%
+%\DescribeMacro{ecvSig}
+%\begin{itemize}
+%\item |\ecvSig|\marg{name}\marg{town} Creates a signature field beneath the
+% curriculum vitae.
+%\end{itemize}
+%
+%A signature looks the following way:
+%
+%\noindent
+%MyTown, \today \\[18pt]
+%
+%Name, My
+%
+%\section{ecv Environment}
+%
+%\DescribeEnv{ecv}
+%The |ecv| environment encloses the curriculum vitae. All entries of
+%the curriculum vitae must be inside an |ecv| environment. The |ecv|
+%environment prints a title (either |Lebenslauf| or |Curriculum Vitae|)
+%and the portrait (if one is defined) prior to the entries.
+%
+%\DescribeEnv{ecv*}
+%In addition to the |ecv| environment the |ecv*| envrionment is provided.
+%This environment works exactly like the |ecv| environment but ommits the
+%title and the pricture.
+%
+%\section{Entries}
+%
+%The curriculum vitae is composed of entries which are composed of a tag (left hand
+%side) and a value (right hand side). Both tag and value can come in
+%different flavours.
+%
+%For example you have different entries for a job:
+%``period of time'', ``branch of trade'', ``job title'' and ``job description''.
+%It is recommended to have the ``period of time'' entry with a special
+%preceeding symbol, like a blue triangle, and the other entries with
+%a common preceeding symbol, like a small bullet.
+%
+%Note that in this example several jobs would be listed
+%under a section ``jobs''. In the description below the term
+%group relies to a single job with its several entries.
+%
+%\DescribeMacro{\ecvTP}
+%\DescribeMacro{\ecvTF}
+%\DescribeMacro{\ecvTN}
+%Tags can be written with the following macros:
+%
+%\begin{itemize}
+%\item |\ecvTF|\oarg{lang}\marg{text} or |\ecvTagFirst|\oarg{lang}\marg{text}
+% A tag that starts a group of tags. The \texttt{text} is preceeded
+% by a small blue triangle.
+%\item |\ecvTN|\oarg{lang}\marg{text} or |\ecvTagNext|\oarg{lang}\marg{text}
+% A tag inside a group of tags. The \texttt{text} is preceeded
+% by a small circle.
+%\item |\ecvTP|\oarg{lang}\marg{text} or |\ecvTagPlain|\oarg{lang}\marg{text}
+% The most simple form of a tag. Just prints \texttt{text}, without a
+% preceeded symbol.
+%\end{itemize}
+%
+%
+%\DescribeMacro{\ecvVR}
+%\DescribeMacro{\ecvVB}
+%Values can be written as ragged right or as justified text with the following macros:
+%
+%\begin{itemize}
+%\item |\ecvVR|\oarg{lang}\marg{text} or |\ecvValueRagged|\oarg{lang}\marg{text}
+% A value with a ragged right.
+%\item |\ecvVB|\oarg{lang}\marg{text} or |\ecvValueBlocked|\oarg{lang}\marg{text}
+% A value with justified text.
+%\end{itemize}
+%
+%\bigskip
+%Tags and values are separated by a \&:
+%
+%\begin{verbatim}
+%\ecvTP{Name} & \ecvVR{Name, My}
+%\end{verbatim}
+%
+%\DescribeMacro{\ecvEPR}
+%\DescribeMacro{\ecvEPB}
+%\DescribeMacro{\ecvEFR}
+%\DescribeMacro{\ecvEFB}
+%\DescribeMacro{\ecvENR}
+%\DescribeMacro{\ecvENB}
+%Normally we want to write whole entries. We do not want to separate tags
+%and values. Therefore, a convenient form for writing whole entries are
+%the following macros which are in fact a combination of the tag and value
+%macros. The name of the macros is composed of |ecvE| followed by the flavour
+%of the tag followed by the flavour of the value:
+%
+%\begin{itemize}
+%\item |\ecvEPR|\oarg{lang}\marg{tag}\marg{value} writes a plain tag with
+% a value with a ragged right.
+%\item |\ecvEPB|\oarg{lang}\marg{tag}\marg{value} writes a plain tag with
+% a value with a blocked right.
+%\item |\ecvEFR|\oarg{lang}\marg{tag}\marg{value} writes a first tag with
+% a value with a ragged right.
+%\item |\ecvEFB|\oarg{lang}\marg{tag}\marg{value} writes a first tag with
+% a value with a blocked right.
+%\item |\ecvENR|\oarg{lang}\marg{tag}\marg{value} writes a next tag with
+% a value with a ragged right.
+%\item |\ecvENB|\oarg{lang}\marg{tag}\marg{value} writes a next tag with
+% a value with a blocked right.
+%\end{itemize}
+%
+%Of course also these macros have a long form
+%
+%\begin{quote}
+%|\ecvTagPlainValueRagged|\\
+%|\ecvTagPlainValueBlocked| \\
+%|\ecvTagFirstValueRagged|\\
+%|\ecvTagFirstValueBlocked| \\
+%|\ecvTagNextValueRagged|\\
+%|\ecvTagNextValueBlocked|\\
+%\end{quote}
+%
+%\DescribeMacro{\ecvOVR}
+%\DescribeMacro{\ecvOnlyValueRagged}
+%\DescribeMacro{\ecvOVB}
+%\DescribeMacro{\ecvOnlyValueBlocked}
+%Two special macros are provided to only print the value part:
+%
+%
+%\begin{itemize}
+%\item |\ecvOVR|\oarg{lang}\marg{text} or |\ecvOnlyValueRagged|\oarg{lang}\marg{text}
+% Print only the value with a ragged right.
+%\item |\ecvOVB|\oarg{lang}\marg{text} or |\ecvOnlyValueBlocked|\oarg{lang}\marg{text}
+% Print only the value with a blocked right.
+%\end{itemize}
+%
+%\section{Sections}
+%
+%Entries in the curriculum vitae can be grouped by sections and
+%subsections. Sections are printed with blue letters in the left column in
+%a slightly bigger font--face. Subsections are printed in capital letters.
+%
+%
+%\DescribeMacro{\ecvSec}
+%\DescribeMacro{\ecvSection}
+%\DescribeMacro{\ecvBSec}
+%\DescribeMacro{\ecvBreakSection}
+%The Section command comes in two flavours: with and without additional
+%vertical space (6pt) beforehand:
+%
+%
+%\begin{itemize}
+%\item |\ecvSec|\oarg{lang}{text} or |\ecvSection|\oarg{lang}{text}
+% Prints a section tag without additional vertical space beforehand.
+%\item |\ecvBSec|\oarg{lang}{text} or |\ecvBreakSection|\oarg{lang}{text}
+% Prints a section tag with additional vertical space beforehand.
+%\end{itemize}
+%
+%At the moment we did not to try any automatization of the vertical space
+%insertion, but have just experienced the necessity to add them.
+%Feel free to eleminate the need for the \texttt{ecvB} commands by
+%using fancy automization rules, and and don't forget to provide your
+%superior \LaTeX\ macro knowledge to us.
+%
+%\DescribeMacro{\ecvSub}
+%\DescribeMacro{\ecvBSub}
+%\DescribeMacro{\ecvERSub}
+%\DescribeMacro{\ecvBERSub}
+%\DescribeMacro{\ecvEBSub}
+%\DescribeMacro{\ecvBEBSub}
+%Subsections tags are printed like section tags in the first column
+%but in another font. In contrast to sections they can have a value
+%attached. Subsection commands therefore are provided in a version with
+%and a version without a value:
+%
+%\begin{itemize}
+%\item |\ecvSub|\oarg{lang}\marg{text} Standard subsection (without
+% additional vertical space).
+%\item |\ecvBSub|\oarg{lang}\marg{text} Subsection with additional
+% vertical space (smallskip).
+%\end{itemize}
+%\begin{itemize}
+%\item |\ecvERSub|\oarg{lang}\marg{text}\marg{value} Subsection with a
+% ragged right value (without additional vertical space).
+%\item |\ecvBERSub|\oarg{lang}\marg{text}\marg{value} Subsection with a
+% ragged right value and with additional vertical space.
+%\end{itemize}
+%\begin{itemize}
+%\item |\ecvEBSub|\oarg{lang}\marg{text}\marg{value} Subsection with a
+% blocked right value (without additional vertical space).
+%\item |\ecvBEBSub|\oarg{lang}\marg{text}\marg{value} Subsection with a
+% blocked right value and with additional vertical space.
+%\end{itemize}
+%
+%Also these command come with verbose forms:
+%
+%\begin{quote}
+%|\ecvSubSection|\\
+%|\ecvBreakSubSection|\\
+%|\ecvEntryRaggedSubSection|\\
+%|\ecvBreakEntryRaggedSubSection|\\
+%|\ecvEntryBlockedSubSection|\\
+%|\ecvBreakEntryBlockedSubSection|\\
+%\end{quote}
+%
+%\section{Layouting}
+%
+%The ecv class provides some command to tweak the layout of the cv.
+%
+%
+%\DescribeMacro{\ecvPageBreak}
+%\DescribeMacro{\ecvNewPage}
+%The following two commands can be used to control page--breaks:
+%
+%\begin{itemize}
+%\item |ecvPageBreak| Suggest a page--break.
+%\item |ecvNewPage| For a new page.
+%\end{itemize}
+%
+%\DescribeMacro{\ecvBreakParagraphs}
+%The |\ecvBreakParagraphs| command can be used to add vertical space
+%between entries.
+%
+%\DescribeMacro{\ecvNewLine}
+%The |\ecvNewLine| can be introduced to continue on a new--line.
+%
+%\DescribeMacro{\ecvNewPara}
+%The |\ecvNewPara| begins a new paragraph with addtional vertical space
+%(smallskip).
+%
+%\DescribeMacro{\ecvBold}
+%The command |\ecvBold|\marg{text} can be used to create bold written
+%text.
+%
+%\section{Hyperlinks}
+%
+%
+%\DescribeMacro{\ecvURL}
+%\DescribeMacro{\ecvEMail}
+%\DescribeMacro{\ecvHyperLink}
+%\DescribeMacro{\ecvHyperEMail}
+%The curriculum vitae class provides some commands to render hyperlinks:
+%
+%\begin{itemize}
+%\item |\ecvHyperLink|\marg{url} Format a clickable url.
+%\item |\ecvHyperEMail|\marg{email} Format a clickable email.
+%\end{itemize}
+%
+%The above commands are based on the following non-clickable
+%commands, which provide the formating and which can
+%be used likewise:
+%
+%\begin{itemize}
+%\item |\ecvURL|\marg{url} Format an unclickable url.
+%\item |\ecvEMail|\marg{email} Format an unclickable email.
+%\end{itemize}
+%
+%\section{Localized Strings}
+%
+%The following localized strings are provided for the german and english
+%languages:
+%
+%
+%\begin{itemize}
+%\item |\ecvPerson| Either |Zur Person| or |Personal Information|
+%\DescribeMacro{ecvPerson}
+%\item |\ecvProfession| Either |Beruf| or |Profession|
+%\DescribeMacro{ecvProfession}
+%\item |\ecvResearch| Either |Forschung| or |Research|
+%\DescribeMacro{ecvResearch}
+%\item |\ecvEducation| Either |Ausbildung| or |Scholarship|
+%\DescribeMacro{ecvEducation}
+%\item |\ecvPublications| Either |Publikationen| or |Publications|
+%\DescribeMacro{ecvPublications}
+%\item |\ecvAwards| Either |Auszeichungen| or |Awards|
+%\DescribeMacro{ecvAwards}
+%\item |\ecvScholarships| Either |Stipendien| or |Scholarships|
+%\DescribeMacro{ecvScholarships}
+%\item |\ecvJobs| Either |Arbeitserfahrung| or |Jobs|
+%\DescribeMacro{ecvJobs}
+%\item |\ecvLanguages| Either |Sprachen| or |Languages|
+%\DescribeMacro{ecvLanguages}
+%\item |\ecvLanguageTravels| Either |Sprachreisen| or |Language Travels|
+%\DescribeMacro{ecvLanguageTravels}
+%\item |\ecvAbilities| Either |F"ahigkeiten| or |Abilities|
+%\DescribeMacro{ecvAbilities}
+%\item |\ecvConferences| Either |Konferenzen| or |Conferences|
+%\DescribeMacro{ecvConferences}
+%\item |\ecvSpeeches| Either |Vortr"age| or |Speeches|
+%\DescribeMacro{ecvSpeeches}
+%\item |\ecvTraining| Either |Fortbildung| or |Trainig|
+%\DescribeMacro{ecvTrainig}
+%\item |\ecvAttachements| Either |Anh"ange| or |Attachements|
+%\DescribeMacro{ecvAttachements}
+%\end{itemize}
+%
+%\section{Requirements}
+%
+%We instrument several other \LaTeX\ packages for different purposes,
+%which must be available under your installation.
+%
+%\begin{itemize}
+%\item geometry
+%\item longtable
+%\item pgf
+%\item paralist
+%\item helvet
+%\item color
+%\item fancyhdr
+%\item inputenc
+%\item fontenc
+%\item ae
+%\item aecompl
+%\item aeguill
+%\item textcomp
+%\item url
+%\item hyperref
+%\item babel
+%\end{itemize}
+%
+%
+%
+%
+%\StopEventually{}
+%\section{The Code}
+%\iffalse
+% \begin{macrocode}
+%<*ecv.cls>
+% \end{macrocode}
+%\fi
+% \begin{macrocode}
+%%
+%% Copyright 2006-2011 Christoph P. Neumann, Bernd Haberstumpf
+%%
+%% This LaTeX class provides a simple interface for creating
+%% a verfy fancy Curriculum Vitae. At the moment only CVs in
+%% the german language are supported.
+%%
+%% This file is free property; as a special exception the author
+%% gives unlimited permission to copy and/or distribute it, with
+%% or without modifications, as long as this notice is
+%% preserved.
+%%
+%% This file is distributed in the hope that it will be useful,
+%% but WITHOUT ANY WARRANTY, to the extent permitted by law;
+%% without even the implied warranty of MERCHANTABILITY or
+%% FITNESS FOR A PARTICULAR PURPOSE.
+%%
+%% SPECIAL THANKS to
+%% Alexander von Gernler, who introduced me to the European Curriculum Vitae
+%%
+
+% \changes{v0.1}{2007/01/06}{Initial version}
+% \changes{v0.2}{2009/08/25}{0.2}
+% \changes{v0.3}{2011/04/18}{0.3}
+
+\def\fileversion{0.3}
+\def\filedate{2011/04/18}
+
+\NeedsTeXFormat{LaTeX2e}
+
+%
+% Class definition
+%
+
+\ProvidesClass{ecv}[\filedate %
+ \space Version \fileversion\space by %
+ Christoph P.\ Neumann & Bernd Haberstumpf %
+]
+
+
+%
+% Option definition
+%
+
+\def\ecv@lang{german}
+\def\ecv@german{german}
+\def\ecv@english{english}
+\DeclareOption{german}{\def\ecv@lang{\ecv@german}}
+\DeclareOption{english}{\def\ecv@lang{\ecv@english}}
+\DeclareOption{oneside}{\PassOptionsToClass{oneside}{scrartcl}}
+\DeclareOption{twoside}{\PassOptionsToClass{twoside}{scrartcl}}
+\DeclareOption{selinput}{\def\ecv@selinput{1}}
+\DeclareOption{empty}{\def\ecv@empty{1}}
+\ProcessOptions
+
+%
+% Load base class
+%
+
+
+
+\LoadClass[a4paper,11pt]{article}
+
+% define command to check for pdf
+\RequirePackage{ifpdf}
+
+\ifpdf
+ \pdfcompresslevel=9 % compression level fortext and image;
+\fi
+
+%
+% Load packages
+%
+
+% NLS
+\RequirePackage[\ecv@lang]{ecvNLS}
+
+
+% Provides an ifthenelse command
+\RequirePackage{ifthen}
+
+
+% Pagelayout
+\ifpdf
+ \RequirePackage[a4paper, pdftex]{geometry}
+\else
+ \RequirePackage[a4paper, dvips ]{geometry}
+\fi
+
+
+% For the table that makes the text spanning multiple pages
+\RequirePackage{longtable}
+
+% Grafix package for the portrait
+\RequirePackage{pgf}
+
+% compact listings/enumerate environments
+\RequirePackage{paralist}
+
+% Font
+\RequirePackage{helvet}
+
+% Colors for the sections
+\RequirePackage{xcolor}
+
+% Needed for the footline to redefine the footline
+\RequirePackage{fancyhdr}
+
+\ifx\ecv@empty\undefined
+% Inputencoding (latin1 with euro sign)
+\RequirePackage[latin9]{inputenc} % = latin1, but also with euro sign
+% Better variant than inputenc:
+\else
+ \RequirePackage{selinput}
+% SelectInputMappings seems not to be necessary? ...
+% If it is used in the cls file it makes problems if used
+% in a Windows environment... ?!?
+%\SelectInputMappings{
+% adieresis={ä},
+% germandbls={ß},
+% Euro={€},
+%}
+\fi
+
+% Outputencoding
+\RequirePackage[T1]{fontenc}
+
+% Font tweaking
+%\RequirePackage{ae}
+%\RequirePackage{aecompl}
+%\RequirePackage{aeguill}
+% e.g. for \textcopyleft
+%\RequirePackage{textcomp}
+
+% Output of links
+\RequirePackage{url}
+\ifpdf
+ \RequirePackage[pdftex]{hyperref} %,pdfstartpage=9
+\else
+ \RequirePackage[dvips]{hyperref} %ALT: colorlinks
+\fi
+
+
+%
+% configuration (page setup, color setup etc.)
+%
+
+% page setup
+\geometry{left=30mm, right=20mm, top=20mm, bottom=15mm}
+
+% Footer
+\ifx\ecv@empty\undefined
+ \pagestyle{fancy}
+\else
+ \pagestyle{empty}
+\fi
+
+% Color setup (for the sections)
+\definecolor{ecv@ColBlue}{rgb}{0.04,0.44,0.59} % ANPA 732-0, but darker
+\definecolor{ecv@ColRed}{rgb}{0.921,0.282,0.278} % ANPA 723-0
+
+\ClassInfo{ecv}{used language is \ecv@lang}
+
+% This variable holds the name set with ecvName
+\newcommand{\ecv@name}{}
+
+% \begin{document} preamble
+\AtBeginDocument{%
+ \sffamily
+ \raggedbottom
+ \fancyhead{}
+ \fancyfoot{}
+ \renewcommand{\headrulewidth}{0pt}
+ \renewcommand{\footrulewidth}{0pt}
+ \fancyfoot[R]{
+ \begin{minipage}{5cm}\begin{flushright}
+ \footnotesize{}\textsf{\ecvPage~\thepage}
+ \end{flushright}\end{minipage}
+ }
+ \ifthenelse{\equal{\ecv@name}{}}{
+ ~
+ }{
+ \fancyfoot[L]{
+ \begin{minipage}{6cm}
+ \footnotesize{}\textsf{\ecvTitle~\ecv@name}
+ \end{minipage}
+ }
+ }
+}
+
+% Command to layout the portrait (must be 60mmx40mm)
+\newcommand\ecv@Portrait[1]{%
+ %% A frame as placeholder (with some 1mm inner padding):
+ \pgfrect[stroke]{\pgfxy(6.85,0.65)}{\pgfxy(4.3,-6.3)}
+ %% Actually a concrete digital image:
+ \pgfdeclareimage[interpolate=true,height=60mm,width=40mm]{portrait}{#1}
+ \pgfputat{\pgfxy(6.77,0.5)}{\pgfbox[left,top]{\pgfuseimage{portrait}}}
+}
+
+% This variable holds the name of the portrait image
+\newcommand\ecv@img{}
+
+% title with image
+\newcommand{\ecv@Title}{%
+ \ifthenelse{\equal{\ecv@img}{}}{ %
+ \ecvLeft{\textsc{\LARGE{\ecvTitle}}%
+ \bigskip\bigskip\bigskip%
+ } & \tabularnewline %
+ }{ %
+ \ecvLeft{\textsc{\LARGE{\ecvTitle}}%
+ \bigskip\bigskip\bigskip%
+ } & \ecv@Portrait{\ecv@img} %
+ \tabularnewline %
+ } %
+}
+
+
+%
+% Define new commands
+%
+
+% Hyperlink commands
+\newcommand\ecvURL{\begingroup \urlstyle{sf}\Url}
+\newcommand\ecvEMail{\begingroup \urlstyle{sf}\Url}
+\ifpdf
+ \newcommand{\ecvHyperLink}[1]{%
+ \href{#1}{\ecvURL{#1}}%
+ }
+ \newcommand{\ecvHyperEMail}[1]{%
+ \href{mailto:#1}{\ecvEMail{#1}}%
+ }
+ \newcommand{\ecvHttp}[1]{%
+ \href{http://#1}{\ecvURL{#1}}%
+ }
+\else
+ \newcommand{\ecvHyperLink}[1]{%
+ \ecvURL{#1}%
+ }
+ \newcommand{\ecvHyperEMail}[1]{%
+ \ecvEMail{#1}%
+ }
+ \newcommand{\ecvHttp}[1]{%
+ \ecvURL{#1}%
+ }
+\fi
+\hypersetup{a4paper,pdfpagelayout={SinglePage},pdfstartview={Fit}}
+\hyperbaseurl{http://}
+
+
+% Name
+
+% Defines the name of the issuer for the footline
+\newcommand{\ecvName}[1]{\renewcommand{\ecv@name}{#1}}
+
+% Portrait
+
+% Defines the image (to be used before the \begin{ecv})
+% \ecvPortrait{file-name}
+\newcommand{\ecvPortrait}[1]{\renewcommand\ecv@img{#1}}
+
+
+% Environment for layouting the cv
+
+% Environment that prints title and portrait
+\newenvironment{ecv}{%
+ \begin{longtable}{p{.32\linewidth}|p{.68\linewidth}}
+ \ecv@Title
+}{%
+ \end{longtable}
+}
+% Environment that skips title and portrait
+\newenvironment{ecv*}{%
+ \begin{longtable}{p{.32\linewidth}|p{.68\linewidth}}
+}{%
+ \end{longtable}
+}
+
+% Vertical Spacing to be used in left column
+
+% begin new row: make an (optional) spacing before a section
+\newcommand{\ecvBreaksections}[0]{& \tabularnewline[6pt]}
+% begin new row: make a break before a subsection
+\newcommand{\ecvBreaksubsections}[0]{& \tabularnewline\smallskip}
+% begin new row: make a break inside a section (for subsub grouping of entries)
+\newcommand{\ecvBreakparagraphs}[0]{& \tabularnewline}
+
+% Vertical spacing to be used inside a column
+
+% start text on a new line
+\newcommand{\ecvNewLine}[0]{\\}
+% start a new paragraph
+\newcommand{\ecvNewPara}[0]{\smallskip}
+
+% Newpage
+
+% Force a page break
+\newcommand{\ecvNewPage}{
+ \newpage
+}
+% Suggest a page break
+\newcommand{\ecvPageBreak}{
+ \pagebreak
+}
+
+% emphasizings text
+\newcommand{\ecvBold}[2][\ecv@lang]{%
+ \ifthenelse{\equal{#1}{\ecv@lang}}{%
+ \textbf{#2}%
+ }{}%
+}
+
+% bullets for the left column entries
+\newcommand{\ecvBulleted}[1]{$\circ$ #1}
+\newcommand{\ecvBulletedFirst}[1]{%
+ \textcolor{ecv@ColBlue}{$\triangleright$} #1%
+}
+
+% layout primitives for left and right column
+
+% primitve for the left column
+\newcommand{\ecvLeft}[1]{%
+ \parbox[t]{\linewidth}{\raggedright #1}%
+}
+% primitive for the right column (raggedright)
+\newcommand{\ecvRight}[1]{%
+ %\parbox[t]{\linewidth}{
+ {\raggedright #1}%
+ \tabularnewline%
+}
+% primitive for the right column (block)
+\newcommand{\ecvRightBlock}[1]{%
+ \parbox[t]{0.9\linewidth}{#1}%
+ \tabularnewline%
+}
+
+
+% left column commands
+
+% tag without bullet (simple left column entry)
+\newcommand{\ecvTP}[2][\ecv@lang]{%
+ \ifthenelse{\equal{#1}{\ecv@lang}}{%
+ \ecvLeft{#2}%
+ }{}%
+}
+\newcommand{\ecvTagPlain}[2][\ecv@lang]{\ecvTP[#1]{#2}}
+% tag with first line mark (triange bullet left column entry)
+\newcommand{\ecvTF}[2][\ecv@lang]{%
+ \ifthenelse{\equal{#1}{\ecv@lang}}{%
+ \ecvBreakparagraphs
+ \smallskip
+ \ecvLeft{\ecvBulletedFirst{#2}}%
+ }{}%
+}
+\newcommand{\ecvTagFirst}[2][\ecv@lang]{\ecvTF[#1]{#2}}
+% tag with first line mark (triange bullet left column entry)
+% but WITHOUT the line break!
+\newcommand{\ecvTI}[2][\ecv@lang]{%
+ \ifthenelse{\equal{#1}{\ecv@lang}}{%
+ \ecvLeft{\ecvBulletedFirst{#2}}%
+ }{}%
+}
+\newcommand{\ecvTagIntermediate}[2][\ecv@lang]{\ecvTI[#1]{#2}}
+% tag with first follow line mark (circle bullet left column entry)
+\newcommand{\ecvTN}[2][\ecv@lang]{%
+ \ifthenelse{\equal{#1}{\ecv@lang}}{%
+ \ecvLeft{\ecvBulleted{#2}}%
+ }{}%
+}
+\newcommand{\ecvTagNext}[2]{\ecvTN[#1]{#2}}
+
+
+% right column commands
+
+% value with raggedright layout
+\newcommand{\ecvVR}[2][\ecv@lang]{%
+ \ifthenelse{\equal{#1}{\ecv@lang}}{%
+ \ecvRight{#2}%
+ }{}%
+}
+\newcommand{\ecvValueRagged}[2][\ecv@lang]{\ecvVR[#1]{#2}}
+% value with block layout
+\newcommand{\ecvVB}[2][\ecv@lang]{%
+ \ifthenelse{\equal{#1}{\ecv@lang}}{%
+ \ecvRightBlock{#2}%
+ }{}%
+}
+\newcommand{\ecvValueBlocked}[2][\ecv@lang]{\ecvVB[#1]{#2}}
+
+
+% Compound commands tag+value
+
+% Plain tag with ragged value
+\newcommand{\ecvEPR}[3][\ecv@lang]{%
+ \ifthenelse{\equal{#1}{\ecv@lang}}{%
+ \ecvTP[#1]{#2} & \ecvVR[#1]{#3} %
+ }{}%
+}
+\newcommand{\ecvTagPlainValueRagged}[3][\ecv@lang]{\ecvERP[#1]{#2}{#3}}
+% Plain tag with blocked value
+\newcommand{\ecvEPB}[3][\ecv@lang]{%
+ \ifthenelse{\equal{#1}{\ecv@lang}}{%
+ \ecvTP[#1]{#2} & \ecvVB[#1]{#3} %
+ }{}%
+}
+\newcommand{\ecvTagPlainValueBlocked}[3][\ecv@lang]{\ecvERB[#1]{#2}{#3}}
+% bulleted first tag with ragged value
+\newcommand{\ecvEFR}[3][\ecv@lang]{%
+ \ifthenelse{\equal{#1}{\ecv@lang}}{%
+ \ecvTF[#1]{#2} & \ecvVR[#1]{#3} %
+ }{}%
+}
+\newcommand{\ecvTagFirstValueRagged}[3][\ecv@lang]{\ecvEFR[#1]{#2}{#3}}
+% bulleted first tag with blocked value
+\newcommand{\ecvEFB}[3][\ecv@lang]{%
+ \ifthenelse{\equal{#1}{\ecv@lang}}{%
+ \ecvTF[#1]{#2} & \ecvVB[#1]{#3} %
+ }{}%
+}
+\newcommand{\ecvTagFirstValueBlocked}[3][\ecv@lang]{\ecvEFB[#1]{#2}{#3}}
+% bulleted intermediate tag with ragged value
+\newcommand{\ecvEIR}[3][\ecv@lang]{%
+ \ifthenelse{\equal{#1}{\ecv@lang}}{%
+ \ecvTI[#1]{#2} & \ecvVR[#1]{#3} %
+ }{}%
+}
+\newcommand{\ecvTagIntermediateValueRagged}[3][\ecv@lang]{\ecvEIR[#1]{#2}{#3}}
+% bulleted intermediate tag with blocked value
+\newcommand{\ecvEIB}[3][\ecv@lang]{%
+ \ifthenelse{\equal{#1}{\ecv@lang}}{%
+ \ecvTI[#1]{#2} & \ecvVB[#1]{#3} %
+ }{}%
+}
+\newcommand{\ecvTagIntermediateValueBlocked}[3][\ecv@lang]{\ecvEIB[#1]{#2}{#3}}
+\newcommand{\ecvENR}[3][\ecv@lang]{%
+ \ifthenelse{\equal{#1}{\ecv@lang}}{%
+ \ecvTN[#1]{#2} & \ecvVR[#1]{#3} %
+ }{}%
+}
+\newcommand{\ecvTagNextValueRagged}[3][\ecv@lang]{\ecvENR[#1]{#2}{#3}}
+% bulleted next tag with blocked value
+\newcommand{\ecvENB}[3][\ecv@lang]{%
+ \ifthenelse{\equal{#1}{\ecv@lang}}{%
+ \ecvTN[#1]{#2} & \ecvVB[#1]{#3} %
+ }{}%
+}
+\newcommand{\ecvTagNextValueBlocked}[3][\ecv@lang]{\ecvENB[#1]{#2}{#3}}
+% value only ragged
+\newcommand{\ecvOVR}[2][\ecv@lang]{%
+ \ifthenelse{\equal{#1}{\ecv@lang}}{%
+ & \ecvVR[#1]{#2} %
+ }{}%
+}
+\newcommand{\ecvOnlyValueRagged}[2][\ecv@lang]{\ecvOVR[#1]{#2}}
+\newcommand{\ecvOVB}[2][\ecv@lang]{%
+ \ifthenelse{\equal{#1}{\ecv@lang}}{%
+ & \ecvVB[#1]{#2} %
+ }{}%
+}
+\newcommand{\ecvOnlyValueBlocked}[2][\ecv@lang]{\ecvOVB[#1]{#2}}
+
+
+
+
+% Sections
+
+% section: \ecvSection{name}
+\newcommand{\ecvSec}[2][\ecv@lang]{%
+ \ifthenelse{\equal{#1}{\ecv@lang}}{%
+ \ecvLeft{\textsc{\Large{\textcolor{ecv@ColBlue}{#2}}} \bigskip } &%
+ \tabularnewline%
+ }{}%
+}
+\newcommand{\ecvSection}[2][\ecv@lang]{\ecvSec[#1]{#2}}
+% section with breaksection: \ecvBreakSection{name}
+\newcommand{\ecvBSec}[2][\ecv@lang]{%
+ \ifthenelse{\equal{#1}{\ecv@lang}}{%
+ \ecvBreaksections
+ \ecvLeft{\textsc{\Large{\textcolor{ecv@ColBlue}{#2}}} \bigskip } &%
+ \tabularnewline%
+ }{}%
+}
+\newcommand{\ecvBreakSection}[2][\ecv@lang]{\ecvBSec[#1]{#2}}
+% sub-section: \ecvSubSection{name}
+\newcommand{\ecvSub}[2][\ecv@lang]{%
+ \ifthenelse{\equal{#1}{\ecv@lang}}{%
+ \ecvLeft{\textsc{\large{#2}}}%
+ & \tabularnewline%
+ }{}%
+}
+\newcommand{\ecvSubSection}[2][\ecv@lang]{\ecvSub[#1]{#2}}
+\newcommand{\ecvBSub}[2][\ecv@lang]{%
+ \ifthenelse{\equal{#1}{\ecv@lang}}{%
+ \ecvBreaksubsections
+ \ecvLeft{\textsc{\large{#2}}}%
+ & \tabularnewline%
+ }{}%
+}
+\newcommand{\ecvBreakSubSection}[2][\ecv@lang]{\ecvBSub[#1]{#2}}
+% sub-section with a value
+\newcommand{\ecvERSub}[3][\ecv@lang]{%
+ \ifthenelse{\equal{#1}{\ecv@lang}}{%
+ \ecvLeft{\textsc{\large{#2}}} & \ecvRight{#3}%
+ }{}%
+}
+\newcommand{\ecvEntryRaggedSubSection}[3][\ecv@lang]{\ecvERSub[#1]{#2}{#3}}
+\newcommand{\ecvBERSub}[3][\ecv@lang]{%
+ \ifthenelse{\equal{#1}{\ecv@lang}}{%
+ \ecvBreaksubsections
+ \ecvLeft{\textsc{\large{#2}}} & \ecvRight{#3}%
+ }{}%
+}
+\newcommand{\ecvBreakEntryRaggedSubSection}[3][\ecv@lang]{\ecvBERSub[#1]{#2}{#3}}
+% sub-section with a value
+\newcommand{\ecvEBSub}[3][\ecv@lang]{%
+ \ifthenelse{\equal{#1}{\ecv@lang}}{%
+ \ecvLeft{\textsc{\large{#2}}} & \ecvRightBlock{#3}%
+ }{}%
+}
+\newcommand{\ecvEntryBlockedSubSection}[3][\ecv@lang]{\ecvEBSub[#1]{#2}{#3}}
+\newcommand{\ecvBEBSub}[3][\ecv@lang]{%
+ \ifthenelse{\equal{#1}{\ecv@lang}}{%
+ \ecvBreaksubsections
+ \ecvLeft{\textsc{\large{#2}}} & \ecvRightBlock{#3}%
+ }{}%
+}
+\newcommand{\ecvBreakEntryBlockedSubSection}[3][\ecv@lang]{\ecvBEBSub[#1]{#2}{#3}}
+
+
+
+
+% Signature
+
+% \ecvSignature{name}{town}
+\newcommand{\ecvSig}[2]{ %
+ \vspace{1cm}
+ \noindent
+ #2, \today \\[18pt]
+
+ #1
+}
+\newcommand{\ecvSignature}[2]{\ecvSig{#1}{#2}}
+% \end{macrocode}
+%\iffalse
+% \begin{macrocode}
+%</ecv.cls>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%<*ecvEnglish.ldf>
+% \end{macrocode}
+%\fi
+% \begin{macrocode}
+%%
+%% Copyright 2006-2011 Christoph P. Neumann, Bernd Haberstumpf
+%%
+%% This a language definition file for the ecv class.
+%% THe file defines some NLS strings.
+%%
+%% This file is free property; as a special exception the author
+%% gives unlimited permission to copy and/or distribute it, with
+%% or without modifications, as long as this notice is
+%% preserved.
+%%
+%% This file is distributed in the hope that it will be useful,
+%% but WITHOUT ANY WARRANTY, to the extent permitted by law;
+%% without even the implied warranty of MERCHANTABILITY or
+%% FITNESS FOR A PARTICULAR PURPOSE.
+%%
+%% SPECIAL THANKS to
+%% Alexander von Gernler, who introduced me to the European Curriculum Vitae
+%%
+
+\def\fileversion{0.3}
+\def\filedate{2011/04/18}
+
+\NeedsTeXFormat{LaTeX2e}
+
+\ProvidesFile{ecvEnglish.ldf}[2007/01/05]
+
+\def\ecvNLS@Page{Page}
+\def\ecvNLS@Title{Curriculum Vitae}
+\def\ecvNLS@Person{Personal Information}
+\def\ecvNLS@Profession{Profession}
+\def\ecvNLS@Education{Education}
+\def\ecvNLS@Research{Research}
+\def\ecvNLS@Awards{Awards}
+\def\ecvNLS@Publications{Publications}
+\def\ecvNLS@Scholarships{Scholarships}
+\def\ecvNLS@Jobs{Jobs}
+\def\ecvNLS@Languages{Languages}
+\def\ecvNLS@LanguageTravels{Language Travels}
+\def\ecvNLS@Abilities{Abilities}
+\def\ecvNLS@Conferences{Conferences}
+\def\ecvNLS@Speeches{Speeches}
+\def\ecvNLS@Trainig{Training}
+\def\ecvNLS@Attachements{Attachements}
+% \end{macrocode}
+%\iffalse
+% \begin{macrocode}
+%</ecvEnglish.ldf>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%<*ecvGerman.ldf>
+% \end{macrocode}
+%\fi
+% \begin{macrocode}
+%%
+%% Copyright 2006-2011 Christoph P. Neumann, Bernd Haberstumpf
+%%
+%% This a language definition file for the ecv class.
+%% THe file defines some NLS strings.
+%%
+%% This file is free property; as a special exception the author
+%% gives unlimited permission to copy and/or distribute it, with
+%% or without modifications, as long as this notice is
+%% preserved.
+%%
+%% This file is distributed in the hope that it will be useful,
+%% but WITHOUT ANY WARRANTY, to the extent permitted by law;
+%% without even the implied warranty of MERCHANTABILITY or
+%% FITNESS FOR A PARTICULAR PURPOSE.
+%%
+%% SPECIAL THANKS to
+%% Alexander von Gernler, who introduced me to the European Curriculum Vitae
+%%
+
+
+\def\fileversion{0.3}
+\def\filedate{2011/04/18}
+
+\NeedsTeXFormat{LaTeX2e}
+
+\ProvidesFile{ecvGerman.ldf}[2007/01/05]
+
+\def\ecvNLS@Page{Seite}
+\def\ecvNLS@Title{Lebenslauf}
+\def\ecvNLS@Person{Zur Person}
+\def\ecvNLS@Profession{Beruf}
+\def\ecvNLS@Education{Bildung}
+\def\ecvNLS@Research{Forschung}
+\def\ecvNLS@Awards{Auszeichnungen}
+\def\ecvNLS@Publications{Publikationen}
+\def\ecvNLS@Scholarships{Stipendien}
+\def\ecvNLS@Jobs{Arbeitserfahrung}
+\def\ecvNLS@Languages{Sprachen}
+\def\ecvNLS@LanguageTravels{Sprachreisen}
+\def\ecvNLS@Abilities{F\"ahigkeiten}
+\def\ecvNLS@Conferences{Konferenzen}
+\def\ecvNLS@Speeches{Vortr\"age}
+\def\ecvNLS@Trainig{Fortbildung}
+\def\ecvNLS@Attachements{Anlagen}
+% \end{macrocode}
+%\iffalse
+% \begin{macrocode}
+%</ecvGerman.ldf>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%<*ecvNLS.sty>
+% \end{macrocode}
+%\fi
+% \begin{macrocode}
+%%
+%% Copyright 2006-2007 Christoph Neumann, Bernd Haberstumpf
+%%
+%% This LaTeX package provides NLS support for the ecv class.
+%%
+%% This file is free property; as a special exception the author
+%% gives unlimited permission to copy and/or distribute it, with
+%% or without modifications, as long as this notice is
+%% preserved.
+%%
+%% This file is distributed in the hope that it will be useful,
+%% but WITHOUT ANY WARRANTY, to the extent permitted by law;
+%% without even the implied warranty of MERCHANTABILITY or
+%% FITNESS FOR A PARTICULAR PURPOSE.
+%%
+%% SPECIAL THANKS to
+%% Alexander von Gernler, who introduced me to the European Curriculum Vitae
+%%
+
+\def\fileversion{0.1}
+\def\filedate{2007/01/05}
+
+\NeedsTeXFormat{LaTeX2e}
+
+%
+% Package definition
+%
+
+\ProvidesPackage{ecvNLS}[\filedate %
+ \space Version \fileversion\space by %
+ Christoph Neumann & Bernd Haberstumpf %
+]
+
+%
+% Option definition
+%
+
+\def\ecvNLS@lang{german}
+\def\ecvNLS@german{1}
+\def\ecvNLS@english{2}
+\DeclareOption{german}{\def\ecvNLS@lang{\ecvNLS@german}\input{ecvGerman.ldf}}
+\DeclareOption{english}{\def\ecvNLS@lang{\ecvNLS@english}\input{ecvEnglish.ldf}}
+\ProcessOptions
+
+
+%
+% Load packages
+%
+
+% \selectlanguage{ngerman} will be called after \begin{document}
+\RequirePackage[ngerman,english]{babel}
+
+
+% \begin{document} preamble
+\AtBeginDocument{%
+ \ifnum\ecvNLS@lang =\ecvNLS@german
+ \selectlanguage{ngerman}
+ \else
+ \selectlanguage{english}
+ \fi
+}
+
+
+%
+% Define NLS commands
+%
+
+\newcommand{\ecvPage}{\ecvNLS@Page}
+\newcommand{\ecvTitle}{\ecvNLS@Title}
+\newcommand{\ecvPerson}{\ecvNLS@Person}
+\newcommand{\ecvProfession}{\ecvNLS@Profession}
+\newcommand{\ecvEducation}{\ecvNLS@Education}
+\newcommand{\ecvResearch}{\ecvNLS@Research}
+\newcommand{\ecvAwards}{\ecvNLS@Awards}
+\newcommand{\ecvPublications}{\ecvNLS@Publications}
+\newcommand{\ecvScholarships}{\ecvNLS@Scholarships}
+\newcommand{\ecvJobs}{\ecvNLS@Jobs}
+\newcommand{\ecvLanguages}{\ecvNLS@Languages}
+\newcommand{\ecvLanguageTravels}{\ecvNLS@LanguageTravels}
+\newcommand{\ecvAbilities}{\ecvNLS@Abilities}
+\newcommand{\ecvConferences}{\ecvNLS@Conferences}
+\newcommand{\ecvSpeeches}{\ecvNLS@Speeches}
+\newcommand{\ecvTrainig}{\ecvNLS@Trainig}
+\newcommand{\ecvAttachements}{\ecvNLS@Attachements}
+% \end{macrocode}
+%\iffalse
+% \begin{macrocode}
+%</ecvNLS.sty>
+% \end{macrocode}
+%\fi
+%\Finale
+\endinput