diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/mycv/mycv.cls')
-rw-r--r-- | Master/texmf-dist/tex/latex/mycv/mycv.cls | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/mycv/mycv.cls b/Master/texmf-dist/tex/latex/mycv/mycv.cls new file mode 100644 index 00000000000..0df161ff8df --- /dev/null +++ b/Master/texmf-dist/tex/latex/mycv/mycv.cls @@ -0,0 +1,101 @@ +% ------------------------------------------------------- +% start of file 'mycv.cls'. +% Copyright 2012 Ghersi Andrea (ghanhawk@gmail.com). +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License version +% 1.3c, available at 'http://www.latex-project.org/lppl'. +% ------------------------------------------------------- + +% =============================================================================== +% ------------------------------------------------------------------------- % +% Why a class file? (from document: LaTeX 2ε for class and package writers) % +% ------------------------------------------------------------------------- % +% % +% The first thing to do when you want to put some new LaTEX commands in a file % +% is to decide whether it should be a document class or a package. The rule of % +% thumb is: % +% % +% If the commands could be used with any document class, then make them a % +% package; if not, then make them a class. % +% =============================================================================== + +\NeedsTeXFormat{LaTeX2e} +\def\myversionstr{v1.5.2} +\ProvidesClass{mycv}[2012/04/13 \myversionstr My Curriculum Vitae Class] + +% ======== +% Packages +% ======== + +\RequirePackage{kvoptions} % see the comment above +\RequirePackage{etextools} % for lists and other useful tools +\RequirePackage{ifthen} % for <\ifthenelse> command +\RequirePackage{pifont} % 'ding' style for item of itemize env +\RequirePackage{xstring} % string utilities + +% ============= +% Class Options +% ============= + +\DeclareBoolOption{withDec} + +\DeclareDefaultOption{% + \PassOptionsToClass{\CurrentOption}{article}} + +\DeclareStringOption[english]{language} +\DeclareStringOption[Contents]{cntdir} +\DeclareStringOption[mycv_default_style]{style} +\DeclareStringOption[]{mdlname} +\ProcessKeyvalOptions* + +% ----------------------------------------------------------- +% The value of an option declared with <\DeclareStringOption> +% is stored in the macro \<class (or package) name>@<option> +% ----------------------------------------------------------- + +\PassOptionsToPackage{\mycv@language}{babel} +\RequirePackage{babel} + +\LoadClass{article} + +\def\cvcontentsdir{\mycv@cntdir} + +% =============== +% File inclusions +% =============== + +\input{mycv_base} +\input{mycv_misc} +\ifthenelse{\equal{\mycv@style}{none}}% + {\relax}% file style is not wanted + {\input{\mycv@style}} + +% ---------------------- +% use decorations or not +% ---------------------- +\ifthenelse{\boolean{mycv@withDec}}% + {\input{mycv_dec}}% + {\relax} + +\DeclareRobustCommand{\ifmodel}[1]{% + \begingroup + \def\@mdlname{#1} + \ifx\mycv@mdlname\@mdlname + \endgroup + \expandafter\@firstoftwo + \else + \endgroup + \expandafter\@secondoftwo + \fi +} + +% ----------------------------------------------- +% <\ifoption{optionname}{then block}{else block}> +% ----------------------------------------------- + +\DeclareRobustCommand{\ifoption}[1]{% + \begingroup + \ifthenelse{\boolean{mycv@#1}} + {\endgroup\expandafter\@firstoftwo} + {\endgroup\expandafter\@secondoftwo}% +}
\ No newline at end of file |