summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/mycv/mycv.cls
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/mycv/mycv.cls')
-rw-r--r--Master/texmf-dist/tex/latex/mycv/mycv.cls101
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