From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 2 Sep 2019 13:46:59 +0900 Subject: Initial commit --- macros/latex/contrib/ecv/COPYING | 11 + macros/latex/contrib/ecv/README | 77 ++ macros/latex/contrib/ecv/docstrip.cfg | 13 + macros/latex/contrib/ecv/ecv.dtx | 1344 ++++++++++++++++++++ macros/latex/contrib/ecv/ecv.ins | 40 + macros/latex/contrib/ecv/ecv.pdf | Bin 0 -> 116411 bytes .../latex/contrib/ecv/template/CV-template_de.pdf | Bin 0 -> 119460 bytes .../latex/contrib/ecv/template/CV-template_de.tex | 190 +++ .../latex/contrib/ecv/template/CV-template_en.pdf | Bin 0 -> 116961 bytes .../latex/contrib/ecv/template/CV-template_en.tex | 187 +++ macros/latex/contrib/ecv/template/Makefile | 108 ++ macros/latex/contrib/ecv/template/portrait.eps | 628 +++++++++ 12 files changed, 2598 insertions(+) create mode 100644 macros/latex/contrib/ecv/COPYING create mode 100644 macros/latex/contrib/ecv/README create mode 100644 macros/latex/contrib/ecv/docstrip.cfg create mode 100644 macros/latex/contrib/ecv/ecv.dtx create mode 100644 macros/latex/contrib/ecv/ecv.ins create mode 100644 macros/latex/contrib/ecv/ecv.pdf create mode 100644 macros/latex/contrib/ecv/template/CV-template_de.pdf create mode 100644 macros/latex/contrib/ecv/template/CV-template_de.tex create mode 100644 macros/latex/contrib/ecv/template/CV-template_en.pdf create mode 100644 macros/latex/contrib/ecv/template/CV-template_en.tex create mode 100644 macros/latex/contrib/ecv/template/Makefile create mode 100644 macros/latex/contrib/ecv/template/portrait.eps (limited to 'macros/latex/contrib/ecv') diff --git a/macros/latex/contrib/ecv/COPYING b/macros/latex/contrib/ecv/COPYING new file mode 100644 index 0000000000..8dc18bb617 --- /dev/null +++ b/macros/latex/contrib/ecv/COPYING @@ -0,0 +1,11 @@ +Copyright 2006-2011 Christoph P. Neumann, Bernd Haberstumpf + +This software 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 software 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. diff --git a/macros/latex/contrib/ecv/README b/macros/latex/contrib/ecv/README new file mode 100644 index 0000000000..6125502e8a --- /dev/null +++ b/macros/latex/contrib/ecv/README @@ -0,0 +1,77 @@ + ----------------------------- + Version 0.3 of the ecv class + C.P. Neumann, B. Haberstumpf + ----------------------------- + +This LaTeX provides a simple environment for laying out a +fancy curriculum vitae with LaTeX. The class is intended +to be self-contained so it should not be necessary to fiddle +around with thousand other packages to get a nicely +formatted CV. + +As this class is created mainly for ourselves it does not +contain evil low-level TeX magic but instead uses many other +fancy LaTeX packages that we hope you have already installed. + +This work may be distributed and/or modified under the +conditions of the LaTeX Project Public License, either version 1.3 +of this license or (at your option) any later version. +The latest version of this license is in + http://www.latex-project.org/lppl.txt +and version 1.3 or later is part of all distributions of LaTeX +version 2005/12/01 or later. + +Required Packages +----------------- + +In detail the following packages are loaded by the ecv class: + + ifthen + geometry + longtable + pgf + paralist + helvet + color + fancyhdr + inputenc or selinput + fontenc + ae + aecompl + aeguill + textcomp + url + hyperref + hyperref + babel + +These packages can be obtained of course from http://www.ctan.org/. + + +Installation +------------ + +After unzipping the package call: + + $ latex ecv.ins + +This will be extract some files (ecv.cls, ecvNLS.sty...). Create a +directory beneath your TeX installation preferably create + + tex/latex/ecv + +and copy all files of the package and the extracted files to that directory. + +Call: + + mktexlsr + +Templates +--------- + +In template.zip document templates for a german and an english CV can be +found. Just unzip the template.zip, cd to template and run make to get the +pdf. + +/Bernd Haberstumpf, +/Christoph P. Neumann, diff --git a/macros/latex/contrib/ecv/docstrip.cfg b/macros/latex/contrib/ecv/docstrip.cfg new file mode 100644 index 0000000000..d657d2bb5a --- /dev/null +++ b/macros/latex/contrib/ecv/docstrip.cfg @@ -0,0 +1,13 @@ +% +% docstrip.cfg +% +% Sample configuration for the docstrip program for the ecv class +% + +% BaseDirectory: To this directory the class will be installed +%\BaseDirectory{/usr/share/texmf} +\BaseDirectory{.} + +% Path mapping for the directories defined in the ins file +%\DeclareDir{tex/latex/ecv}{tex/latex/ecv} +\DeclareDir{tex/latex/ecv}{.} 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 \~} +% +%\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} +% +%\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} +% +% \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} +% +% \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} +% +% \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} +% +% \end{macrocode} +%\fi +%\Finale +\endinput diff --git a/macros/latex/contrib/ecv/ecv.ins b/macros/latex/contrib/ecv/ecv.ins new file mode 100644 index 0000000000..f9cd22c15e --- /dev/null +++ b/macros/latex/contrib/ecv/ecv.ins @@ -0,0 +1,40 @@ +% ecv.ins generated using makedtx version 0.91b 2011/4/23 10:03 +\input docstrip + +\preamble +Copyright (C) 2011 Christoph P. Neumann & Bernd Haberstumpf, all rights reserved. +If you modify this file, you must change its name first. +You are NOT ALLOWED to distribute this file alone. You are NOT +ALLOWED to take money for the distribution or use of either this +file or a changed version, except for a nominal charge for copying +etc. +\endpreamble + +\askforoverwritefalse + +\keepsilent + +\usedir{tex/latex/ecv} + +\generate{\file{ecvEnglish.ldf}{\nopreamble\from{ecv.dtx}{ecvEnglish.ldf}} +\file{ecv.cls}{\nopreamble\from{ecv.dtx}{ecv.cls}} +\file{ecvGerman.ldf}{\nopreamble\from{ecv.dtx}{ecvGerman.ldf}} +\file{ecvNLS.sty}{\nopreamble\from{ecv.dtx}{ecvNLS.sty}} +} + +\obeyspaces +\Msg{****************************************************} +\Msg{* } +\Msg{* To finish the installation you have to move all } +\Msg{* extracted files into the directory: } +\Msg{* } +\Msg{* tex/latex/ecv } +\Msg{* } +\Msg{* beneath the TeX installation (usually } +\Msg{* /usr/share/textmf). } +\Msg{* } +\Msg{* Happy TeXing! } +\Msg{* } +\Msg{****************************************************} + +\endbatchfile diff --git a/macros/latex/contrib/ecv/ecv.pdf b/macros/latex/contrib/ecv/ecv.pdf new file mode 100644 index 0000000000..528cfa3717 Binary files /dev/null and b/macros/latex/contrib/ecv/ecv.pdf differ diff --git a/macros/latex/contrib/ecv/template/CV-template_de.pdf b/macros/latex/contrib/ecv/template/CV-template_de.pdf new file mode 100644 index 0000000000..71ce319692 Binary files /dev/null and b/macros/latex/contrib/ecv/template/CV-template_de.pdf differ diff --git a/macros/latex/contrib/ecv/template/CV-template_de.tex b/macros/latex/contrib/ecv/template/CV-template_de.tex new file mode 100644 index 0000000000..170c30fafe --- /dev/null +++ b/macros/latex/contrib/ecv/template/CV-template_de.tex @@ -0,0 +1,190 @@ +%% +%% Copyright 2006-2011 Christoph P. Neumann, Bernd Haberstumpf +%% +%% This LaTeX file provides a template for a german CV. +%% +%% 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[german]{ecv} + +% Dateiname: images/.jpg +\ecvPortrait{portrait} +\ecvName{} + +\begin{document} + +\begin{ecv} + +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Person +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ecvSec{\hypertarget{hypertarget:\ecvPerson}{\ecvPerson}} + +\ecvEPR{Name} {\textsc{}, } +\ecvEPR{Adresse}{, ,\ecvNewLine + D--, } +\ecvEPR{Telefon}{(49) / } +\ecvEPR{Fax}{(49) / } +\ecvEPR{E-Mail} {\ecvHyperEMail{}} +\ecvEPR{Staatsangeh"origkeit} + {deutsch} +\ecvEPR{Geburtsdatum} + {} + +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Profession +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ecvBSec{\hypertarget{hypertarget:\ecvProfession}{\ecvProfession}} + +% Chronologisch beginnend mit den juengsten Beschaeftigungen +\ecvEFR{Zeitraum}{--} +\ecvENR{Arbeitgeber} + {\ecvBold{}\\ + , , } +% +\ecvEFR{Projekt bis } + {} +\ecvENR{Position}{} +\ecvENR{Wichtigste T"atigkeiten} + {} + +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Education +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ecvBSec{\hypertarget{hypertarget:\ecvEducation}{\ecvEducation}} + +% Universit"at +\ecvEFR{Zeitraum}{--} +\ecvENR{Erworbene Qualifikation} + {\ecvBold{}} +\ecvENR{Bildungseinrichting} + {} +\ecvENR{Hauptf"acher} + {} +\ecvENR{Nebenf"acher} + {} +\ecvENR{Note} {Durchschnitt } +% Schule +\ecvEFR{Zeitraum}{--} +\ecvENR{Erworbene Qualifikation} + {} +\ecvENR{Bildungseinrichting} + {<Name der Bildungseinrichtung>} +\ecvENR{Abiturf"acher} + {<Liste der F"acher>} + +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Research +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ecvBSec{\hypertarget{hypertarget:\ecvResearch}{\ecvResearch}} + +\ecvEFB{Diplomarbeit}{"`<Titel der Diplomarbeit>"' --- <Institut>} +\ecvEFB{Studienarbeit}{"`<Titel der Studienarbeit>"' + --- <Institut>} + +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Publications +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ecvBSec{\hypertarget{hypertarget:\ecvPublications}{\ecvPublications}} + +\ecvEFR{Publikation}{<Autorenliste>: + \emph{<Titel der Publikation>} + <Name der Zeitschrift>. <Verlag>, + <Ort>, <Erscheiningsdatum>} + + + +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Jobs +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ecvBSec{\hypertarget{hypertarget:\ecvJobs}{\ecvJobs}} + +\ecvEFR{Zeitraum}{<Jahr>--<Jahr>} +\ecvENR{Arbeitgeber} + {\ecvBold{<Name der Firma>}, <Stadt>/<Land>} +\ecvENR{Arbeitsverh"altnis} + {<Typ des Besch"aftigungsverh"altnisses>} +\ecvENR{Wichtigste T"atigkeiten} + {<Aufgabe> + } + +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Languages +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ecvBSec{\hypertarget{hypertarget:\ecvLanguages}{\ecvLanguages}} + +\ecvERSub{Muttersprache}{\ecvBold{Deutsch}} + +\ecvEBSub{Sonstige Sprachen} + {<Sprache> -- Lesen: <Erfahrungsgrad>, Schreiben: + <Erfahrungsgrad>, Sprechen: <Erfahrungsgrad>} + +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Language Travels +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ecvBSub{Sprachreisen} + +\ecvEFR{Zeitraum}{<Datum>--<Datum>} +\ecvENR{Ort} {<Ort>/<Land>} +\ecvENR{Veranstalter} + {<Veranstatlter>} +\ecvENR{Zertifikat} + {<Name des erworbenen Zertifikats>} + + +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Abilities +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ecvPageBreak +\ecvBSec{\hypertarget{hypertarget:\ecvAbilities}{\ecvAbilities}} +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Abilities / social +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ecvEBSub{Soziale\ecvNewLine F"ahigkeiten} + {<Prosabeschreibungen zu den sozialen St"arken> + } +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Abilities / organisational +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ecvEBSub{Organisatorische\ecvNewLine F"ahigkeiten} + {<Prosabeschreibungen zu Organisatorischen F"ahigkeiten + und wie sie erworben wurden> + } +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Abilities / professional +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ecvBEBSub{Fachliche Kompetenz} + {<Prosabeschreibung zu fachlichen Kompetenzen>} +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Hobbies +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ecvBEBSub{Hobbies} + {<Liste der wichtigsten Hobbies und privaten Interessen> + } + +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Attachments +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ecvBSec{\hypertarget{hypertarget:\ecvAttachements}{\ecvAttachements}} + +\ecvOVR {<Liste der Anlagen> + } + +\end{ecv} + +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Signature +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ecvSig{<Nachname>, <Vorname>}{<Ort>} + +\end{document} +\end diff --git a/macros/latex/contrib/ecv/template/CV-template_en.pdf b/macros/latex/contrib/ecv/template/CV-template_en.pdf new file mode 100644 index 0000000000..a3af771cc6 Binary files /dev/null and b/macros/latex/contrib/ecv/template/CV-template_en.pdf differ diff --git a/macros/latex/contrib/ecv/template/CV-template_en.tex b/macros/latex/contrib/ecv/template/CV-template_en.tex new file mode 100644 index 0000000000..bdbf19fcfb --- /dev/null +++ b/macros/latex/contrib/ecv/template/CV-template_en.tex @@ -0,0 +1,187 @@ +%% +%% Copyright 2006-2011 Christoph P. Neumann, Bernd Haberstumpf +%% +%% This LaTeX file provides a template for a german CV. +%% +%% 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[english]{ecv} + +% Dateiname: images/<portrait>.jpg +\ecvPortrait{portrait} +\ecvName{<Surname(s), Name>} + +\begin{document} + +\begin{ecv} + +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Person +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ecvSec{\hypertarget{hypertarget:\ecvPerson}{\ecvPerson}} + +\ecvEPR{Name} {\textsc{<Name>}, <Surname(s)>} +\ecvEPR{Addresse}{<House number> <Street>\ecvNewLine + <City>, <Postcode>, <Country>} +\ecvEPR{Telephone}{<Area code>--<Telephone number>} +\ecvEPR{Fax}{<Area code>--<Faxnumber>} +\ecvEPR{E-Mail} {\ecvHyperEMail{<E-Mail>}} +\ecvEPR{Nationality} + {<Nationality>} +\ecvEPR{Date of birth} + {<Date of birth>} + +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Profession +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ecvBSec{\hypertarget{hypertarget:\ecvProfession}{\ecvProfession}} + +% Chronologisch beginnend mit den juengsten Beschaeftigungen +\ecvEFR{Period}{<Year>--<Year>} +\ecvENR{Employer} + {\ecvBold{<Company name>}\\ + <House number><Street>, <City>, <Postcode>, <Country>} +% +\ecvEFR{Project <From> until <To>} + {<Topic>} +\ecvENR{Position}{<Position held>} +\ecvENR{Main responsibilities} + {<List of activities>} + +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Education +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ecvBSec{\hypertarget{hypertarget:\ecvEducation}{\ecvEducation}} + +% Universit"at +\ecvEFR{Period}{<Year>--<Year>} +\ecvENR{Accquired qualifications} + {\ecvBold{<Title>}} +\ecvENR{Institute} + {<Name of educational institution>} +\ecvENR{Principal subjects} + {<List of the major subjects>} +\ecvENR{Minor subjects} + {<List of minor subjects>} +\ecvENR{Grade} {Avarage grade <overall avarage grade>} +% Schule +\ecvEFR{Period}{<Year>--<Year>} +\ecvENR{Accquired qualifications} + {<Title>} +\ecvENR{Graduate school} + {<Name of the school>} + +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Research +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ecvBSec{\hypertarget{hypertarget:\ecvResearch}{\ecvResearch}} + +\ecvEFB{Diploma thesis}{"`<Title of the diploma thesis>"' --- <Institute>} +\ecvEFB{Seminar paper}{"`<Title of the seminar paper>"' + --- <Institute>} + +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Publications +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ecvBSec{\hypertarget{hypertarget:\ecvPublications}{\ecvPublications}} + +\ecvEFR{Publication}{<Author>: + \emph{<Title of the publication>} + <Name of the journal>. <Publisher>, + <City>, <Year>} + + + +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Jobs +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ecvBSec{\hypertarget{hypertarget:\ecvJobs}{\ecvJobs}} + +\ecvEFR{Period}{<Year>--<Year>} +\ecvENR{Employer} + {\ecvBold{<Name of the Company>}, <City>/<Country>} +\ecvENR{Employment} + {<Type of the employment>} +\ecvENR{Main responsibilities} + {<List of activities> + } + +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Languages +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ecvBSec{\hypertarget{hypertarget:\ecvLanguages}{\ecvLanguages}} + +\ecvERSub{First language}{\ecvBold{English}} + +\ecvEBSub{Other languages} + {<Language> -- Read: <Degree>, Write: + <Degree>, Talk: <Degree>} + +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Language Travels +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ecvBSub{\ecvLanguageTravels} + +\ecvEFR{Period}{<Date>--<Date>} +\ecvENR{Place} {<City>/<Country>} +\ecvENR{Vendor} + {<Organizer>} +\ecvENR{Certificate} + {<Name of the accquired certificate>} + + +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Abilities +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ecvPageBreak +\ecvBSec{\hypertarget{hypertarget:\ecvAbilities}{\ecvAbilities}} +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Abilities / social +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ecvEBSub{Social Skills} + {<Description of the social strengths> + } +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Abilities / organisational +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ecvEBSub{Organisational Skills} + {<Description of organisational skills> + } +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Abilities / professional +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ecvBEBSub{Technical Skills} + {<Description of technical skills>} +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Hobbies +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ecvBEBSub{Hobbies} + {<List of major hobbies and private interests> + } + +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Attachments +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ecvBSec{\hypertarget{hypertarget:\ecvAttachements}{\ecvAttachements}} + +\ecvOVR {<Lsit of all attachements> + } + +\end{ecv} + +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Signature +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ecvSig{<Name>, <Surname(s)>}{<City>} + +\end{document} +\end diff --git a/macros/latex/contrib/ecv/template/Makefile b/macros/latex/contrib/ecv/template/Makefile new file mode 100644 index 0000000000..6a9a132eff --- /dev/null +++ b/macros/latex/contrib/ecv/template/Makefile @@ -0,0 +1,108 @@ +# Copyright 2007-2011 Christoph P. Neumann, Bernd Haberstumpf +# +# This makefile is intended to build an CV withg the ecv package. +# +# This file is free software; 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. + +# LANGUAGE: The language to use +LANGUAGE ?= de +# BASENAME: The basename of the document without language +BASENAME = CV-template_ +# NAME: Basename of the package +NAME = $(BASENAME)$(LANGUAGE) +# PORTTRAIT: The portrait of the writer +PORTRAIT = portrait.eps + +# BUILDPATH: Where distribution will be assembled +BUILDPATH = build +# IMAGESPATH: Where images are searched +IMAGESPATH = . + +TEX = $(NAME).tex +PDF = $(NAME).pdf +DVI = $(NAME).dvi + +RES = 600 + +# +# Tools +# + +MKDIRP = mkdir -p +CP = cp +RMRF = rm -rf +PDFLATEX = pdflatex +LATEX = latex +CONVERT = convert +ACROREAD = acroread + +.PHONY : all force pdf fpdf dvi clean distclean + +# create $(NAME).pdf +all : pdf + +force : fpdf + +# forced create a pdf from $(NAME).tex +fpdf : + @touch $(TEX) + $(MAKE) $(PDF) + +# Creates a pdf from $(NAME).tex +pdf : $(PDF) + +# Creates a dvi from $(NAME).tex +dvi : $(DVI) + +# show document with acroread +viewpdf : pdf + @$(ACROREAD) $(PDF) + +# Rule to create pdfs +%.pdf : %.tex + @echo "-- Creating $(BUILDPATH)" + @$(MKDIRP) "$(BUILDPATH)" + @echo "-- Copy $< to $(BUILDPATH)" + @$(CP) "$<" "$(BUILDPATH)" + @echo "-- Copying image images/$(PORTRAIT)" + @$(CONVERT) -density $(RES)x$(RES) \ + -size 945x1417 \ + $(IMAGESPATH)/$(PORTRAIT) \ + $(BUILDPATH)/portrait.jpg + @echo "-- Running pdflatex" + cd $(BUILDPATH); $(PDFLATEX) $< + @$(CP) $(BUILDPATH)/$@ . + +%.dvi : %.tex + @echo "-- Creating $(BUILDPATH)" + @$(MKDIRP) "$(BUILDPATH)" + @echo "-- Copy $< to $(BUILDPATH)" + @$(CP) "$<" "$(BUILDPATH)" + @echo "-- Running pdflatex" + @( \ + cd $(BUILDPATH); \ + $(LATEX) $<; \ + ) + @$(CP) $(BUILDPATH)/$@ . + +images/%.jpg : build/%.jpg + + +# Cleans up this installation +clean: + @echo "-- Removing $(BUILDPATH)" + @$(RMRF) $(BUILDPATH) + +# Also removes pdfs and dvis +distclean: clean + @echo "-- Removing $(PDF)and $(DVI)" + @$(RMRF) $(PDF) + @$(RMRF) $(DVI) diff --git a/macros/latex/contrib/ecv/template/portrait.eps b/macros/latex/contrib/ecv/template/portrait.eps new file mode 100644 index 0000000000..c2d0c05ad5 --- /dev/null +++ b/macros/latex/contrib/ecv/template/portrait.eps @@ -0,0 +1,628 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: (ImageMagick) +%%Title: (portrait.eps) +%%CreationDate: (Sun Jan 28 18:41:23 2007) +%%BoundingBox: 0 0 112 112 +%%DocumentData: Clean7Bit +%%LanguageLevel: 1 +%%Pages: 1 +%%EndComments + +%%BeginDefaults +%%EndDefaults + +%%BeginProlog +% +% Display a color image. The image is displayed in color on +% Postscript viewers or printers that support color, otherwise +% it is displayed as grayscale. +% +/DirectClassPacket +{ + % + % Get a DirectClass packet. + % + % Parameters: + % red. + % green. + % blue. + % length: number of pixels minus one of this color (optional). + % + currentfile color_packet readhexstring pop pop + compression 0 eq + { + /number_pixels 3 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add 3 mul def + } ifelse + 0 3 number_pixels 1 sub + { + pixels exch color_packet putinterval + } for + pixels 0 number_pixels getinterval +} bind def + +/DirectClassImage +{ + % + % Display a DirectClass image. + % + systemdict /colorimage known + { + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { DirectClassPacket } false 3 colorimage + } + { + % + % No colorimage operator; convert to grayscale. + % + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { GrayDirectClassPacket } image + } ifelse +} bind def + +/GrayDirectClassPacket +{ + % + % Get a DirectClass packet; convert to grayscale. + % + % Parameters: + % red + % green + % blue + % length: number of pixels minus one of this color (optional). + % + currentfile color_packet readhexstring pop pop + color_packet 0 get 0.299 mul + color_packet 1 get 0.587 mul add + color_packet 2 get 0.114 mul add + cvi + /gray_packet exch def + compression 0 eq + { + /number_pixels 1 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add def + } ifelse + 0 1 number_pixels 1 sub + { + pixels exch gray_packet put + } for + pixels 0 number_pixels getinterval +} bind def + +/GrayPseudoClassPacket +{ + % + % Get a PseudoClass packet; convert to grayscale. + % + % Parameters: + % index: index into the colormap. + % length: number of pixels minus one of this color (optional). + % + currentfile byte readhexstring pop 0 get + /offset exch 3 mul def + /color_packet colormap offset 3 getinterval def + color_packet 0 get 0.299 mul + color_packet 1 get 0.587 mul add + color_packet 2 get 0.114 mul add + cvi + /gray_packet exch def + compression 0 eq + { + /number_pixels 1 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add def + } ifelse + 0 1 number_pixels 1 sub + { + pixels exch gray_packet put + } for + pixels 0 number_pixels getinterval +} bind def + +/PseudoClassPacket +{ + % + % Get a PseudoClass packet. + % + % Parameters: + % index: index into the colormap. + % length: number of pixels minus one of this color (optional). + % + currentfile byte readhexstring pop 0 get + /offset exch 3 mul def + /color_packet colormap offset 3 getinterval def + compression 0 eq + { + /number_pixels 3 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add 3 mul def + } ifelse + 0 3 number_pixels 1 sub + { + pixels exch color_packet putinterval + } for + pixels 0 number_pixels getinterval +} bind def + +/PseudoClassImage +{ + % + % Display a PseudoClass image. + % + % Parameters: + % class: 0-PseudoClass or 1-Grayscale. + % + currentfile buffer readline pop + token pop /class exch def pop + class 0 gt + { + currentfile buffer readline pop + token pop /depth exch def pop + /grays columns 8 add depth sub depth mul 8 idiv string def + columns rows depth + [ + columns 0 0 + rows neg 0 rows + ] + { currentfile grays readhexstring pop } image + } + { + % + % Parameters: + % colors: number of colors in the colormap. + % colormap: red, green, blue color packets. + % + currentfile buffer readline pop + token pop /colors exch def pop + /colors colors 3 mul def + /colormap colors string def + currentfile colormap readhexstring pop pop + systemdict /colorimage known + { + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { PseudoClassPacket } false 3 colorimage + } + { + % + % No colorimage operator; convert to grayscale. + % + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { GrayPseudoClassPacket } image + } ifelse + } ifelse +} bind def + +/DisplayImage +{ + % + % Display a DirectClass or PseudoClass image. + % + % Parameters: + % x & y translation. + % x & y scale. + % label pointsize. + % image label. + % image columns & rows. + % class: 0-DirectClass or 1-PseudoClass. + % compression: 0-none or 1-RunlengthEncoded. + % hex color packets. + % + gsave + /buffer 512 string def + /byte 1 string def + /color_packet 3 string def + /pixels 768 string def + + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + x y translate + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + currentfile buffer readline pop + token pop /pointsize exch def pop + /Times-Roman findfont pointsize scalefont setfont + x y scale + currentfile buffer readline pop + token pop /columns exch def + token pop /rows exch def pop + currentfile buffer readline pop + token pop /class exch def pop + currentfile buffer readline pop + token pop /compression exch def pop + class 0 gt { PseudoClassImage } { DirectClassImage } ifelse + grestore +} bind def +%%EndProlog +%%Page: 1 1 +%%PageBoundingBox: 0 0 112 112 +userdict begin +DisplayImage +0 0 +112 112 +12.000000 +112 112 +1 +1 +1 +8 +fefefefefefefefefefefefefefefefefefefefefefefefefffffffffffefefefdfdfd +fdfdfdfdfdfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfdfdfdfdfdfdfd +fdfefefefefefefefefffffffffffffffffefefefefefefefefefefefefefefefefefefe +fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefffffffffffefe +fefdfdfdfdfdfdfdfdfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfc +fcfcfcfcfcfdfdfdfdfdfdfdfdfffffffffffffffffefefefefefefefefefefefefefefe +fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefeffffff +fffefefefefdfdfdfdfdfdfdfdfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfc +fcfbfbfbfbfbfbfbfbfdfdfdfdfdfdfdfdfffffffffffffffffefefefefefefefefefefe +fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe +fefffffffefefefdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfd +fdfdfdfdfdfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfefefefefefefefefefefefefefefe +fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe +fefefefefefffffefefefdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfd +fdfdfdfdfdfdfdfdfdfefefefefefefefefcfcfcfcfcfcfcfcfefefefefefefefefefefe +fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe +fefefefefefefefefefefefefefdfdfdfcfdfdfdfdfdfdfdfdfefefefefefefefefefefe +fefefefefefefefefefefefefefffffffffffffffffdfdfdfdfdfdfdfdfdfdfdfdfdfdfd +fdfefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe +fefefefefefefefefefefefefefefefefdfdfdfcfcfdfdfdfdfdfdfdfdfefefefefefefe +fefefefefefefefefefefefefefefefefefefefefefefefefefdfdfdfdfdfdfdfdfdfdfd +fdfdfdfdfdfefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe +fefefefefefefefefefefefefefefefefefefefefdfdfcfcfcfdfdfdfdfdfdfdfdfefefe +fefefefefefefefefefefefefefefefefefefefefefdfdfdfdfdfdfdfdfefefefefefefe +fefdfdfdfdfdfdfdfdfefefefefefefefefefefefefefefefefefefefefefefefefefefe +fefefefefefefefefefefefefefbfcfefffffffffefcfcfcfcfcfcfcfcffffffffffffff +fffffffaf8f8f8f9f9fdfffffffefdfdfffffcfafafefffffffefefefefefefefefefefe +fefefefefefdfdfdfcfcfbfbfbfefffffffffefcfbfefefefefefefefefefefefefefefe +fefefefefefefefefefefefefefefefefefcfdfefffffffefdfcfcfcfcfcfcfcfcffffff +fffffffffffbfcfefffffffffffffdf8f4f3f6fbfffdfefffffefcfbfafefefefefefefe +fefefefefefefefefefdfdfdfcfcfcfbfbfdfefffffffefdfcfefefefefefefefefefefe +fefefefefefefefefefefefefefefefefefefefefefdfefefffefefdfcfcfcfcfcfcfcfc +fcfffffffffffefefefffffef7f1eff5fbfdfefffffffffdfafafbfbf9f7f8fdfffefefe +fefefefefefefefefefefefefefdfdfdfdfcfcfcfbfcfdfefefffefefdfefefefefefefe +fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefdfcfcfbfdfdfd +fdfdfdfdfdfffffffefefefefdfffcf9fdfffffdf5fbf7f1f0f3f9fefffffffffefcfafb +fcfefefefefefefefefefefefefefefefefefefdfdfdfcfcfcfbfcfcfdfefefefefefefe +fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefffefefdfcfcfc +fcfdfdfdfdfdfdfdfdfffffffefefdfdfcf4fbfffcf5f5fffffffffffffffefaf7eef1f6 +fbfefefaf7fefefefefefefefefefefefefefefefefefefefdfdfdfcfcfcfcfcfcfdfefe +fffefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefdfc +fcfbfcfcfdfefefefefefefefefffffefefdfcfcfcfff9f4fcfffcdfc4b6bdc8d4e0ecf8 +fffffffffdfaf9fbfdfefefefefefefefefefefefefefefefefffefefefdfdfdfdfdfcfc +fbfcfcfdfefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe +fefdfcfbfbfbfcfdfefefefefefefefefefffffefefdfcfbfbeffffbc672280500010000 +041b447494d9e9fcfffff8f7f9fefefefefefefefefefefefefefefefefffffefefefdfd +fdfefdfcfbfbfbfcfdfefefefefefefefefefefefefefefefefefefefefefefefefefefe +fefefefefefcfbfafafbfcfefffefefefefefefefefffffefdfcfcfbfafeae460500050a +07010607010000010b0d4ba1e2fefffcfbfefefefefefefefefefefefefefefefeffffff +fefefdfdfdfffefcfbfafafbfcfefefefefefefefefefefefefefefefefefefefefefefe +fefbfcfdfefffefdfcfcfcfcfdfdfefefefefefefefefefefefff4fff2fffffff3531e00 +040c00000801010101010101010702001372e0fff9ecfff8fbfffffefdfefefefefefefe +fefefefefefefefefefefefdfcfbfbfaf9fdfefffffffefdfcfefefefefefefefefefefe +fefefefefefcfdfefefefdfcfbfcfcfcfdfdfefefefefefefefefefefefbfeecfff1ffde +661a06000108050101010101010101010100000c13061675dfffe8f7ffffe7fff3fefefe +fefefefefefefefefefefefefefefefdfdfcfbfafafcfdfefffffffefdfefefefefefefe +fefefefefefefefefefefefefefefcfbfafcfcfcfdfdfefefefefefefefefefefefafff9 +f7f7fd5d0e00040703020603000101010101010101040001090100103382fefffcf3fde8 +fffefefefefefefefefefefefefefefefefefefdfdfcfbfbfbfbfcfdfefffffffefefefe +fefefefefefefefefefefefefefffffffefdfcfbfafcfcfcfdfdfefefefefefefefefefe +fefdfdfff7fca70803010b0c01000003000101010101010101050d070001130d000d7be4 +ebffedfff0fefefefefefefefefefefefefefefefefefefefdfdfcfcfbfafbfcfdfeffff +fffefefefefefefefefefefefefefefefefffffefdfcfbfbfbfcfcfcfdfdfefefefefefe +fefefefefefff4efffe3231e000301000000000308010101010101010100040803000008 +11000931c4f7fff1fafefefefefefefefefefefefefefefefefefefefdfdfdfdfcfafbfb +fcfdfefffffefefefefefefefefefefefefefefefefffffefcfcfcfcfcfcfcfcfdfdfefe +fefefefefefefefefefef8fcf9bb01160206000003040000050101010101010101000000 +090e09000009000028c0eefff5fefefefefefefefefefefefefefefefefefefefefefdfd +fdfcfbfbfbfcfdfefffefefefefefefefefefefefefefefefefffefdfcfcfcfdfefcfcfc +fdfdfefefefefefefefefefefefefbffe37c13000f080302060702000001010101010101 +01040c0b00000006050a09040d13a1ffe6fefefefefefefefefefefefefefefefefefefe +fefefefefefdfcfbfbfbfcfdfefefefefefefefefefefefefefefefefefefdfcfbfcfdfe +fffcfcfcfdfdfefefefefefefefefefefefff5e8fc36000c000001000000040503010101 +01010101010000010702000008010004030025adfffefefefefefefefefefefefefefefe +fefefefefefefefefefefdfcfafafbfcfdfefefefefefefefefdfdfdfdfdfdfdfdf5ffea +f6fff6f6f6fdf5f4fbfbf4f7fff7fcfff0fbffebfcf7f3fff5090f00000302000f000201 +00023581aa84340300001100030a000704000003050b0032d1ffe0ffffe6fffff3ffecff +eefffffafef6fff1fafff3f7fdfffffdfcfbfcfdfefcfcfcfdfdfefefefdfdfdfdfdfdfd +fdf7fdfdffecfcfffff9fffff4eaeef8fefff9f3fbfaf8fefefff3ffe002050202000900 +090003000469c9fff8f5f6a93b04000d0200030f00090200000800085ceffcf7fff3f5ff +fcf3fff6fff2f9fcfefee6e8fff9f4ffeffffefdfcfbfcfdfdfcfcfcfdfdfefefefdfdfd +fdfdfdfdfdfafbfcfff3fef5f9f7e0a75312114d8ae0fffff3ffe9fff9fff7fbd4010004 +01000f00030203001ef5fdfffbfffffcec50000b02000a0f00070301000508000698fff2 +fffff3fffff4fafdfffffdfffbf9fffffff7ecfafffffefdfcfcfcfcfdfcfcfcfdfdfefe +fefefefdfdfdfdfcfcf6fff5f8ffebecffe5760d000000000570eff7fff2ffedfefafefa +e005020002000f000206000153e6f1fffffdf8fcffc83e0002030d030100030800000907 +002ce7fef8fffbfbfbfff9fffef7fbefffe7fff0e9fffff8fffefefdfdfcfcfcfcfcfcfc +fdfdfefefefefefefdfdfcfcfcf4fffef6ffe0ffeb300c000b0f00000a0d79f5fffef8f8 +fff4fff6f00a0300080308000608000989fffff8eaeefefffaff9f0700030d0006000207 +0500000a0000affff5fffdf4ffe8ffeaf0ddfffff7ffeafafff0f1fffffefefefefdfdfc +fcfcfcfcfdfdfefefefffffefdfdfcfbfbfeedfffffdf5f46a0404040403030303000fc5 +ffffe9fffaf6fff3f41b00000d0500000807000d9bfeeeeffffff9f0f5f9e94500000c00 +040101000704020c000268fcf6fefcf9f397674eb7ffd9efc12b3078cdfbfff1f9fdfefe +fefefdfcfbfcfcfcfdfdfefefefffffefdfdfcfbfbffebfbfdfff87d0000020000000500 +00070548eddcfff1fffbfcfaf6420002080200000601000885f0fdfff9f6feffffecff92 +0700090200000700060a050e010433f2f7fdfcf79101010512bbf1cd1a0d02001c99f6f8 +fffdfdfefffefdfcfbfcfcfcfdfdfefefefffffefdfdfcfbfbfafffaeff8d90a00080101 +090801040f03000d72fff2fcfefcf2fffb680209000000040300010167fffcfafaf9f7fa +fffcffc1110406020000140502000006000024f7f8f8f8e512100200024fff6d00000d1a +0021b4fbf1fcfdfefffefdfbfafcfcfcfdfdfefefefdfffffefbfafcfffffcfbe6fc2801 +0901010101010101010008030fbcf9fffafff0f1ffae0b0000000004070200132bfff5f5 +fdfafafefefef8f0100a09000b04000a00001b000d0b21f1f9fdfdb408000b020016fc05 +09000d06000c2cdefffefefefdfdfcfcfcfcfcfbfdfffffefcfdfffffefbfafcfff1ffed +ff9207030101010101010101010c04000e33ecfffdfbf7ffefd309000705000105020006 +15edf2fff0fffffbfffdfef9070009060e000901040e030d00004dfff1fbfca203000201 +0216eb0000020000000c078af3fefefefdfdfcfcfcfdfcfbfdfffffefcfefefffdfbfbfc +fef4fff6e8280005000101010101010101010f00030679fdf9fdffffebfc400100080000 +0405010002abfbfaf3fffdfffbf9f9fe0e04000200000c000205001913008afff6ffffb7 +04020001052fd400010801040408003af7fefefdfdfdfdfcfcfdfcfbfcfefffefdfefefe +fdfcfcfcfdffedff7f000d01000101010101010101001309001b0daefff7f7f3fffc980d +0006000004070402024cf9edfff5f3fff6fff0f1110d00010008000108000600001bcefa +f1f1ffd6130800010272bd000b000001000b0007d9fdfdfdfdfdfdfdfdfefcfbfcfefffe +fdfffefdfcfcfdfdfcfaf6df1a000f000001010101010101010b010f0000072ee6f7ecfa +ffe9d8340003010103040203060cc3fffff5f4fef8fff6df0208020d0802040e00091711 +0027f7fffbf0ffff2e0600010fc69c040a04000304140e00c3fdfdfdfdfdfdfdfdfefcfb +fbfdfffffefffefcfcfdfdfdfceeff88000402020101010101010101010d000212000605 +67fff2fff4f3fe7d0002030301000000030166ffebfffff0fff8ffd10004090200000a63 +cecb00000862f79e75bdeefea306000336f567050008020c09000021e5fcfcfdfdfdfdfe +fefffdfafafcfefffffffefbfbfdfefdfbf4e53208010008010101010101010101000200 +0f11001300b3f0ffecffffcd1e0002020000000000051ec0e9ffffeffff3f6af00080400 +1f52befcffab0d1003dd461a14005ff3e51b000567e9260b000000060a002884fefcfcfc +fdfdfefefefffdfafafcfefffffffefbfbfdfefdfbff9f01070006030001010101010101 +01010902000505000027dcfffaf8f2ff650000010103050200000458f7f6fff8fbffe583 +0008000a77e7fff1ec4e07004db60900060e0040fe35070689c700130103030c2c5cb6ff +fdfcfcfcfdfdfefefefffdfafafcfefffffafffcf5fefffefdff2503030b000b00000a00 +047f450000000800000d0d00000058ebfeebffeee60f0a00050400000302000f7cf3fce4 +feffe62c0016006af8f5fdf77e040702af730015000e0801995a0e13791c0b00080e7fe2 +ffffde893b3b4ac9fff7fffafdfffffefcfafafdfffafffbf9fffffbfcd213000006000d +00001214b0ecc719120304020a00000a01050396eafff4f1ff870a0010000407020e0900 +1b9afcfff0fbc01603000dc5ffffe499160f001cf656010b160a000e121500001f000100 +00a1c8c88732000014010932daefffecfffffffefcfafafdfffbfafbfefffcfbfc930300 +0002000e0005006ffefefd87090009000202020e00030008cdf8ffeefff1400000110011 +00000e0700004fb3f4bb000514000d30b7b74c0e02000f9af6840600000c0c0003030b0a +000c0508061b0e00000a08010600080bb3fffdfaf3fffffefcfafafdfffef6f9fffefcfe +fe5c00010100000c000f13dcfbecf9fa57000a02000c1500040c00052fefebffe6ffbf08 +03060900060c000a1e15080808081400010100190111000b04070ef1ffd117000700090e +0606080c0018000000000606010705000001010aa6fefafff0fefffffdfbfbfcfefff4f9 +fffcfdfffa2e00040300000900035ff8fffeffffdc35000901000a00110207000248fcea +f5fcff7f00050200080000070900000c03050001010d04000f0000000c0099ffedffb524 +0718040100010001060c00010003100c000000020e0d0015d8edfff3fefdfefffefcfbfc +fefff4fafff9ffffe80d000002000007000593fbfff8f5fbffb214000c00030003000701 +000081fdfffef5ed31000200011705050500060b000300000a00000c0800000e150ff6ef +fffef7dcb1511103170700050a000b1304000000000d080107001186fff9f6f5f7fdfeff +fefcfbfcfdfff4fdfff7fff8cf00000002000005031ac8fff4f2f4fff4ff7e1805040609 +0001060a000a08afedf7f9f1c2131d00020500000a060007130002021906001700000006 +00d1ffe3fffff6fffffeca1900060204000002070007000744959b4700356ee6f7ffecff +f3fcfefffffdfbfcfdfcf5fffff6fff1bb01070005000003030cf8faf5ffffe7fff6f653 +000f00060c0b001301000d01d6faf1fffa92001900060304050300000008000700000b01 +08040f007dfce8f7f7f9feedf2fbff840506000300170000080014030030a0eefff6fff7 +f9fff5fdf7fcfefffffdfbfcfcfef8f7fdfbf9fe8c000304020409060033fcfdf6fef8ff +fafce5e0340011000c000500000900001be0fbfeeff563000c0c001109000a0200010906 +0000000005000026e6f8effffcfafffff6fcffd90400021400013c050000000000020290 +fffff9f4f8fbf9fafffcfdfefdfbfbfdfffcf9fafcfcfbfb8a00010100010607034df1ff +fdfcfafff8effff1b71c010800030a01000909000333d6f1fff8e4400000080000000008 +1500060300080d08060602caeffffcf8f7f5ffd5effff0d92b0006000c1ec46a03060016 +0b100046f6f4f7fdfffffffcfbfdfefffefcfbfdfffafafdfbfdfef88a00030300000305 +055eedfffffefdfffdfcfafbff8e00080a00050200030000070a4deefcf0ffea1210001b +08002a130000070000060a0100119dffecf8fffbfdf1f6fffff0ffad0308000c0050ffd3 +2a1400010004065af5fbfffef8f2f1f1f0fefffffffdfcfdfef9f9fff9fefff593040606 +04010102044af5f7f7fff7fdffffecfef7ec62060e0a0000060600000c02005de4fff8e5 +d4091a000010000000050600000200000a50fae2fef5fffffbffe6e3f6fdc82400090016 +006afcfb9101000d1b0017b7fffafefef8f9fffffffffffffffefcfcfdfaf8fff8fffff5 +a8020304040301010222ffefeaffeef9ffecfffff4f6ea41000f03000609080400030000 +59e6fde9fdae200a00001104150200000708000f38ffe6fdfffaf1fdfff7feffff7e1400 +00000d000f75fbf8f5501800020a69edf8f4fafefffffff8f0fdfffffffefcfcfdfdf5ff +f7fffff8c602000001030201020df8f9f0fff3f7fff9fffdfaf6ffbb3400010e0500050e +020e0a00172dd4ffe4ffc44504040203000200000908001341ffdafff4fffffefdf2e68a +2700000015000e0000a5fdf5ffeb7b3145a0fffffffffffdfdfbfafefffafcfffffefcfc +fdfff2fff7fffefce4100500000202010305c6fffcfdfff3fffff0f1fcffe6ffb218090a +0700000b0b000022000b1ba9f5fbfbf26c0010160e030501010300061b3782899fbfc7a7 +964f0b16030008000002060400d4f9f8f2ffefeaf5eee7b1beb2a8a4a9adb8d9fbf6f9fd +fefdfcfcfdfff0fef8fffdfff62210010003020102008cfefeebffeafdf4feedfffbfbfd +fa7f1f0008110400000e0f00100200064f95b5b568150000030008010004090200000302 +080d070202000700020f0020000007002dd8fff5ffe2fdffee5b05060109010206000021 +4cf4f8fbfdfdfcfcfdf9fafcfdfefdfcfb7000080b040000000723e1ffffffeffefffff6 +f3fcfcfefcff6c000d000317010101010101010101010101010101010101010101010101 +0103030303030303030004000101071300000a008afee5fffafffdf73d0808000f04060d +000408001b77ebfff4fffcfafaf9fafcfdfefdfcfba600100001080003001497effff7f4 +ffe3f7fcfdfffefaf3fffd570414000c0501010101010101010101010101010101010101 +01010101010202020202020202030006100500040b00002ce4fffff5f7f1fcff3e01000d +000014001604041400a0f5fff6fffdfcf7f9fafcfdfefdfcfbe12c00000609000705032b +f6e9fff5fdfffffffbf7fbfcfcf5ffdf32000d0602010101010101010101010101010101 +01010101010101010101010101010101011a0000000508000400259ff4fff0fffffef4eb +720d00160500010d001e00013cd7fefff9fcfcfef6f9fafcfdfefdfcfbfd88000e090000 +0712000c90fff0ffeff0eefffffffef7fbf3fff8e92c0c00000101010101010101010101 +010101010101010101010101010000000000000000000515030003000d41c4ffffe8ffec +f1f4fffbd51800000004000113000522c9fbfefefdf8f9fef8f9fafcfdfefdfcfbfdd739 +0000000503000b001cd6f7fff6ffecf9faf0f5f9ffffd8ffffdd12000c01010101010101 +01010101010101010101010101010101010000000000000000110b00042e618cb7fcf2fe +f6c527063781dbfff22a11110a13000704001dcefbfff7fefff6f6fbfdf9fafcfdfefdfc +fbfaf8ad0500040700000e000a45e5fff8e1f2ffbc3f2868c4ffece7fffec01d00010101 +010101010101010101010101010101010101010101000000000000000001000277ecfffa +fce9ffebc922160000002f676310000700030f000018b3fff6fff1fefff7f7f6fff9fafc +fdfefdfcfbfafff2690a0703000d0013010564e8eefff9f78812000110adfff0ffffffc0 +110101010101010101010101010101010101010101010101010101010101010101000815 +a0fff5f7fce7f8fb5b00011a0b0d000c0912000002000210099afff5f4fef2fffdfcfcf1 +fff9fafcfdfefdfcfbfcfff6e62601000100190003000168f6fdfffc7700050602009eff +f9f0fffa9c01010101010101010101010101010101010101010101010101010101010101 +01030d0078eeecfffaffede70d06070000000a07000418010003010076eefff8fffff6ff +faffffeefffffafafefffdfdfef9fff0ffd644000d04010204020205078be3ff85040110 +00041782fae6fff7fbad16000e04000706020000010000030d0101010101010101010101 +01010101010907000b6ae0fff2fff3c10e010800050205000600080103000143fce8f9ff +fdfefefffdfbfbfcfefffafafefffdfdfeffebfffaf4c742000a00091806030f060a4f94 +691300000300000b7df3f7f5ffe5a2100000071200050304060602000001010101010101 +01010101010101010100050d091247a2eaeafe60000006110412050d04090600000d03d2 +e7fefffff8fefefffdfbfbfcfefffafafefffdfdfef8fff0fffef4d757060e0000070b00 +0004000c0e0608050b091e000f9cf5f8f2fff7ab000211000d0000000104060200010101 +010101010101010101010101010200000801000c2f354200010007000000000b000d0200 +070089fdebfff7f6fcfefefffdfbfbfcfefffafafefffdfdfefbebfffee9ffffe7681100 +150100040003000a0100020005000710002efffdeafaffefc114000f0400000000000405 +0001010101010101010101010101010101030403010000000003000a0e060e0908040e03 +010600000b2efee7fffcecfefffefefffdfbfbfcfefffafafefffdfdfefff0fdfdfcfdf5 +fff3ac3d00070b030c00041106010300041a00121e43f9fffff7ebffffc11e0000020606 +02000000000101010101010101010101010101010100060500000b1310000f0000000008 +00726b060e00000007afedffffecf6fffdfefefffdfbfbfcfefffafafefffdfdfef3ffe5 +fafff0faf2ffffee931900090015010000090a0420617aa6d5fdfff6d5f7fff3f8ffd51d +070000000405010000010101010101010101010101010101010100000409070000001404 +0e120a006becac050d0001032cf9ebfffaf7fff8fbfefefffdfbfbfcfefffafafefffdfd +fefcf1ffeef6ffe9fffff1f0ffe883270a000412120d000029cbf6f5fcfff2fbfdf6f0f6 +fefdf8e73e1703000006010003010101010101010101010101010101010004090800000a +1f11000a05000232e5ff9100020001128df8ffebf7ffffebfefefefffdfbfbfcfefffafa +fefffdfdfefffef5fffff4fff7f9fdfff7f6ffe3a00c060000060a000e040f2452466860 +8ad6e1ffffeffffaee491f00000600000401010101010101010101010101010101000403 +0001070400060005030011cffeec5a030003001ee5fee9fff4fbfffffffefefffdfbfbfc +fefffcf9fafdfffffefefefefefefefefef5fcfffcfafaf5fd9a0f000118000103120000 +00000c0600002992fafff9fff0ff830e0005010100030007110b06050001010101010101 +01020202010100000001001b000193f7fef11b0a02000180f9fefefefefefefefefffdfa +fafcfefffffffcfafafdfffffefefefefefefefefefcfcf6fee2fffbec410c0000020600 +0500000b0600010b1304000667fff9dbfffff0ac35040c000c0b00000000020a04010101 +010101010102020201010000000c000d054ef6ffefc5150200090ab0fefefefefefefefe +fefffdfafafcfefffffffdfbfafcfefffefefefefefefefefefdf2f3fff5ed9012000303 +00000a0006090400000000000001180c09cfffe6f9fcfffde86f00010001061313080809 +000101010101010101020201010101000000070229def3fff3890e00021025e5fefefefe +fefefefefefffdfafafcfefffffffdfcfbfcfdfefffefefefefefefefef9f2ffcd8b0d00 +00000004040a02010400030001080104040902070098fffffff2f7fff3f0b42d08120200 +040000020101010101010101010101010101010101020a0ab6fcf1efff540800070856ff +fafefefefefefefefefefcfbfbfdfffffefffefdfcfbfcfdfffefefefefefefefefbffa9 +05000018050d02000e0000050000100c24341d0b00000011127bf7fbf1fcfff0fefcfdeb +7a0c0004150d00010a01010101010101010101010101010101130080ffefffebfd2e0003 +0a0095fff9fefefefefefefefefefcfbfcfefffefdfefffefcfafbfdfffefefefefefefe +fefee947000705001b000e0014000901000000006be1eab169171c00007dfffffbfffaff +f3ffffdfffd27119000002040001010101010101010000010101010202015df7edfff1fa +f11400030800cafdfcfefefefefefefefefdfcfbfcfefffefdfefffffdfafafcfffefefe +fefefefefefdf24a02021100000008000f4b1600001b2c0000162777b5d7a55f64d6fbf2 +fffff9ecfcfdfdffd7fff3cd8d3c0b02030101010101010101000000010102020234f2fc +f7fff2f4ef0800010211e3fffbfefefefefefefefefdfcfbfdfffffefcfefffffdfaf9fc +fffefefefefefefefefbf26a05000012030d000204b11d0204a98518000e00030343abff +f4ffe4fbf7fcfffffcfaf8f5fff7fbfffff0ce883e010101010101010100000001010202 +02c7fefffff7ffffdd0706000023e7fff7fefefefefefefefefcfcfbfdfffffefcfefefe +fdfcfbfaf9fffffefdfdfdfefffcffa6031b00000522000b06d31b0900bcf94a03000c05 +00000961ecfff2fffffefefefefefefefefef7fdfffffff5f8c53300090a0b0200080000 +0009000a8ffafbfdfefefdfbfa0f00000069f7ffeefefefefefefefffffbfcfdfefefefe +fdfefefefdfcfbfaf9fefefefefefefefeffeefd4300010a0000100b0deb0a0307a4f2d5 +0b0c0004050b00294eeefef8f3fefefefefefefefef6fcfff3f0fcfffff2e03900030017 +080118000d0e0067f1fafbfdfefefdfbfa64070047b9fff2fffefefefffefefdfdfbfcfd +fefefefefdfdfefefefdfcfafafcfdfefffffefdfcfefff9ca0e01122300190049e50706 +0652fdff6b02000700070000027bffecfffefefefefefefefefffbf7fffffdeee4fffe3c +0823000b000b000800003ae2fffbfcfdfefefdfcfbe89d98c3f9ffebf9fefefffffffdfc +fafbfcfdfefefefefdfdfefefefdfcfbfbfafcfefffffffdfbfbfafcffb62900000f0a0f +c3b1090a0009bff3d712080300040200110accf6fffdfdfdfdfdfdfdfdf6fef8f8f9fcff +ffe37408000300050c0800020104c3ffeefcfcfdfefefdfcfcfff8fffbfcfff6fafeffff +fffffdfaf9fbfcfdfefefefefdfdfefefefefdfcfcf9fbfdfffffffdfcfffeedfff4dd49 +27000958fd70000e0c043bfffa710700060b0011010068ffeefdfdfdfdfdfdfdfdf6fff4 +f1fcfce09f3c000c0a000f000000140d0596fdf7fffdfdfdfefefdfdfdf7f1f9f9fbfdf8 +fffefefffffefcfaf9fbfcfdfefefefefdfdfdfefefefefdfdf9fafcfefefefdfdfff4f5 +defffffbc6b4c5f5ff650000000a01d0ffd4000a00020512000c1ce7fbfcfcfcfcfcfcfc +fcfffaeafff392430406050000000005160a000056fff3f9fffefefefefefefefeffffff +fbfafcfcfcfefefdfdfcfbfbfbfbfcfdfefefefefdfdfdfefffffefefdfafafbfcfdfdfe +fee6ffe3ffeee6fff4f5fefae056060602020d4efdfc421000001403010605befffcfcfc +fcfcfcfcfcf4f3f1ffa407000f000d000f22020007070324e5e9fff4f5fefefefdfdfefe +feeffffff8f4fbfffffffdfcfafafbfdfefbfcfdfefefefefdfdfdfefffffffefefafafa +fbfcfdfefff4fff9f4f7fff5fffcfff3ff58090302040604dcffad000b090200000805b2 +f5fcfcfcfcfcfcfcfcf5fff7ea8c11010403080b0000040007001ecaffffedfffefffefe +fdfdfefefffff6effffff8fafdfffdfaf9f9fbfefffbfcfdfefefefefdfdfdfdfdfdfdfd +fdfcfbfafafbfdfefffefdfdfdfdfefffffffbfef0870f000802000057fefd2a05001b05 +0d0003c1f4ebffe682432d3671bce4f1ffd209000c01010101010101013ae7fff3fff4f9 +eefdfdfefffffffefefefefefefefefefefffefbf8f8fafdfffefefefefefefefefdfdfd +fdfdfdfdfdfcfbfbfafafcfdfefefefdfdfdfefefffafefff7b2140d1208050413ceebbe +00050018170200caffff9f440d0003030f0122366d89200b00010101010101010146e8ff +f5ffebebfffcfdfefffffffefefefefefefefefefefffdfbf9f9fbfefffefefefefefefe +fefdfdfdfdfdfdfdfdfdfcfbfafafafbfbfefefefefdfdfdfdf5f9ffffde060000000007 +006bfaf843120c02000122e6f5ec49000000010300000500011809090c01010101010101 +01074e6796f3ffe8fcfcfcfdfefffffefefefefefefefdfdfdfcfbfbfbfcfdfefffefefe +fefefefefefdfdfdfdfdfdfdfdfdfdfcfbfaf9f9f9fefefefefefdfcfcfff5faffea2406 +160309000117cafbdc08060c010a78f1ff7f1301190a02080c08170c020004000a010101 +010101010102001300078aedfffbfbfdfefefffefefefefefdfdfdfdfcfafafcfdfeffff +fffefefefefefefefefdfdfdfdfdfdfdfdfefdfdfcfbfaf8f8fcfdfdfefefdfcfbfef4ff +fff67b1100041603090356faf0c812100623d5ffec2b0000010000000100000009031900 +030101010101010101000b060017031ec8fafafcfdfefefefefefefefdfdfcfcfbf9fafc +fefffffffffefefefefefefefefdfdfdfdfdfdfdfdfefefefefdfbfaf9f9fbfcfefefefd +fcf2fcfffafce15b0d040012050064ffeefbe9c09eecfff9df0b0a0800040b0002110700 +04000c000801010101010101010b000a030208000bf9fafbfdfefefffefefefdfdfcfbfb +fbfbfcfdfefffffffffefefefefefefefefdfdfdfdfdfdfdfdfefefffffefdfbfaf7f9fb +fefffffefdfffff7eaf1ffe6bb3f06100807a9e8fffffaf1fff7f2fc5b01030e07060900 +070003020c0000010101010101010101010600000509000025f8f9fbfcfefefffffefefd +fdfcfbfafafefefefefefefefefefefefefefefefefdfdfdfdfdfdfdfdfefefffffffefd +fcf5f8fbfefffffefef7fffafff4f0ffffffe2a9bee0fcedfffdf2fffaf8e64009190003 +0700000004090900030004130301010101010101010013010005044cd2f8f9fafcfdfeff +fffefefdfcfbfbfaf9fffffefdfdfdfefefefefefefefefefefefefefefefefefefefefe +fefefefefefcfbfaf9f9fbfcfdfcfefffffffffdfcfefefefefefefefefffbffffeb2704 +06000000000000020400000205070707060a09080807060505060005286db9f0ffffffff +fefefdfdfdfffefbf8f8fafdfffefefefefefefefefefefefefefefefefefefefefefefe +fefefefefefefefefefdfcfbfafafafbfcfefefefefefefefefefefefefefefefef4fdff +f6cd1d00010a080b1835608ca8babfc7d1dae1e6e8e3e2e2e1e0dfdedecfd4ddeafaffff +f5fdfefefffffefefdfffdfbf9f9fbfefffefefefefefefefefefefefefefefefefefefe +fefefefefefefefefefefefefefefdfcfbfafafafbfefefdfdfdfdfefffefefefefefefe +fef9fffdfff5927b779db1d1edfdfffcf7fdfefffffffefcfbfffffefdfdfcfcfbffffff +f7f4f8fbfafcfdfefffffffdfcfcfbfbfbfcfdfefffefefefefefefefefefefefefefefe +fefefefefefefefefefefefefefefefefefffefdfcfbfafaf9fcfcfdfefefefefdfefefe +fefefefefef4fceefefff8f5f2fffffffdfbfbfefffdfdfefefdfcfbfafdfdfcfcfbfbfa +faf6fdfffefcfffffffdfefffffffdfbfafafafcfdfefffffffefefefefefefefefefefe +fefefefefefefefefefefefefefefefefefefefefefffefefdfcfbfaf9f9fafdfffffffd +fbfefefefefefefefef4fff8f9f4f7fefff0f6fdfffffefbf9fafbfdfeffffffffffffff +fffffffffff4fcfffffffff8f0fffffffffdfbf9f8f9fafcfefffffffffefefefefefefe +fefefefefefefefefefefefefefefefefefefefefefefefefefdfefefefdfcfbfaf8fafc +fefffefdfcfefefefefefefefefffffdfbf7fbfaf5fefffffffefefffffffffffffefcfa +f9fcfcfcfcfcfcfbfbfffffbf7f9fffffffffffffdfbfaf9f9fbfcfdfefffffffffefefe +fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefcfdfefefefdfc +fbfbfbfafafbfdfffffefefefefefefefefcedf2f5fffffff5f6fafffffffdfbfaf8f8f9 +fafcfefffffffffffffffffffff5fbfffdfafaf6f1fffefcfafafbfcfdfefefefefefefe +fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefbfcfd +fffffefdfcfffcf8f6f7fbfffffefefefefefefefefff3fffdfaeffbfffdfdfcfaf9f9fc +fffffffffefdfdfdfdfdfdfdfefefefefefafffffcf8fbfffffdfbf9f8f9fcfffffffffe +fdfdfdfefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe +fefefefefefefefefefcfcfbfaf9f8f8f7fefefefdfdfdfdfcfffffffefefdfdfdf8fafb +fdfefdfcfcfdfdfdfdfdfcfcfcfefefefffffffffffffffffefefdfdfdf7f8f8f9fafbfc +fcfefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe +fefefefefefefefefefefefefefdfdfcfbfaf9f9f8f7f8f9fbfcfefffffefefdfdfdfdfc +fcfdfefffffffffefdfefffffffffffffffdfdfdfdfefefefefffffefdfcfaf9f9fafafb +fbfcfdfefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe +fefefefefefefefefefefefefefefefefefefefdfdfcfbfbfaf5f6f7f9fbfcfdfefdfdfd +fefefefefefcfcfdfdfdfcfbfbfbfbfcfcfdfefefefefefefdfdfdfdfdfdfcfcfbfafaf9 +f9fcfdfdfefefffffffefefefefefefefefefefefefefefefefefefefefefefefefefefe +fefefefefefefefefefefefefefefefefefefefefefffffefefdfdfdfcfcfcfbfafaf9f8 +f8fdfefefffffffffffafbfbfcfcfcfcfcfbfbfbfcfcfcfcfcfffffffefefdfdfcf8f8f9 +fafcfdfefefdfdfefefffffffffefefefefefefefefefefefefefefefefefefefefefefe +fefefefefefefefefefefefefefefefefefefefefefefefefefffffffffefefefeffffff +fdfbf9f8f7fcfcfcfdfefefffffdfdfefefffffffffffffffffffefefdfefdfdfcfcfbfb +faf9fafbfcfefffffffdfdfdfefefefefefefefefefefefefefefefefefefefefefefefe +fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefffffffffffffe +fefffffefefdfcfcfcf9fafafafafafbfbfbfafafbfbfdfefffcfcfcfbfbfbfafafafafa +faf9f9f9f9fffffffefefefefefdfdfdfdfdfdfdfdfefefefefefefefefefefefefefefe +fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe +fefefefefefdfdfdfdfefefefffbfbfbfbfbfafafaf8f7f6f4f4f4f5f5f2f3f3f4f5f6f7 +f7fbfbfbfbfbfcfcfcfffffffffefefdfdfdfdfdfdfdfdfdfdfefefefefefefefefefefe +fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe +fefefefefefefefefefdfdfdfdfdfdfdfdfffffffefefdfdfdfcfbf8f5f3f2f2f2eff0f1 +f4f6f8fafbfefefefffffffffffcfdfdfefffffffffefefefefefefefefefefefefefefe +fefefefefefefefefefefefefefefefefe +end +%%PageTrailer +%%Trailer +%%EOF -- cgit v1.2.3