summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/mycv/Doc
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2012-05-21 23:58:58 +0000
committerKarl Berry <karl@freefriends.org>2012-05-21 23:58:58 +0000
commita7b8fe1003c960fbd27086146bb341a6ddae788a (patch)
treeed903293e66d4470669962e1d77abfb05dc561e2 /Master/texmf-dist/doc/latex/mycv/Doc
parenteec1bcc6efce237f93a0615bee7089ba973beedc (diff)
mycv (21may12)
git-svn-id: svn://tug.org/texlive/trunk@26558 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/mycv/Doc')
-rw-r--r--Master/texmf-dist/doc/latex/mycv/Doc/Chapters/Fundamentals.tex180
-rw-r--r--Master/texmf-dist/doc/latex/mycv/Doc/Chapters/Usage.tex525
-rw-r--r--Master/texmf-dist/doc/latex/mycv/Doc/FrontBackMatter/Contents.tex8
-rw-r--r--Master/texmf-dist/doc/latex/mycv/Doc/FrontBackMatter/Titlepage+Abstract.tex63
-rw-r--r--Master/texmf-dist/doc/latex/mycv/Doc/mycv-decs.def110
-rw-r--r--Master/texmf-dist/doc/latex/mycv/Doc/mycv-macros.sty301
-rw-r--r--Master/texmf-dist/doc/latex/mycv/Doc/mycv.tex1056
7 files changed, 1004 insertions, 1239 deletions
diff --git a/Master/texmf-dist/doc/latex/mycv/Doc/Chapters/Fundamentals.tex b/Master/texmf-dist/doc/latex/mycv/Doc/Chapters/Fundamentals.tex
deleted file mode 100644
index 13e080268ea..00000000000
--- a/Master/texmf-dist/doc/latex/mycv/Doc/Chapters/Fundamentals.tex
+++ /dev/null
@@ -1,180 +0,0 @@
-%*********************************************************
-\chapter{Fundamentals}
-\quotes[1973]{
- ``Computer programming is an art, because it applies
- accumulated knowledge to the world, because it
- requires skill and ingenuity, and especially because
- it produces objects of beauty''
-}{Knuth}
-%*********************************************************
-\ifparchment\begin{parchment}\fi
-\section{Introduction}
-
-The main goal of this class (\classname) is to give support for creating \textit{curriculum
-vit\ae{}} (\CV) with different layouts, allowing easy switching among them.
-%That is primarily the goal this class focus on.
-The class also provides basic support for using the \textit{TikZ} decorations and defines a bunch
-of commands for managing the contents of a \CV, though that is not its primary goal.
-%\classname, in fact, mainly focus on switching from different curriculum layouts,
-%rather than handling the curriculum contents.
-On \keyword{CTAN} archives, there are available various \CV packages more
-\textit{contents-oriented}, as it were, and they may be used together with this class.
-%providing missing contents functionality.
-Before starting to describe the class more in details, it goes without saying that any advice or
-constructive criticism is greatly appreciated.
-
-\section{Class files}
-The class \classname is composed by six files. A short brief of each one is given here:
-\squishlist
- \item \ctext{mycv.cls}
- \begin{myindent}
- it is the main file and, basically, handles the class options~\myref{sec:class-options} as
- well as the inclusion of all other files, except for \textit{mycv\_version.def};
- \end{myindent}
- \item \ctext{mycv\_base.def}
- \begin{myindent}
- it contains all the commands and definitions dealing with the layout components of a
- \CV~\myref{sec:layout-components}: it is the core file;
- \end{myindent}
- \item \ctext{mycv\_style.sty}
- \begin{myindent}
- it contains the default style commands~\myref{sub:style-commands} provided by the class: if
- the default style is not used, %~\myref{sec:class-options}
- this file will not be included by \textit{mycv.cls};
- \end{myindent}
- \item \ctext{mycv\_dec.sty}
- \begin{myindent}
- it contains the decoration commands~\myref{sub:decoration-commands} provided by the class: if
- decorations are not enabled%
- %~\myref{sec:class-options}
- , this file will not be included by \textit{mycv.cls};
- \end{myindent}
- \item \ctext{mycv\_misc.def}\hspace{5pt}and\hspace{5pt}\ctext{mycv\_version.def}
- \begin{myindent}
- they respectively contain some miscellaneous commands and the version string.
- \end{myindent}
-\squishend
-
-\section {Layout components}
-\label{sec:layout-components}
-
-This class considers a \textit{curriculum vit\ae{}} as logically divided into three main components:
-\textit{header}, \textit{body} and \textit{footer}.
-To each of these ones, a list, that basically contains some sub-components, is associated; files
-with the \CV contents are also considered sub-components.
-For these reasons, we can actually say that \classname uses a sort of \textit{list-driven} approach.
-
-\subsection{Main components}
-
-\classname recognizes the following three lists that, for all intends and purposes, are a concrete
-representation of the main logical components:
-
-\bigskip
-\begin{myindent}
-\textbf{headerlayoutlist},\hspace{5pt}\textbf{bodylayoutlist},\hspace{5pt}\textbf{footerlayoutlist}.
-\end{myindent}
-
-\bigskip
-It is mandatory, for the correct behavior of the class, to not change the above list's names. In
-the case a component is not required, the relative list may be omitted: for example, if a \CV does
-not have a footer component, the list \textit{footerlayoutlist} is not strictly necessary.\\
-What follows is an example of a list definition:\codeskip
-\begin{latexcode}[numbers=none]
-\def\headerlayoutlist{sub-component1,sub-component2,[...]}
-\end{latexcode}
-
-\subsection{Sub-components}
-
-We previously said that \classname is based on three main components (\textit{header},
-\textit{body} and \textit{footer}) and that each of these ones are represented by a list. A list
-(therefore a main component), in turn, may have one or more sub-component, separated by
-a comma, which are identified as follows:
-
-\squishlist[0pt]
- \item \texttt{\ctext{Main}[Header|Body|Footer]\ctext{PageBegin}};
- \item \texttt{\ctext{Main}[Header|Body|Footer]\ctext{PageEnd}};
- \item \texttt{\ctext[blue]{Sub}[Header|Body|Footer]\ctext[blue]{PageBegin}};
- \item \texttt{\ctext[blue]{Sub}[Header|Body|Footer]\ctext[blue]{PageEnd}};
- \item \texttt{\ctext[orange]{filename}} with the (partial) \CV contents.
-\squishend\sep
-
-Both ``\verb|Main[...]PageBegin|'' and ``\verb|Sub[...]PageBegin|'' are \textit{minipages}; the
-difference is that the former have a default width of $100\%$ of the \textit{textwidth}
-macro, while that value is $44\text{-}45\%$ for the latter (it depends on the components type).
-% (for these notes does not really matter which is which).
-
-A \textit{filename} sub-component may either be the name of a file or a macro with it:
-depending on the case, the syntax slightly changes.%~\myreftwo{subsub:component-options}.
-
-\subsubsection{Sub-components options}
-\label{subsub:component-options}
-
-Each sub-component, \textit{filename} included, may have associated options, with colons
-as separators, so that the syntax is something like:\codeskip
-\begin{latexcode}[numbers=none]
- $sub-component$:option1:option2:[...]
-\end{latexcode}
-
-If truth be told, each option already has its own separator, so colons are not strictly necessary
-and, as a separator, any other symbol may be used. If wanted, it is also possible to not have any
-separator at all, but this is not recommended if only for a matter of clarity.
-
-\medskip % in modo che si inizi nella pagina successiva
-Options for a sub-component are of different types, as listed below:
-
-\def\tmpcolor{gray}
-\squishlist
- \item <\optname{[pre\textbar post]cmd}\verb|:command1:command2:[...]|>\optdsep
- a sequence of commands is executed \textit{before}/\textit{after} the
- beginning or ending of a sub-component (\textit{filename} included).
- A command may have a sequence of arguments, separated by ``='',
- each of which can either be \textit{optional} or \textit{mandatory}.
- In total, the class recognizes four types of arguments:
- %, as it is possible to have $3$ different kinds of optional ones:
- \squishlist[0pt]
- \item \ctext[blue]{arg} (mandatory argument equivalent to \{arg\});
- \item \ctext[blue]{@arg} (optional argument equivalent to [arg]);
- \item \ctext[blue]{!arg} (optional argument equivalent to <arg>);
- \item \ctext[blue]{*} (optional argument equivalent to *).
- \squishend
- \item /\optname{m[l\textbar r]}\verb|<value>|/\hfill\opthsep{\small($1$)}\optvsep
- /\optname{endm[l\textbar r]}/\hfill\opthsep{\small($2$)}\optdsep
- changes the \textit{left}/\textit{right} margin of a text portion of a document, between
- option {\small($1$)} and option {\small($2$)}; in a typical usage, these options are
- associated with different sub-components, such as \verb|*PageBegin| and \verb|*PageEnd|.
- Each time the option {\small($1$)} is used, the option {\small($2$)} is also required
- for ending the margin modification, except for the \textit{filename}
- sub-component that automatically does that. Example (it moves the left margin to the
- right of $0.2$in):
- \begin{myindent}
- \texttt{%
- \ctext[\tmpcolor]{%
- % \% moves the left margin to the right of $0.2$in\\
- SubBodyPageBegin:</ml0.2in/>\\
- \omissis\\
- SubBodyPageEnd:</endml>}%
- }.
- \end{myindent}
- \item \verb|<width-value>|\optdsep
- sets the width of a sub-component in terms of \textit{textwidth} percentage.
- This option only exists for ``\verb|*PageBegin|`` sub-components. Example:
- \ctext[\tmpcolor]{\texttt{SubBodyPageBegin:<0.48>}}.
- \item /\optname{pagesize}\verb|<value>|/\optdsep
- sets the width of a sub-component, as the option above, but in terms of absolute reference
- (instead of \textit{textwidth} percentage). Also this option only exists for
- ``\verb|*PageBegin|`` sub-components. Example:
- \ctext[\tmpcolor]{\texttt{SubBodyPageBegin:/pagesize5.5in/}}.
- \item /\optname{pagebreak}/\optdsep
- permits to break two contiguous sub-components, aligning them one above the other, instead
- of side by side (that is the default behavior). This option only exists for
- ``\verb|*PageEnd|'' sub-components.
- Example: \ctext[\tmpcolor]{\texttt{SubBodyPageEnd:/pagebreak/}}.
- \item \optname{*}macroname\optvsep
- filename\optname{@}\optdsep
- \argname{macroname} is a macro expanding to the name of a file (with the \CV contents),
- while \argname{filename} is directly the name itself (the only \textit{non-alphanumeric}
- characters allowed there are ``\_'' and ``-'').
- Example: \ctext[\tmpcolor]{\texttt{*headerfile}}, where the macro \textit{headerfile}
- is somewhere defined.
-\squishend
-\ifparchment\end{parchment}\fi \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/mycv/Doc/Chapters/Usage.tex b/Master/texmf-dist/doc/latex/mycv/Doc/Chapters/Usage.tex
deleted file mode 100644
index 027ae60948b..00000000000
--- a/Master/texmf-dist/doc/latex/mycv/Doc/Chapters/Usage.tex
+++ /dev/null
@@ -1,525 +0,0 @@
-% *****************************************************************************
-\chapter{Usage}
-\quotes{%
- “There are two ways to write error-free programs; only the third one works”%
-}{Alan J. Perlis}
-% *****************************************************************************
-\ifparchment\begin{parchment}\fi
-\section{Requirements}
-When \textit{decorations} are not enabled and the \textit{default style} is not used, \classname
-has %, in addiction to \ctLaTeXe{} obviously,
-the following requirements:\codeskip
-\begin{latexcode}[numbers=none]
-\RequirePackage{kvoptions} % for class options with key-value format
-\RequirePackage{etextools} % for lists and other useful tools
-\RequirePackage{ifthen} % for the \ifthenelse command
-\RequirePackage{xstring} % for string utilities
-\RequirePackage{svn-prov} % for file info extracted from SVN
-\RequirePackage{hyperref} % for hypertext links and other stuff
-\end{latexcode}
-
-If the default style is used, by means of the class option
-``\textit{style}''~\myref{sec:class-options}, this class requires (in addiction to
-\textit{hyperref} and \textit{svn-prov}):\codeskip
-\begin{latexcode}[numbers=none]
-\RequirePackage{xparse} % for commands with multiple default arguments
-\RequirePackage{pifont} % for the 'ding' style (itemize environment)
-\RequirePackage{titlesec} % for title format and spacing
-\RequirePackage{fancyhdr} % for custom headers and footers
-\RequirePackage{xcolor} % for colors
-\RequirePackage{calligra} % for the calligra font
-\RequirePackage{times} % for the times font
-\RequirePackage{marvosym} % symbols - phone
-\RequirePackage{amssymb} % symbols - email
-\end{latexcode}
-
-Finally, if decorations are enabled, by using the class
-option ``\textit{withDec}``~\myref{sec:class-options}, this class also requires (in addiction
-to \textit{svn-prov}, \textit{xparse} and \textit{xstring}):\codeskip
-\begin{latexcode}[firstnumber=1,numbers=none]
-\RequirePackage{tikz} % for graphics
-\end{latexcode}
-
-\section{Class options}
-\label{sec:class-options}
-
-\classname can use any option supported by the \textit{article} class, on which is based. In
-addiction, it provides the following options:
-\def\tmpcolor{brown}
-\squishlist
-\item {\color{red}language=<\argname[\tmpcolor]{string}>}
- \begin{myindent}
- string language to pass to the \textit{babel} package for the document (\CV) language;
- \end{myindent}
-\item {\color{red}cntdir=<\argname[\tmpcolor]{dirname}>}
- \begin{myindent}
- sets the directory name where \classname will search for files with the \CV contents.\\
- The default one is ``Contents'';
- \end{myindent}
-\item {\color{red}style=<\argname[\tmpcolor]{filemane}>}
- \begin{myindent}
- specifies the file name (with or without the extension ``.sty'') containing the style commands.
- By default, the file \textit{mycv\_style.sty}, provided by the class itself, is that used.
- It is also possible to not use any style file by specifying the value ``none'' as file name;
- \end{myindent}
-\item {\color{red}mdlname=<\argname[\tmpcolor]{name}>}
- \begin{myindent}
- registers a name for the layout (model) intended to be used: in this way is possible, for
- example, to select the appropriate layout configuration file or a layout-specific portion of
- code;
- \end{myindent}
-\item {\color{red}withDec}
- \begin{myindent}
- enables support for decorations (provided by the \textit{TikZ} package).
- \end{myindent}
-\squishend
-
-\section{Class commands}
-
-Here follows the complete list of the commands provided by \classname. The style commands
-%~\myref{sub:style-commands}
-are only available if the class option ``\textit{style}'' was used; %~\myref{sec:class-options}.
-the same goes for the decoration commands,
-%~\myref{sub:decoration-commands}
-which need the class option ``\textit{withDec}''.\\
-In the following text of this section, when present, the form {\color{blue}\omissis} (or
-{\color{blue}<...>}) indicates the default choice for an optional argument of a command.
-
-\subsection{Conditionals}
-
-\squishlist
-\item \cmdname{ifoption}
- \marg{option}\arghsep
- \marg{true}\arghsep\marg{false}\argvsep
- \cmdname{ifmodel}
- \marg{mdlname}\arghsep
- \marg{true}\arghsep\marg{false}\cmddsep
- \textit{ifoption} checks whether \argname{option} was used,
- while \textit{ifmodel} checks whether \argname{mdlname} was registered in the class; then both
- commands use the appropriate \argname{true} or \argname{false} block of code.
-\squishend
-
-\subsection{Default style}
-\label{sub:style-commands}
-
-\squishlist
-\item \cmdname{mysectionTitleFormat}
- \begin{myindent}
- \dargone{titlerule-color-above}{myheadingscolor}\argvsep
- \dargone{titlerule-color-below}{myheadingscolor}
- \end{myindent}\cmddsep
- \argname{titlerule-color-above} is the color for the rule above a section name, while
- \argname{titlerule-color-below} is for the one below. \textit{myheadingscolor} is the default
- color.
-\item \cmdname{mysectionTitleSpacing}
- \begin{myindent}
- \dargone{left}{$0\text{pt}$}\arghsep
- \dargone{beforesep}{$0\text{pt}$}\arghsep
- \dargone{aftersep}{$5\text{pt}$}
- \end{myindent}\cmddsep
- this command is just an alias for
- \textit{\textbackslash{titlespacing}\{\textbackslash{section}\}\{\argname{left}\}%
- \{\argname{beforesep}\}\{\argname{aftersep}\}}. See the \textit{titlesec} package for further
- information.
-\item \cmdname{mycfoot}
- \marg{text}\cmddsep
- adds \argname{text} to the page footer. It may be useful, for example, to show information
- about the last update of the document.
-\item \cmdname{myitemize}
- \cmddsep
- a list environment that uses the \textit{ding} style.
-\squishend
-
-\subsection{Decorations}
-\label{sub:decoration-commands}
-
-\classname provides some commands for \textit{TikZ} decorations. The support
-provided is not complete at all (on the other hand \textit{TikZ} has a huge amount of
-functionality), but it is enough for this class purposes. The only \textit{TikZ} path supported is
-\textit{rectangle}.
-
-\squishlist
-\item \cmdname{mydecorationsPathmorphing}[*]
- \begin{myindent}
- \dargone{show-decoration}{$1$}\argvsep
- \marg{decoration-type}\argvsep
- \dargone{decoration-color}{gray}\argvsep
- \dargtwo{shading-type}{radial}\argvsep
- \dargtwo{background-color}{white}%
- \end{myindent}\cmddsep
- \argname{show-decoration}, if equals $1$, shows the decoration \argname{decoration-type},
- while if $0$ does not.
- The \textit{starred} version of the command uses the shading technique and the last argument is
- the background shading color.\\
- The \textit{not starred} version does not consider the argument \argname{shading-type}
- (just for a matter of clarity, a ``none'' value may be used) and the last argument is simply the
- background color.\\
- \argname{decoration-type} was tested with the following values: ``shape'', ``straight'',
- ``zigzag``, ``random steps``, ``saw``, ``bent``, ``bumps``, ``coil``, ``snake'' and
- ``Koch snowflake``.\\
- \argname{shading-type} was tested with ``radial'' and ``ball'' shadings.
-\item \cmdname{mydecorationsShape}
- \begin{myindent}
- \dargone{show-decoration}{$1$}\arghsep
- \marg{decoration-type}\arghsep
- \dargone{decoration-color}{gray}
- \end{myindent}\cmddsep
- \argname{show-decoration}, if equals $1$, shows the decoration \argname{decoration-type},
- while if $0$ does not.\\
- \argname{decoration-type} was tested with the following decorations: ``dart'', ``diamond'',
- ``rectangle'' and ``star''.
-\item \cmdname{mydecorationsFading}
- \begin{myindent}
- \dargone{path-fading}{north}\argvsep
- \marg{primary-color}\argvsep
- \dargone{color-gradient}{$80$}\argvsep
- \dargone{secondary-color}{black}\argvsep
- \dargtwo{opacity}{$1.0$}%
- \end{myindent}\cmddsep
- the resulting fill color is given by \argname{primary-color}, \argname{color-gradient}
- and \argname{secondary-color}, which are composed as follows:
- \argname{primary-color}!\argname{color-gradient}!\argname{secondary-color}.
-\item \cmdname{mydecorationsSetPos[XTL|YTL|XBR|YBR]}
- \begin{myindent}
- \dargone{coordinate-value}{$1\text{cm}\mid-1\text{cm}\mid-1\text{cm}\mid1\text{cm}$}
- \end{myindent}\cmddsep
- sets the position for the decoration in use. Since the decoration path is \textit{rectangle}, it
- is sufficient to have the $(x,y)$ coordinates of two points: the top-left and bottom-right.
- \textit{XTL} stands for ``\texttt{X-Top-Left}'', \textit{XBR} for ``\texttt{X-Bottom-Right}''
- and so on.
-\item
- \cmdname{mydecorationsSetLineWidth}[*]
- \dargone{line-width}{tikz value}\cmdvsep
- \cmdname{mydecorationsSetSegmentAmplitude}[*]
- \dargone{segment-amplitude}{tikz value}\cmdvsep
- \cmdname{mydecorationsSetSegmentLength}[*]
- \dargone{segment-length}{tikz value}\cmddsep
- these commands may respectively be used for modifying the properties \argname{line-width},
- \argname{segment-amplitude} and \argname{segment-length} for the decoration in use.
- \textit{Starred} versions do not require any argument and reinitialize the properties to their
- default values.
-\squishend
-
-\subsection{Miscellaneous}
-
-\squishlist
-\item
- \cmdname{mypdfauthor}
- \marg{author}\cmdvsep
- \cmdname{mypdftitle}
- \marg{title}\cmdvsep
- \cmdname{mypdfsubject}
- \marg{subject}\cmddsep
- these commands do nothing but register \argname{author}, \argname{title} and \argname{subject}
- information in the document properties of the pdf is being produced.
-
-\item \cmdname{mylang}
- \marg{text}\arghsep
- \dargone{language}{english}\cmddsep
- temporarily changes the language in use (\textit{babel} package) to \argname{language} for
- \argname{text}.
-
-\item \cmdname{mychangemargin}
- \marg{left-margin}\arghsep
- \marg{right-margin}\cmddsep
- \textit{mychangemargin} environment changes the left and right margin of a portion of
- text. The environments \textit{mychangemarginLeft} and \textit{mychangemarginRight}, whose
- meaning is straight forward, are also available.
-
-\item \cmdname{myrenderlayout}
- \dargone{component}{a}\cmddsep
- processes and draws the layout component(s). The option value ``h'' is for the header component,
- ``b'' and ``f'', respectively, for the body and footer ones, while ``a'' is for all components.
-\squishend
-
-\section{Some examples}
-
-This section gives some \textit{minimal} examples and does some considerations about the use of
-\classname (the class permits to do much better with a little patience). This is done by creating
-two \textit{curriculum vit\ae{}} with the same contents, but different layouts: one \CV will use a
-double page layout (abbreviated \DPL from here forward), while the other will use a single page
-layout (\SPL).
-
-The sample code presented here can be found in the ``Examples'' directory shipped with the
-\textit{mycv} bundle, which this document is part of, and that also contains files with the \CV
-contents: these files are not listed in the present document, as they do not contain anything worth
-being mentioned for the purpose of these notes.
-
-First and foremost, to keep the code organized, we need a file containing the layout components
-for the \DPL and \SPL (\textit{model-layouts.tex}). We opt to share the \textit{header} and
-\textit{footer} components, so we also create a second file named \textit{model-common.tex},
-such as in listing~\ref{lst:model-common}.
-\begin{latexcode}[firstnumber=1,caption=model-common.tex,label=lst:model-common]
-% ----------------------
-% the shared header list
-% ----------------------
-\def\headerlayoutlist{%
- &MainHeaderPageBegin&:<postcmd:vspace=10pt>,
- % --------------------------------- left header
- |SubHeaderPageBegin|:<precmd:hfill>,
- % header file (1)
- $header_title@$,
- |SubHeaderPageEnd|:<postcmd:hfill>,
- % --------------------------------- right header
- |SubHeaderPageBegin|,
- % header file (2)
- $header_contacts@$,
- |SubHeaderPageEnd|,
- &MainHeaderPageEnd&%
-}
-
-% ----------------------
-% the shared footer list
-% ----------------------
-\def\footerlayoutlist{footer_sign@}
-\end{latexcode}
-
-\subsection{Double page layout}
-
-Here we deal with the layout components specific for the \DPL, as showed in
-listing~\ref{lst:dplmodel}.
-%\lstinputlisting[firstnumber=1,caption=model-dpl.tex,label=lst:dplmodel]{
-%../Examples/Models/model-dpl.tex}
-\begin{latexcode}[firstnumber=1,caption=DPL model (part of 'model-layouts.tex'),label=lst:dplmodel]
-\def\bodylayoutlist{% the DPL's body list
- % ---------------------------------------------------------
- % moves the right margin to the left (text and title rules)
- % ---------------------------------------------------------
- &MainBodyPageBegin&:<0.96>,
- % ---------------------------------------------------------
- % the 2 directives below are just used as a trick to do the
- % same thing for the left margin (it is moved to the right)
- % ---------------------------------------------------------
- |SubBodyPageBegin|,
- |SubBodyPageEnd|,
- % -----------------------------------------
- % left page (0.48 of textwidth)
- % -----------------------------------------
- |SubBodyPageBegin|:<0.48>,
- $contents_partA@$:<precmd:vspace=10pt:sectionnumber=1>,
- $contents_partB@$:<precmd:vspace=10pt:sectionnumber=2>,
- $contents_partC@$:<precmd:vspace=10pt:sectionnumber=3>,
- |SubBodyPageEnd|:<postcmd:hfill>,
- % -----------------------------------------
- % right page (0.48 of textwidth)
- % -----------------------------------------
- |SubBodyPageBegin|:<0.48>,
- $contents_partA@$:<precmd:vspace=10pt:sectionnumber=4>,
- $contents_partB@$:<precmd:vspace=10pt:sectionnumber=5>,
- |SubBodyPageEnd|,
- % -----------------------------------------
- &MainBodyPageEnd&%
-}
-\end{latexcode}
-
-\subsection{Single page layout}
-
-As far as the \SPL, we do not need to use the \verb|*PageBegin| components, but it is sufficient to
-directly include the files with the contents. The resulting code is showed
-in listing~\ref{lst:splmodel}.
-\begin{latexcode}[firstnumber=1,caption=SPL model (part of
-'model-layouts.tex'),label=lst:splmodel]
-\def\bodylayoutlist{% the SPL's body list
- % ---------------------------------------------------
- $contents_partA@$:<precmd:vspace=10pt:sectionnumber=1>,
- $contents_partB@$:<precmd:vspace=10pt:sectionnumber=2>,
- $contents_partC@$:<precmd:vspace=10pt:sectionnumber=3>,
- $contents_partA@$:<precmd:vspace=10pt:sectionnumber=4>,
- $contents_partB@$:<precmd:vspace=10pt:sectionnumber=5>
- % ---------------------------------------------------
-}
-\end{latexcode}
-
-\subsection{Main file}
-
-Since we both have the components for the double and single page layouts, we can proceed writing the
-main file (\textit{mycv-example-main.tex}) that picks and use them.\\
-We start by setting up some options for the %\classname
-class, such as those related to the decorations and language support, as well as the name of the
-model (layout) we mean to register.
-Besides, we opt to store the \CV contents files in the directory ``Contents'' (that is the default
-one where the class searches for the contents files), so there is not need to specify its path with
-the option ``\textit{cntdir}''. %~\myref{sec:class-options}.
-% (see the listings~~\ref{lst:dplmodel} or~\ref{lst:splmodel}).
-
-In listing~\ref{lst:mycv-example-main} we take the \DPL as an example, but switching to the
-\SPL would just be a matter of changing the ``\textit{mdlname}'' option from \keyword{verDPL} to
-\keyword{verSPL}.
-\begin{latexcode}[firstnumber=1,label=lst:mycv-example-main,caption=mycv-example-main.tex]
-\documentclass[10pt,mdlname=verDPL,withDec,language=english]{mycv}
-\input{mycv-example-common}
-\begin{document}
-\cvdec\myrenderlayout\mycfoot{Last update: \today}
-\end{document}
-\end{latexcode}
-
-The file \textit{mycv-example-common[.tex]}, showed in listing~\ref{lst:example-common},
-selects the appropriate layout components (listings~\ref{lst:dplmodel} or \ref{lst:splmodel}) to be
-included and, subsequently, processed by \textit{\textbackslash{}myrenderlayout}.
-%(to be more exact, those components are selected inside the file \textit{model-layouts[.tex]}).\\
-%by using
-%the conditional command \textit{\textbackslash{}ifmodel}.\\
-In addiction, the file \textit{mycv-example-common.tex} contains some decoration commands, which
-need to be used only if the option ``\textit{withDec}' was given to the class; this is the
-reason of the conditional command \textit{\textbackslash{}ifoption}.
-\begin{latexcode}[firstnumber=1,caption=mcv-example-common.tex,label=lst:example-common]
-[...]
-\ifoption{withDec}{%
- \newcommand{\cvdec}{
- \mydecorationsSetLineWidth[0.3mm]%
- \mydecorationsPathmorphing*{coil}<radial><lightgray>
- }
- [...]
-}{\newcommand{\cvdec}{}}
-
-% include layouts components
-\input{Models/model-layouts}
-[...]
-\end{latexcode}
-%\lstinputlisting[firstnumber=1,caption=mcv-example-common.tex,label=lst:example]{
-%../Examples/mycv-example-common.tex}
-
-\subsection{Layout notes}
-
-When a double layout page is used, it may occur, for example, that a section is too long for a
-page: this would not be a problem with a single page layout, since \LaTeX{} would automatically
-break the section contents. Unfortunately, with a double page layout the behavior is substantially
-different: this is because the class uses a \textit{minipage-based mechanism} and a minipage is by
-itself not breakable. Thus, what happens is that part of the section contents comes out from the
-page margins. %, without being displayed.
-
-When a problem such as this occurs, a possible workaround is to manually break the section contents.
-This can be done by using a counter that keeps track of the number of times a same file is included:
-when the counter is equal $1$, a part of the section contents is included in the left page,
-otherwise is the remaining one to be included in the right page.
-Listing~\ref{lst:split-contents-example} shows a practical example of what just discussed.
-\begin{latexcode}[firstnumber=1,label=lst:split-contents-example,
-caption=workaround example]
-% ---------------------------------------------------------
-% file with the section contents: i.e. <section_skills.tex>
-% ---------------------------------------------------------
-% increases the counter 'cnt': it's defined outside this file
-\stepcounter{cnt}
-
-% selects the appropriate part of the file contents
-\newcommand{\condblock}[2]{\ifthenelse{\value{cnt}<2}{#1}{#2}}
-
-\condblock{skills section contents part A}%
- {skills section contents part B (the remaining part)}
-
-% ------------------------------------------------------
-% file with the DPL components: i.e. <model-layouts.tex>
-% ------------------------------------------------------
-\def\bodylayoutlist{%
- |SubBodyPageBegin|:<0.48>, % left page
- % include part A in the left page
- $section_skills@$,
- [...]
- |SubBodyPageEnd|,
- |SubBodyPageBegin|:<0.48>, % right page
- % include part B in the right page
- $section_skills@$,
- [...]
- |SubBodyPageEnd|
-}
-\end{latexcode}
-
-Of course the proposed workaround is not the best we could wish for, since it requires manual
-operations. % (any advice about that is greatly appreciated).\\
-As an alternative, it is possible to not use the \verb|*PageBegin| and \verb|*PageEnd| mechanism,
-delegating the double page layout to an external package (i.e. \textit{multicols}).
-This kind of approach is showed in listings~\ref{lst:model-dpl2}.
-\begin{latexcode}[firstnumber=1,caption=DPL$2$ model (part of
-'model-layouts.tex'),label=lst:model-dpl2]
-\newcommand{\mcbegin}{\begin{multicols}{2}}
-\newcommand{\mcend}{\end{multicols}}
-
-\def\bodylayoutlist{%
- $contents_partA@$:<precmd:vspace=10pt:mcbegin:sectionnumber=1>,%
- [...]
- $contents_partB@$:<precmd:vspace=10pt:sectionnumber=6>:<postcmd:mcend>,%
-}
-\end{latexcode}
-
-Notice the usage of the commands \textit{\textbackslash{mcbegin}} and
-\textit{\textbackslash{mcend}}, which act as a wrapper for the \textit{multicols} environment.
-
-\section{Split file contents}
-
-This class uses a file based approach as far as the contents of a \CV, that is to say it needs that
-the contents be into separated file/s (at least one) with respect to the main file.
-
-As the class works, having the contents in just one single file is not as good as would be with
-multiple files (ideally a file for each section of the document), since multiple files allow to
-more easily customize the \CV layout without directly acting on the contents.
-On the other hand, a multiple file approach may compel to use several files and not be
-convenient.\\
-For these reasons, this class provides a \keyword{PERL} script named
-\textit{mycv\_split\_contents.pl} (for a list of all the options provided, type
-\textit{mycv\_split\_contents.pl -h} inside a shell environment)
-% or take a look at the file itself(function \textit{usage})),
-that can process a file and, according to what specified by the
-directives in the file itself, split its contents into several files (which will be those
-effectively used by the class). In this way is possible to directly manage one single file for the
-contents.
-
-If requested, the script can also create a basic model file with the layout components:
-it has to be considered just as a skeleton and probably needs to be edited by hand afterward.
-
-The directives that may be used inside a contents file have the following form:\codeskip
-\begin{latexcode}[numbers=none]
-###::|filename|:$component$:&commands&
-\end{latexcode}
-
-{\color{orange}\textit{filemane}} is the name of the file to create,
-{\color{brown}\textit{component}} is the main component (\textit{header}, \textit{body} or
-\textit{footer}) that the file represents, while {\color{red}\textit{commands}} are the relative
-commands associated to the component.
-Both \textit{component} and \textit{commands} are not mandatory, but may be useful, especially
-\textit{component}, when is requested to generate a basic model file.\\
-The script \textit{mycv\_split\_contents.pl} may be called inside the main file as showed in
-listing~\ref{lst:mycv-example-main2}.
-
-\begin{latexcode}[firstnumber=1,caption=mycv-example-main.tex,label=lst:mycv-example-main2]
-% -------------------------------------------------------------------
-% To compile this file is necessary to use the option '-shell-escape'
-% to enable the 'write18' construct.
-% -------------------------------------------------------------------
-\documentclass[10pt,mdlname=verSPL,withDec,language=english]{mycv}
-\immediate\write18{<dirpath>/mycv_split_contents.pl -i cv-contents.tex}
-[...]
-\end{latexcode}
-
-When the file \textit{cv-contents.tex} (listing~\ref{lst:cv-contents}) is processed by the script,
-the files \textit{*.tex} are created in the directory ''Contents`` (the default one).
-\begin{latexcode}[firstnumber=1,caption=cv-contents.tex,label=lst:cv-contents]
-% -----------------------------
-% ###::header_title.tex::header
-% -----------------------------
-[...]
-% -------------------------------------------------------------------
-% ###::contents_partA.tex::body::<precmd:vspace=10pt:sectionnumber=1>
-% -------------------------------------------------------------------
-[...]
-% -------------------------------------------------------------------
-% ###::contents_partB.tex::body::<precmd:vspace=10pt:sectionnumber=2>
-% -------------------------------------------------------------------
-[...]
-% ----------------------------
-% ###::footer_sign.tex::footer
-% ----------------------------
-[...]
-\end{latexcode}
-
-%To make the example works, is necessary to compile the main file using the option
-%\textit{-shell-escape} to enable the \textit{\textbackslash{write18}} construct.
-%as follows:\codeskip
-%\begin{latexcode}[numbers=none]
-%||pdflatex|| -&shell-escape& mycv-example-spl.tex
-%\end{latexcode}
-
-\bigskip
-\fbox{That's all, {\color{brown}happy \LaTeX{}ing!}}
-\hfill\Large\calligra{AndreaGhersi}
-\ifparchment\end{parchment}\fi
-%\todo[color=lightgray!10,noline]{That's all, {\color{brown}happy \LaTeX{}ing!}}
diff --git a/Master/texmf-dist/doc/latex/mycv/Doc/FrontBackMatter/Contents.tex b/Master/texmf-dist/doc/latex/mycv/Doc/FrontBackMatter/Contents.tex
deleted file mode 100644
index 61c9aa38750..00000000000
--- a/Master/texmf-dist/doc/latex/mycv/Doc/FrontBackMatter/Contents.tex
+++ /dev/null
@@ -1,8 +0,0 @@
-
-%*******************************************************
-% Contents
-%*******************************************************
-
-\pdfbookmark{\contentsname}{tableofcontents}
-\setcounter{tocdepth}{2}
-\tableofcontents \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/mycv/Doc/FrontBackMatter/Titlepage+Abstract.tex b/Master/texmf-dist/doc/latex/mycv/Doc/FrontBackMatter/Titlepage+Abstract.tex
deleted file mode 100644
index f02c81481e5..00000000000
--- a/Master/texmf-dist/doc/latex/mycv/Doc/FrontBackMatter/Titlepage+Abstract.tex
+++ /dev/null
@@ -1,63 +0,0 @@
-
-\begin{titlepage}
-\begin{center}
-
-% ===========
-% Definitions
-% ===========
-
-% this sets the counter to symbols (*, dagger, and so on)
-\renewcommand{\thefootnote}{\fnsymbol{footnote}}
-\newcommand{\HRule}{\rule{\linewidth}{0.5mm}}
-
-\def\versionMsg{This file has version number \version{} \texttt{---} %
- documentation dated April 13, 2012 \texttt{---} %
- last revised \today}
-
-% =======================
-% Upper part of the page
-% =======================
-
-% Date
-\textsc{\large\color{gray}\today}\\[0.5cm]
-
-% Title
-\HRule\\[0.4cm]%
-{\huge\medskip\bfseries\myTitle\footnote{\versionMsg}}\\[0.4cm]%
-\HRule\\[1.5cm]
-
-% Author
-\large\emph{Author:}\\
-\href{mailto:\myMail}{\textsc{\myName}}
-
-\vspace{20pt}
-\includegraphics[width=0.30\textwidth]{Images/logo-1.png}\\[1cm]
-
-\vspace{10pt}
-\textbf{\textit{Abstract}}\normalsize\par\bigskip
-\begin{minipage}{0.75\textwidth}
-\noindent
-This \LaTeX{} class provides a set of functionality for writing \textit{curriculum vit\ae{}}
-with different layouts. To achieve this goal, it adopts a different approach with respect
-to the other c.v. classes or packages.
-
-Basically, the idea is that a user can write some custom configuration directives, by means of which
-is possible both to produce different c.v. layouts and quickly switch among them.
-
-In order to process such directives, this class uses a set of lists, provided by the package
-\textit{etextools}. A basic support for \textit{TikZ} decorations is also provided.
-
-\end{minipage}
-
-% ==================
-% Bottom of the page
-% ==================
-
-% --------------------------------------------
-% this resets the numbering back to arabic and
-% makes sure that the footnote is numbered 1
-% --------------------------------------------
-\renewcommand{\thefootnote}{\arabic{footnote}}\setcounter{footnote}{0}
-
-\end{center}
-\end{titlepage} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/mycv/Doc/mycv-decs.def b/Master/texmf-dist/doc/latex/mycv/Doc/mycv-decs.def
deleted file mode 100644
index 390ef395e0c..00000000000
--- a/Master/texmf-dist/doc/latex/mycv/Doc/mycv-decs.def
+++ /dev/null
@@ -1,110 +0,0 @@
-%%%%%%%%%%%%%
-% %
-% Parchment %
-% %
-%%%%%%%%%%%%%
-
-% ==================================================================
-% Code taken from http://www.texample.net/tikz/examples/framed-tikz/
-% (just a couple of changes made)
-% ==================================================================
-
-\usepackage{framed}
-\usetikzlibrary{decorations.pathmorphing,decorations.shapes,calc}
-\pgfmathsetseed{1} % To have predictable results
-% Define a background layer, in which the parchment shape is drawn
-\pgfdeclarelayer{background}
-\pgfsetlayers{background,main}
-
-% -------------------------------------------------------
-% define styles for the normal border and the torn border
-% -------------------------------------------------------
-\tikzset{
- normal border/.style={lightgray!12, % or: orange!20!black!10, brown!10
- decorate, decoration={shape, segment length=0.5cm, amplitude=.7mm}},
- torn border/.style={orange!30!black!5, decorate,
- decoration={random steps, segment length=.5cm, amplitude=1.7mm}}}
-
-% ----------------------------------------------------------------------
-% Macro to draw the shape behind the text, when it fits completly in the
-% page
-% ----------------------------------------------------------------------
-\def\parchmentframe#1{
-\tikz{
- \node[inner sep=2em] (A) {#1}; % Draw the text of the node
- \begin{pgfonlayer}{background} % Draw the shape behind
- \fill[normal border]
- (A.south east) -- (A.south west) --
- (A.north west) -- (A.north east) -- cycle;
- \end{pgfonlayer}}}
-
-% -----------------------------------------------------------------
-% Macro to draw the shape, when the text will continue in next page
-% -----------------------------------------------------------------
-\def\parchmentframetop#1{
-\tikz{
- \node[inner sep=2em] (A) {#1}; % Draw the text of the node
- % (inner sep=2em is for the
- % inner space of all borders
- % (left,right,top and bottom)
- % inner ysep=0pt for the top
- % and bottom borders)
- \begin{pgfonlayer}{background}
- \fill[normal border] % Draw the ``complete shape'' behind
- (A.south east) -- (A.south west) --
- (A.north west) -- (A.north east) -- cycle;
- \fill[torn border] % Add the torn lower border
- ($(A.south east)-(0,.2)$) -- ($(A.south west)-(0,.2)$) --
- ($(A.south west)+(0,.2)$) -- ($(A.south east)+(0,.2)$) -- cycle;
- \end{pgfonlayer}}}
-
-% -------------------------------------------------------------------
-% Macro to draw the shape, when the text continues from previous page
-% -------------------------------------------------------------------
-\def\parchmentframebottom#1{
-\tikz{
- \node[inner sep=2em] (A) {#1}; % Draw the text of the node
- \begin{pgfonlayer}{background}
- \fill[normal border] % Draw the ``complete shape'' behind
- (A.south east) -- (A.south west) --
- (A.north west) -- (A.north east) -- cycle;
- \fill[torn border] % Add the torn upper border
- ($(A.north east)-(0,.2)$) -- ($(A.north west)-(0,.2)$) --
- ($(A.north west)+(0,.2)$) -- ($(A.north east)+(0,.2)$) -- cycle;
- \end{pgfonlayer}}}
-
-% ------------------------------------------------------------------------
-% Macro to draw the shape, when both the text continues from previous page
-% and it will continue in next page
-% ------------------------------------------------------------------------
-\def\parchmentframemiddle#1{
-\tikz{
- \node[inner sep=2em] (A) {#1}; % Draw the text of the node
- \begin{pgfonlayer}{background}
- \fill[normal border] % Draw the ``complete shape'' behind
- (A.south east) -- (A.south west) --
- (A.north west) -- (A.north east) -- cycle;
- \fill[torn border] % Add the torn lower border
- ($(A.south east)-(0,.2)$) -- ($(A.south west)-(0,.2)$) --
- ($(A.south west)+(0,.2)$) -- ($(A.south east)+(0,.2)$) -- cycle;
- \fill[torn border] % Add the torn upper border
- ($(A.north east)-(0,.2)$) -- ($(A.north west)-(0,.2)$) --
- ($(A.north west)+(0,.2)$) -- ($(A.north east)+(0,.2)$) -- cycle;
- \end{pgfonlayer}}}
-
-% ------------------------------------------------------------------------
-% Define the environment which puts the frame
-% In this case, the environment also accepts an argument with an optional
-% title (which defaults to ``Example'', which is typeset in a box overlaid
-% on the top border
-% ------------------------------------------------------------------------
-\newenvironment{parchment}{%[1][Example]{%
- \def\FrameCommand{\parchmentframe}%
- \def\FirstFrameCommand{\parchmentframetop}%
- \def\LastFrameCommand{\parchmentframebottom}%
- \def\MidFrameCommand{\parchmentframemiddle}%
- \vskip\baselineskip
- \MakeFramed {\FrameRestore}}
- %\noindent\tikz\node[inner sep=1ex, draw=black!20,fill=white,
- % anchor=west, overlay] at (0em, 2em) {\sffamily#1};\par}%
-{\endMakeFramed} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/mycv/Doc/mycv-macros.sty b/Master/texmf-dist/doc/latex/mycv/Doc/mycv-macros.sty
deleted file mode 100644
index 9c07fd40cae..00000000000
--- a/Master/texmf-dist/doc/latex/mycv/Doc/mycv-macros.sty
+++ /dev/null
@@ -1,301 +0,0 @@
-%@ -------------------------------------------------------
-%@ 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'.
-%@ -------------------------------------------------------
-
-\RequirePackage{svn-prov}
-\ProvidesPackageSVN
- {$Id: mycv-macros.sty 85 2012-05-12 17:07:42Z ghangenit $}
- [v\version][A package providing some useful commands for writing this doc]
-
-\ifdraft
- % ---------------------------------
- % rende visibili (in nero) i badbox
- % ---------------------------------
- \overfullrule=5pt
-\fi
-
-
-%%%%%%%%%%%%
-% %
-% Hyperref %
-% %
-%%%%%%%%%%%%
-
-\hypersetup{citecolor=webgreen}
-\hypersetup{pdfstartpage=1}
-
-\hypersetup{%
- pdfstartpage = 1,
- pdfauthor = Andrea Ghersi,
- pdftitle = MyCV,
- pdfsubject = MyCV class documentation,
- pdfproducer = \LaTeX{},
- pdfkeywords = {},
- pdfcreator = \LaTeX{} with 'arsclassica'
-}
-
-
-%%%%%%%%%
-% %
-% Alias %
-% %
-%%%%%%%%%
-
-%\newcommand{\mySubTitle}{a list driven cv\xspace}
-\newcommand{\myTitle}{MyCV\xspace}
-\newcommand{\myName}{Andrea Ghersi\xspace}
-\newcommand{\myMail}{ghanhawk@gmail.com}
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% %
-% Formato pagina, sezioni, capitoli,... %
-% %
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% modifica la larghezza della pagine. Formato:
-\areaset{412pt}{749pt}
-
-% ---------------------------------------------------
-% modifica formato section e subsection (sovrascrive
-% le impostazioni definite dallo stile 'arsclassica')
-% ---------------------------------------------------
-
-% sections
-\titleformat{\section}%
- {\color{red}\normalfont\Large\bfseries\bf}%
- {\color{red}\MakeTextLowercase{\thesection}}{1em}{\spacedlowsmallcaps}
-
-% subsections
-\titleformat{\subsection}%
- {\color{orange}\normalfont\bfseries\bf}
- {\textsc{\MakeTextLowercase{\thesubsection}}}{1em}{\normalsize}
-
-% subsubsections
-\titleformat{\subsubsection}%
- {\color{cyan}\normalfont\bfseries\bf}
- {\textsc{\MakeTextLowercase{\thesubsection}}}{1em}{\small}
-
-% -------------------------------------------------
-% cambia il colore dei capitoli/sezioni nell'indice
-% -------------------------------------------------
-
-\renewcommand*\cftchapfont{\color{red}\bfseries}
-\renewcommand*\cftsecfont{\color{gray}\bfseries}
-
-% -----------------------------------------------------------
-% words 'chapter', 'section' and 'subsection' not capitalized
-% inside a ref
-% -----------------------------------------------------------
-
-\def\chapterautorefname{chapter} %default: Chapter
-\def\sectionautorefname{section} %default: Section
-\def\subsectionautorefname{subsection} %default: Subsection
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%
-% %
-% Liste personalizzate %
-% %
-%%%%%%%%%%%%%%%%%%%%%%%%
-
-% ----------------------------------------------
-%\circ — An open circle
-%\cdot — A centered dot
-%\star — A five-pointed star
-%\ast — A centered asterisk
-%\rightarrow — A short right-pointing arrow
-%\diamondsuit — An open diamond
-%\triangleright
-% ----------------------------------------------
-
-% separazione tra item
-\def\myitemsep{5pt}
-
-\newcommand{\squishlist}[1][\myitemsep]{%
- \begin{list}{$\triangleright$}%
- { % separazione tra paragrafi: OGNI nuova
- % lista equivale ad un NUOVO paragrafo
- \setlength{\parskip}{5pt}%
- % separazione tra item
- \setlength{\itemsep}{#1}%
- \setlength{\parsep}{5pt}%
- % separazione del primo item - si aggiunge
- % all'eventuale separazione tra paragrafi
- \setlength{\topsep}{5pt}%
- \setlength{\partopsep}{0pt}%
- \setlength{\leftmargin}{2.5em}%
- \setlength{\labelwidth}{1em}%
- \setlength{\labelsep}{0.5em}%
- }}
-
-\newcommand{\squishend}{%
- \end{list}}
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% %
-% Citazioni personalizzate %
-% %
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\newcommand{\quotes}[3][0]{%
- % ----------------------------------------------------------
- % definisce il colore dell'autore e dell'anno (verde chiaro)
- % rosso RGB {255, 0, 0}
- % ----------------------------------------------------------
- \definecolor{authorcolor}{RGB}{51, 153, 51}
- \definecolor{datecolor} {RGB}{51, 153, 51}
- %
- \noindent\makebox[0.90\textwidth]{%
- \begin{minipage}[t]{0.50\textwidth}%
- \hfill%
- \end{minipage}%
- \begin{minipage}[t]{0.50\textwidth}%
- {\small\ignorespaces\slshape #2}\\[0.5em]%
- \medskip%
- \hfill\texttt{---} {{\color{authorcolor}{#3}}}%
- \ifnum#1>0%
- \xspace[{\color{datecolor}{#1}}]%
- \fi%
- \end{minipage}%
- }}
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%
-% %
-% Riferimenti a pagine %
-% %
-%%%%%%%%%%%%%%%%%%%%%%%%
-
-% page references
-\newcommand{\myref}[1]{{\color{blue}(\autoref{#1})}\xspace}
-\newcommand{\myreftwo}[1]{{\color{blue}(see~\autoref{#1})}\xspace}
-
-
-%%%%%%%%%%%%%%%%
-% %
-% Comandi vari %
-% %
-%%%%%%%%%%%%%%%%
-
-% pensato per parole maiuscole (es CV, DPL,...)
-\newcommand{\keyword}[1]{{\footnotesize\textbf{#1}}\xspace}
-
-\newcommand{\argvsep}{\\[5pt]} % vertical sep between args list
-\newcommand{\arghsep}{\;\;} % horizontal sep between args list
-\newcommand{\cmdvsep}{\\[5pt]} % vertical sep between cmds list
-\newcommand{\cmdhsep}{\;\;} % horizontal sep between cmds list
-\newcommand{\cmddsep}{\par\medskip} % vertical sep between cmd and its description
-\newcommand{\optvsep}{\\[5pt]} % vertical sep between opts list
-\newcommand{\opthsep}{\;\;} % horizontal sep between opts list
-\newcommand{\optdsep}{\par} % vertical sep between opt and its description
-\newcommand{\sep}{\medskip} % generic sep
-\newcommand{\argname}[2][black]{{\color{#1}{$\langle$\textit{#2}$\rangle$}}}
-\newcommand{\cmdname}[2][brown]{{\color{#1}{\textbf{\textbackslash#2}}}}
-\newcommand{\optname}[2][brown]{{\color{#1}{\textbf{#2}}}}
-\newcommand{\classname}{{\color{blue}{\textit{MyCV}}}\xspace}
-\newcommand{\codeskip}{\medskip}
-\newcommand{\DPL}{\keyword{DPL}} % se si usa \color bisogna anche mettere un \xspace
-\newcommand{\SPL}{\keyword{SPL}} % idem
-\newcommand{\CV}{\keyword{CV}} % idem
-
-% format '{...}' arguments: #1 is an argument
-\newcommand{\marg}[1]{%
- \fbox{%
- {\color{red}\textbf{\{}}$\langle$%
- \textit{#1}%
- $\rangle${\color{red}\textbf{\}}}}%
- }
-
-% format '[...]' arguments: #1 is an argument, #2 is the default value
-\newcommand{\dargone}[2]{%
- \fbox{%
- {\color{cyan}\textbf{[}}$\langle$%
- \textit{#1}%
- $\rangle${\color{cyan}\textbf{]}}%
- }\;$\longrightarrow$\;{\color{blue}\textbf{[}\textit{#2}\textbf{]}}}
-
-% format '<...>' arguments: #1 is an argument, #2 is the default value
-\newcommand{\dargtwo}[2]{%
- \fbox{%
- {\color{cyan}\textbf{<}}$\langle$%
- \textit{#1}%
- $\rangle${\color{cyan}\textbf{>}}%
- }\;$\longrightarrow$\;{\color{blue}\textbf{<}\textit{#2}\textbf{>}}}
-
-% indentazione
-\newenvironment{myindent}[1][0.2in]%
- { \begin{list}{}{%
- \setlength{\topsep}{0pt}%
- \setlength{\leftmargin}{#1}%
- \setlength{\partopsep}{0pt}%
- \setlength{\parsep}{\parskip}}\item[]%
- }
- {\end{list}}
-
-% colored text
-\newcommand{\ctext}[2][red]{{\color{#1}{#2}}}
-
-% omissis, nella forma: [...]
-\newcommand{\omissis}{[\dots\negthinspace]}
-
-
-%%%%%%%%%%%%
-% %
-% Listings %
-% %
-%%%%%%%%%%%%
-
-% for backgroundcolor color
-\definecolor{lightergray}{gray}{0.99}
-
-\lstnewenvironment{latexcode}[1][]{%
- \small
- \lstset{language=[LaTeX]Tex,
- keywordstyle=\color{RoyalBlue},
- basicstyle=\normalfont\ttfamily,
- commentstyle=\color{Emerald}\ttfamily,
- stringstyle=\rmfamily,
- numbers=none,%left,% where to put the line-numbers ('none' if no numbers are wanted)
- % to decomment for having numbers inside the listing box instead outside
- %xleftmargin=2em,frame=single,framexleftmargin=1.5em,
- numberstyle=\scriptsize\color{gray},% the style that is used for the line-numbers
- stepnumber=1, % the step between two line-numbers. If it's 1, each line will be numbered
- numbersep=8pt,% how far the line-numbers are from the code
- showstringspaces=false,
- breaklines=true,
- frameround=ftff,
- frame=lines,
- moredelim=[is][\color{orange}]{|}{|},
- moredelim=[is][\color{brown}]{$}{$},
- moredelim=[is][\color{red}]{&}{&},
- moredelim=[is][\textbf]{||}{||},
- backgroundcolor=\color{lightergray},
- #1 % option that may be passed
- }
- \lstset{
- morekeywords=%
- {%
- RequirePackage,newboolean,DeclareOption,setboolean,%
- ProcessOptions,PackageError,ifthenelse,boolean,%
- MakeTextLowercase,@ifpackageloaded,undefined,%
- DeclareRobustCommand,MakeTextUppercase,conditionalblock,%
- color,titlerule,titlespacing,ifmodel,ifoption,mypdftitle,%
- labelitemi,hypersetup,setlength,mydecorationsSetLineWidth,
- mydecorationsPathmorphing,mycfoot,myrenderlayout,cvdec,%
- definecolor,includegraphics,ifdefined,mcbegin,mcend,%
- ProvidesPackage,PackageInfo,PackageWarningNoLine,%
- @ifclassloaded,ExecuteOptions,PackageWarning,textcolor%
- },%
- commentstyle=\color{Emerald}\ttfamily,%
- frame=lines%
- }
-}{\codeskip}
-
-% include le macro per la pergamena se richiesto
-\ifparchment\input{mycv-decs.def}\fi \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/mycv/Doc/mycv.tex b/Master/texmf-dist/doc/latex/mycv/Doc/mycv.tex
index 214e3db7e55..d5359426f18 100644
--- a/Master/texmf-dist/doc/latex/mycv/Doc/mycv.tex
+++ b/Master/texmf-dist/doc/latex/mycv/Doc/mycv.tex
@@ -1,95 +1,1047 @@
-\def\version{1.5.5}
+% ----------------------------------------------------------
+% ** This file was automatically generated by <DoPackage.sh>
+% ** with option(s) 'ctan'.
+% ** Date: Sun May 20 21:31:48 CEST 2012::1337542308
+% ----------------------------------------------------------
+% -------------------------------------------------------
+% 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'.
+% -------------------------------------------------------
+\def\version{1.5.6}
\newif\ifdraft
-%\drafttrue % se decommentato utilizza formato bozza
\newif\ifparchment
-% se commentato non utilizza la pergamena
\parchmenttrue
\documentclass[
- 10pt, % corpo del font principale
- a4paper,oneside,openany, % carta A4, pagina singola
- titlepage, % frontespzio
- fleqn, % equazioni allineate a sinistra
- headinclude,footinclude, % testatina e pie' di pagina
- BCOR5mm, % rilegatura di 5 mm
- numbers=noenddot, % niente punto dopo il numero delle sezioni
- cleardoublepage=empty, % pagine vuote senza testatina e pie' di pagina
- captions=tableheading % didascalie in cima alle tabelle
+ 10pt,
+ a4paper,oneside,openany,
+ titlepage,
+ fleqn,
+ headinclude,footinclude,
+ BCOR5mm,
+ numbers=noenddot,
+ cleardoublepage=empty,
+ captions=tableheading
\ifdraft
- ,draft % bozza del documento
- \else % nessuna bozza
+ ,draft
+ \else
\fi
-]{scrreprt} % classe report di KOMA-Script
+]{scrreprt}
-% carica molti pacchetti utili a ClassicThesis
\usepackage[backref]{classicthesis-ldpkg}
\usepackage[
- eulerchapternumbers, % numeri dei capitoli in Euler
- subfig, % compatibilita' con subfig
- beramono, % Bera Mono come font a spaziatura fissa
- eulermath, % AMS Euler come font per la matematica
- pdfspacing, % migliora il riempimento di riga con PDFLaTeX
- dottedtoc % allinea a destra i riferimenti alle pagine nell'indice
-]{classicthesis} % lo stile ClassicThesis
-
-% modifica alcuni aspetti di ClassicThesis
+ eulerchapternumbers,
+ subfig,
+ beramono,
+ eulermath,
+ pdfspacing,
+ dottedtoc
+]{classicthesis}
+
\usepackage[english]{arsclassica}
-% per codifica caratteri
\usepackage[utf8x]{inputenc}
-% spelling
\usepackage[english]{babel}
-% per usare vari simboli, quali '-->',...
\usepackage{textcomp}
-% provides a visual markup extension to amsmath
\usepackage{empheq}
-% calligra font
\usepackage{calligra}
-% todo notes
\usepackage{todonotes}
-% nessuna identazione
\setlength{\parindent}{0pt}
-% per l'environment comment
\usepackage{comment}
-% codice
\usepackage{listings}
-% macro di supporto
-\usepackage{mycv-macros}
+\ifdraft
+ \overfullrule=5pt
+\fi
+
+\hypersetup{citecolor=webgreen}
+\hypersetup{pdfstartpage=1}
+
+\hypersetup{%
+ pdfstartpage = 1,
+ pdfauthor = Andrea Ghersi,
+ pdftitle = MyCV,
+ pdfsubject = MyCV class documentation,
+ pdfproducer = \LaTeX{},
+ pdfkeywords = {},
+ pdfcreator = \LaTeX{} with 'arsclassica'
+}
+
+\newcommand{\myTitle}{MyCV\xspace}
+\newcommand{\myName}{Andrea Ghersi\xspace}
+\newcommand{\myMail}{ghanhawk@gmail.com}
+
+\areaset{412pt}{749pt}
+
+\titleformat{\section}%
+ {\color{red}\normalfont\Large\bfseries\bf}%
+ {\color{red}\MakeTextLowercase{\thesection}}{1em}{\spacedlowsmallcaps}
+
+\titleformat{\subsection}%
+ {\color{orange}\normalfont\bfseries\bf}
+ {\textsc{\MakeTextLowercase{\thesubsection}}}{1em}{\normalsize}
+
+\titleformat{\subsubsection}%
+ {\color{cyan}\normalfont\bfseries\bf}
+ {\textsc{\MakeTextLowercase{\thesubsection}}}{1em}{\small}
+
+\renewcommand*\cftchapfont{\color{red}\bfseries}
+\renewcommand*\cftsecfont{\color{gray}\bfseries}
+
+\def\chapterautorefname{chapter}
+\def\sectionautorefname{section}
+\def\subsectionautorefname{subsection}
+
+\def\myitemsep{5pt}
+
+\newcommand{\squishlist}[1][\myitemsep]{%
+ \begin{list}{$\triangleright$}%
+ {
+ \setlength{\parskip}{5pt}%
+ \setlength{\itemsep}{#1}%
+ \setlength{\parsep}{5pt}%
+ \setlength{\topsep}{5pt}%
+ \setlength{\partopsep}{0pt}%
+ \setlength{\leftmargin}{2.5em}%
+ \setlength{\labelwidth}{1em}%
+ \setlength{\labelsep}{0.5em}%
+ }}
+
+\newcommand{\squishend}{%
+ \end{list}}
+
+\newcommand{\quotes}[3][0]{%
+ \definecolor{authorcolor}{RGB}{51, 153, 51}
+ \definecolor{datecolor} {RGB}{51, 153, 51}
+ %
+ \noindent\makebox[0.90\textwidth]{%
+ \begin{minipage}[t]{0.50\textwidth}%
+ \hfill%
+ \end{minipage}%
+ \begin{minipage}[t]{0.50\textwidth}%
+ {\small\ignorespaces\slshape #2}\\[0.5em]%
+ \medskip%
+ \hfill\texttt{---} {{\color{authorcolor}{#3}}}%
+ \ifnum#1>0%
+ \xspace[{\color{datecolor}{#1}}]%
+ \fi%
+ \end{minipage}%
+ }}
+
+\newcommand{\myref}[1]{{\color{blue}(\autoref{#1})}\xspace}
+\newcommand{\myreftwo}[1]{{\color{blue}(see~\autoref{#1})}\xspace}
+
+\newcommand{\keyword}[1]{{\footnotesize\textbf{#1}}\xspace}
+
+\newcommand{\argvsep}{\\[5pt]}
+\newcommand{\arghsep}{\;\;}
+\newcommand{\cmdvsep}{\\[5pt]}
+\newcommand{\cmdhsep}{\;\;}
+\newcommand{\cmddsep}{\par\medskip}
+\newcommand{\optvsep}{\\[5pt]}
+\newcommand{\opthsep}{\;\;}
+\newcommand{\optdsep}{\par}
+\newcommand{\sep}{\medskip}
+\newcommand{\argname}[2][black]{{\color{#1}{$\langle$\textit{#2}$\rangle$}}}
+\newcommand{\cmdname}[2][brown]{{\color{#1}{\textbf{\textbackslash#2}}}}
+\newcommand{\optname}[2][brown]{{\color{#1}{\textbf{#2}}}}
+\newcommand{\classname}{{\color{blue}{\textit{MyCV}}}\xspace}
+\newcommand{\codeskip}{\medskip}
+\newcommand{\DPL}{\keyword{DPL}}
+\newcommand{\SPL}{\keyword{SPL}}
+\newcommand{\CV}{\keyword{CV}}
+
+\newcommand{\marg}[1]{%
+ \fbox{%
+ {\color{red}\textbf{\{}}$\langle$%
+ \textit{#1}%
+ $\rangle${\color{red}\textbf{\}}}}%
+ }
+
+\newcommand{\dargone}[2]{%
+ \fbox{%
+ {\color{cyan}\textbf{[}}$\langle$%
+ \textit{#1}%
+ $\rangle${\color{cyan}\textbf{]}}%
+ }\;$\longrightarrow$\;{\color{blue}\textbf{[}\textit{#2}\textbf{]}}}
+
+\newcommand{\dargtwo}[2]{%
+ \fbox{%
+ {\color{cyan}\textbf{<}}$\langle$%
+ \textit{#1}%
+ $\rangle${\color{cyan}\textbf{>}}%
+ }\;$\longrightarrow$\;{\color{blue}\textbf{<}\textit{#2}\textbf{>}}}
+
+\newenvironment{myindent}[1][0.2in]%
+ { \begin{list}{}{%
+ \setlength{\topsep}{0pt}%
+ \setlength{\leftmargin}{#1}%
+ \setlength{\partopsep}{0pt}%
+ \setlength{\parsep}{\parskip}}\item[]%
+ }
+ {\end{list}}
+
+\newcommand{\ctext}[2][red]{{\color{#1}{#2}}}
+
+\newcommand{\omissis}{[\dots\negthinspace]}
+
+\definecolor{lightergray}{gray}{0.99}
+
+\lstnewenvironment{latexcode}[1][]{%
+ \small
+ \lstset{language=[LaTeX]Tex,
+ keywordstyle=\color{RoyalBlue},
+ basicstyle=\normalfont\ttfamily,
+ commentstyle=\color{Emerald}\ttfamily,
+ stringstyle=\rmfamily,
+ numbers=none,
+ numberstyle=\scriptsize\color{gray},
+ stepnumber=1,
+ numbersep=8pt,
+ showstringspaces=false,
+ breaklines=true,
+ frameround=ftff,
+ frame=lines,
+ moredelim=[is][\color{orange}]{|}{|},
+ moredelim=[is][\color{brown}]{$}{$},
+ moredelim=[is][\color{red}]{&}{&},
+ moredelim=[is][\textbf]{||}{||},
+ backgroundcolor=\color{lightergray},
+ #1
+ }
+ \lstset{
+ morekeywords=%
+ {%
+ RequirePackage,newboolean,DeclareOption,setboolean,%
+ ProcessOptions,PackageError,ifthenelse,boolean,%
+ MakeTextLowercase,@ifpackageloaded,undefined,%
+ DeclareRobustCommand,MakeTextUppercase,conditionalblock,%
+ color,titlerule,titlespacing,ifmodel,ifoption,mypdftitle,%
+ labelitemi,hypersetup,setlength,mydecorationsSetLineWidth,
+ mydecorationsPathmorphing,mycfoot,myrenderlayout,cvdec,%
+ definecolor,includegraphics,ifdefined,mcbegin,mcend,%
+ ProvidesPackage,PackageInfo,PackageWarningNoLine,%
+ @ifclassloaded,ExecuteOptions,PackageWarning,textcolor%
+ },%
+ commentstyle=\color{Emerald}\ttfamily,%
+ frame=lines%
+ }
+}{\codeskip}
+
+\ifparchment
+
+\usepackage{framed}
+\usetikzlibrary{decorations.pathmorphing,decorations.shapes,calc}
+\pgfmathsetseed{1}
+\pgfdeclarelayer{background}
+\pgfsetlayers{background,main}
+
+\tikzset{
+ normal border/.style={lightgray!12,
+ decorate, decoration={shape, segment length=0.5cm, amplitude=.7mm}},
+ torn border/.style={orange!30!black!5, decorate,
+ decoration={random steps, segment length=.5cm, amplitude=1.7mm}}}
+
+\def\parchmentframe#1{
+\tikz{
+ \node[inner sep=2em] (A) {#1};
+ \begin{pgfonlayer}{background}
+ \fill[normal border]
+ (A.south east) -- (A.south west) --
+ (A.north west) -- (A.north east) -- cycle;
+ \end{pgfonlayer}}}
+
+\def\parchmentframetop#1{
+\tikz{
+ \node[inner sep=2em] (A) {#1};
+ \begin{pgfonlayer}{background}
+ \fill[normal border]
+ (A.south east) -- (A.south west) --
+ (A.north west) -- (A.north east) -- cycle;
+ \fill[torn border]
+ ($(A.south east)-(0,.2)$) -- ($(A.south west)-(0,.2)$) --
+ ($(A.south west)+(0,.2)$) -- ($(A.south east)+(0,.2)$) -- cycle;
+ \end{pgfonlayer}}}
+
+\def\parchmentframebottom#1{
+\tikz{
+ \node[inner sep=2em] (A) {#1};
+ \begin{pgfonlayer}{background}
+ \fill[normal border]
+ (A.south east) -- (A.south west) --
+ (A.north west) -- (A.north east) -- cycle;
+ \fill[torn border]
+ ($(A.north east)-(0,.2)$) -- ($(A.north west)-(0,.2)$) --
+ ($(A.north west)+(0,.2)$) -- ($(A.north east)+(0,.2)$) -- cycle;
+ \end{pgfonlayer}}}
+
+\def\parchmentframemiddle#1{
+\tikz{
+ \node[inner sep=2em] (A) {#1};
+ \begin{pgfonlayer}{background}
+ \fill[normal border]
+ (A.south east) -- (A.south west) --
+ (A.north west) -- (A.north east) -- cycle;
+ \fill[torn border]
+ ($(A.south east)-(0,.2)$) -- ($(A.south west)-(0,.2)$) --
+ ($(A.south west)+(0,.2)$) -- ($(A.south east)+(0,.2)$) -- cycle;
+ \fill[torn border]
+ ($(A.north east)-(0,.2)$) -- ($(A.north west)-(0,.2)$) --
+ ($(A.north west)+(0,.2)$) -- ($(A.north east)+(0,.2)$) -- cycle;
+ \end{pgfonlayer}}}
+
+\newenvironment{parchment}{%[1][Example]{%
+ \def\FrameCommand{\parchmentframe}%
+ \def\FirstFrameCommand{\parchmentframetop}%
+ \def\LastFrameCommand{\parchmentframebottom}%
+ \def\MidFrameCommand{\parchmentframemiddle}%
+ \vskip\baselineskip
+ \MakeFramed {\FrameRestore}}
+{\endMakeFramed}
+\fi
\begin{document}
-% ----------------------------------
-% il numero di pagina viene messo in
-% alto a destra invece che in fondo
-% ----------------------------------
\pagestyle{useheadings}
\pagestyle{plain}
-%******************************************************************
-% Frontmatter
-%******************************************************************
-
\pagenumbering{roman}
-\input{FrontBackMatter/Titlepage+Abstract}
+
+\begin{titlepage}
+\begin{center}
+
+\renewcommand{\thefootnote}{\fnsymbol{footnote}}
+\newcommand{\HRule}{\rule{\linewidth}{0.5mm}}
+
+\def\versionMsg{This file has version number \version{} \texttt{---} %
+ documentation dated April 13, 2012 \texttt{---} %
+ last revised \today}
+
+\textsc{\large\color{gray}\today}\\[0.5cm]
+
+\HRule\\[0.4cm]%
+{\huge\medskip\bfseries\myTitle\footnote{\versionMsg}}\\[0.4cm]%
+\HRule\\[1.5cm]
+
+\large\emph{Author:}\\
+\href{mailto:\myMail}{\textsc{\myName}}
+
+\vspace{20pt}
+\includegraphics[width=0.30\textwidth]{Images/logo-1.png}\\[1cm]
+
+\vspace{10pt}
+\textbf{\textit{Abstract}}\normalsize\par\bigskip
+\begin{minipage}{0.75\textwidth}
+\noindent
+This \LaTeX{} class provides a set of functionality for writing \textit{curriculum vit\ae{}}
+with different layouts. To achieve this goal, it adopts a different approach with respect
+to the other c.v. classes or packages.
+
+Basically, the idea is that a user can write some custom configuration directives, by means of which
+is possible both to produce different c.v. layouts and quickly switch among them.
+
+In order to process such directives, this class uses a set of lists, provided by the package
+\textit{etextools}. A basic support for \textit{TikZ} decorations is also provided.
+
+\end{minipage}
+
+\renewcommand{\thefootnote}{\arabic{footnote}}\setcounter{footnote}{0}
+
+\end{center}
+\end{titlepage}
\pagestyle{scrheadings}
-\input{FrontBackMatter/Contents}
-\cleardoublepage
-%******************************************************************
-% Mainmatter
-%******************************************************************
+\pdfbookmark{\contentsname}{tableofcontents}
+\setcounter{tocdepth}{2}
+\tableofcontents
+\cleardoublepage
\pagenumbering{arabic}
-\input{Chapters/Fundamentals}
-\input{Chapters/Usage}
+\chapter{Fundamentals}
+\quotes[1973]{
+ ``Computer programming is an art, because it applies
+ accumulated knowledge to the world, because it
+ requires skill and ingenuity, and especially because
+ it produces objects of beauty''
+}{Knuth}
+\ifparchment\begin{parchment}\fi
+\section{Introduction}
+
+The main goal of this class (\classname) is to give support for creating \textit{curriculum
+vit\ae{}} (\CV) with different layouts, allowing easy switching among them.
+The class also provides basic support for using the \textit{TikZ} decorations and defines a bunch
+of commands for managing the contents of a \CV, though that is not its primary goal.
+On \keyword{CTAN} archives, there are available various \CV packages more
+\textit{contents-oriented}, as it were, and they may be used together with this class.
+Before starting to describe the class more in details, it goes without saying that any advice or
+constructive criticism is greatly appreciated.
+
+\section{Class files}
+The class \classname is composed by six files. A short brief of each one is given here:
+\squishlist
+ \item \ctext{mycv.cls}
+ \begin{myindent}
+ it is the main file and, basically, handles the class options~\myref{sec:class-options} as
+ well as the inclusion of all other files, except for \textit{mycv\_version.def};
+ \end{myindent}
+ \item \ctext{mycv\_base.def}
+ \begin{myindent}
+ it contains all the commands and definitions dealing with the layout components of a
+ \CV~\myref{sec:layout-components}: it is the core file;
+ \end{myindent}
+ \item \ctext{mycv\_style.sty}
+ \begin{myindent}
+ it contains the default style commands~\myref{sub:style-commands} provided by the class: if
+ the default style is not used,
+ this file will not be included by \textit{mycv.cls};
+ \end{myindent}
+ \item \ctext{mycv\_dec.sty}
+ \begin{myindent}
+ it contains the decoration commands~\myref{sub:decoration-commands} provided by the class: if
+ decorations are not enabled%
+ , this file will not be included by \textit{mycv.cls};
+ \end{myindent}
+ \item \ctext{mycv\_misc.def}\hspace{5pt}and\hspace{5pt}\ctext{mycv\_version.def}
+ \begin{myindent}
+ they respectively contain some miscellaneous commands and the version string.
+ \end{myindent}
+\squishend
+
+\section {Layout components}
+\label{sec:layout-components}
+
+This class considers a \textit{curriculum vit\ae{}} as logically divided into three main components:
+\textit{header}, \textit{body} and \textit{footer}.
+To each of these ones, a list, that basically contains some sub-components, is associated; files
+with the \CV contents are also considered sub-components.
+For these reasons, we can actually say that \classname uses a sort of \textit{list-driven} approach.
+
+\subsection{Main components}
+
+\classname recognizes the following three lists that, for all intends and purposes, are a concrete
+representation of the main logical components:
+
+\bigskip
+\begin{myindent}
+\textbf{headerlayoutlist},\hspace{5pt}\textbf{bodylayoutlist},\hspace{5pt}\textbf{footerlayoutlist}.
+\end{myindent}
+
+\bigskip
+It is mandatory, for the correct behavior of the class, to not change the above list's names. In
+the case a component is not required, the relative list may be omitted: for example, if a \CV does
+not have a footer component, the list \textit{footerlayoutlist} is not strictly necessary.\\
+What follows is an example of a list definition:\codeskip
+\begin{latexcode}[numbers=none]
+\def\headerlayoutlist{sub-component1,sub-component2,[...]}
+\end{latexcode}
+
+\subsection{Sub-components}
+
+We previously said that \classname is based on three main components (\textit{header},
+\textit{body} and \textit{footer}) and that each of these ones are represented by a list. A list
+(therefore a main component), in turn, may have one or more sub-component, separated by
+a comma, which are identified as follows:
+
+\squishlist[0pt]
+ \item \texttt{\ctext{Main}[Header|Body|Footer]\ctext{PageBegin}};
+ \item \texttt{\ctext{Main}[Header|Body|Footer]\ctext{PageEnd}};
+ \item \texttt{\ctext[blue]{Sub}[Header|Body|Footer]\ctext[blue]{PageBegin}};
+ \item \texttt{\ctext[blue]{Sub}[Header|Body|Footer]\ctext[blue]{PageEnd}};
+ \item \texttt{\ctext[orange]{filename}} with the (partial) \CV contents.
+\squishend\sep
+
+Both ``\verb|Main[...]PageBegin|'' and ``\verb|Sub[...]PageBegin|'' are \textit{minipages}; the
+difference is that the former have a default width of $100\%$ of the \textit{textwidth}
+macro, while that value is $44\text{-}45\%$ for the latter (it depends on the components type).
+
+A \textit{filename} sub-component may either be the name of a file or a macro with it:
+depending on the case, the syntax slightly changes.%~\myreftwo{subsub:component-options}.
+
+\subsubsection{Sub-components options}
+\label{subsub:component-options}
+
+Each sub-component, \textit{filename} included, may have associated options, with colons
+as separators, so that the syntax is something like:\codeskip
+\begin{latexcode}[numbers=none]
+ $sub-component$:option1:option2:[...]
+\end{latexcode}
+
+If truth be told, each option already has its own separator, so colons are not strictly necessary
+and, as a separator, any other symbol may be used. If wanted, it is also possible to not have any
+separator at all, but this is not recommended if only for a matter of clarity.
+
+\medskip
+Options for a sub-component are of different types, as listed below:
+
+\def\tmpcolor{gray}
+\squishlist
+ \item <\optname{[pre\textbar post]cmd}\verb|:command1:command2:[...]|>\optdsep
+ a sequence of commands is executed \textit{before}/\textit{after} the
+ beginning or ending of a sub-component (\textit{filename} included).
+ A command may have a sequence of arguments, separated by ``='',
+ each of which can either be \textit{optional} or \textit{mandatory}.
+ In total, the class recognizes four types of arguments:
+ \squishlist[0pt]
+ \item \ctext[blue]{arg} (mandatory argument equivalent to \{arg\});
+ \item \ctext[blue]{@arg} (optional argument equivalent to [arg]);
+ \item \ctext[blue]{!arg} (optional argument equivalent to <arg>);
+ \item \ctext[blue]{*} (optional argument equivalent to *).
+ \squishend
+ \item /\optname{m[l\textbar r]}\verb|<value>|/\hfill\opthsep{\small($1$)}\optvsep
+ /\optname{endm[l\textbar r]}/\hfill\opthsep{\small($2$)}\optdsep
+ changes the \textit{left}/\textit{right} margin of a text portion of a document, between
+ option {\small($1$)} and option {\small($2$)}; in a typical usage, these options are
+ associated with different sub-components, such as \verb|*PageBegin| and \verb|*PageEnd|.
+ Each time the option {\small($1$)} is used, the option {\small($2$)} is also required
+ for ending the margin modification, except for the \textit{filename}
+ sub-component that automatically does that. Example (it moves the left margin to the
+ right of $0.2$in):
+ \begin{myindent}
+ \texttt{%
+ \ctext[\tmpcolor]{%
+ SubBodyPageBegin:</ml0.2in/>\\
+ \omissis\\
+ SubBodyPageEnd:</endml>}%
+ }.
+ \end{myindent}
+ \item \verb|<width-value>|\optdsep
+ sets the width of a sub-component in terms of \textit{textwidth} percentage.
+ This option only exists for ``\verb|*PageBegin|`` sub-components. Example:
+ \ctext[\tmpcolor]{\texttt{SubBodyPageBegin:<0.48>}}.
+ \item /\optname{pagesize}\verb|<value>|/\optdsep
+ sets the width of a sub-component, as the option above, but in terms of absolute reference
+ (instead of \textit{textwidth} percentage). Also this option only exists for
+ ``\verb|*PageBegin|`` sub-components. Example:
+ \ctext[\tmpcolor]{\texttt{SubBodyPageBegin:/pagesize5.5in/}}.
+ \item /\optname{pagebreak}/\optdsep
+ permits to break two contiguous sub-components, aligning them one above the other, instead
+ of side by side (that is the default behavior). This option only exists for
+ ``\verb|*PageEnd|'' sub-components.
+ Example: \ctext[\tmpcolor]{\texttt{SubBodyPageEnd:/pagebreak/}}.
+ \item \optname{*}macroname\optvsep
+ filename\optname{@}\optdsep
+ \argname{macroname} is a macro expanding to the name of a file (with the \CV contents),
+ while \argname{filename} is directly the name itself (the only \textit{non-alphanumeric}
+ characters allowed there are ``\_'' and ``-'').
+ Example: \ctext[\tmpcolor]{\texttt{*headerfile}}, where the macro \textit{headerfile}
+ is somewhere defined.
+\squishend
+\ifparchment\end{parchment}\fi
+\chapter{Usage}
+\quotes{%
+ “There are two ways to write error-free programs; only the third one works”%
+}{Alan J. Perlis}
+\ifparchment\begin{parchment}\fi
+\section{Requirements}
+When \textit{decorations} are not enabled and the \textit{default style} is not used, \classname
+has
+the following requirements:\codeskip
+\begin{latexcode}[numbers=none]
+\RequirePackage{kvoptions} % for class options with key-value format
+\RequirePackage{etextools} % for lists and other useful tools
+\RequirePackage{ifthen} % for the \ifthenelse command
+\RequirePackage{xstring} % for string utilities
+\RequirePackage{svn-prov} % for file info extracted from SVN
+\RequirePackage{hyperref} % for hypertext links and other stuff
+\end{latexcode}
+
+If the default style is used, by means of the class option
+``\textit{style}''~\myref{sec:class-options}, this class requires (in addiction to
+\textit{hyperref} and \textit{svn-prov}):\codeskip
+\begin{latexcode}[numbers=none]
+\RequirePackage{xparse} % for commands with multiple default arguments
+\RequirePackage{pifont} % for the 'ding' style (itemize environment)
+\RequirePackage{titlesec} % for title format and spacing
+\RequirePackage{fancyhdr} % for custom headers and footers
+\RequirePackage{xcolor} % for colors
+\RequirePackage{calligra} % for the calligra font
+\RequirePackage{times} % for the times font
+\RequirePackage{marvosym} % symbols - phone
+\RequirePackage{amssymb} % symbols - email
+\end{latexcode}
+
+Finally, if decorations are enabled, by using the class
+option ``\textit{withDec}``~\myref{sec:class-options}, this class also requires (in addiction
+to \textit{svn-prov}, \textit{xparse} and \textit{xstring}):\codeskip
+\begin{latexcode}[firstnumber=1,numbers=none]
+\RequirePackage{tikz} % for graphics
+\end{latexcode}
+
+\section{Class options}
+\label{sec:class-options}
+
+\classname can use any option supported by the \textit{article} class, on which is based. In
+addiction, it provides the following options:
+\def\tmpcolor{brown}
+\squishlist
+\item {\color{red}language=<\argname[\tmpcolor]{string}>}
+ \begin{myindent}
+ string language to pass to the \textit{babel} package for the document (\CV) language;
+ \end{myindent}
+\item {\color{red}cntdir=<\argname[\tmpcolor]{dirname}>}
+ \begin{myindent}
+ sets the directory name where \classname will search for files with the \CV contents.\\
+ The default one is ``Contents'';
+ \end{myindent}
+\item {\color{red}style=<\argname[\tmpcolor]{filemane}>}
+ \begin{myindent}
+ specifies the file name (with or without the extension ``.sty'') containing the style commands.
+ By default, the file \textit{mycv\_style.sty}, provided by the class itself, is that used.
+ It is also possible to not use any style file by specifying the value ``none'' as file name;
+ \end{myindent}
+\item {\color{red}mdlname=<\argname[\tmpcolor]{name}>}
+ \begin{myindent}
+ registers a name for the layout (model) intended to be used: in this way is possible, for
+ example, to select the appropriate layout configuration file or a layout-specific portion of
+ code;
+ \end{myindent}
+\item {\color{red}withDec}
+ \begin{myindent}
+ enables support for decorations (provided by the \textit{TikZ} package).
+ \end{myindent}
+\squishend
+
+\section{Class commands}
+
+Here follows the complete list of the commands provided by \classname. The style commands
+are only available if the class option ``\textit{style}'' was used;
+the same goes for the decoration commands,
+which need the class option ``\textit{withDec}''.\\
+In the following text of this section, when present, the form {\color{blue}\omissis} (or
+{\color{blue}<...>}) indicates the default choice for an optional argument of a command.
+
+\subsection{Conditionals}
+
+\squishlist
+\item \cmdname{ifoption}
+ \marg{option}\arghsep
+ \marg{true}\arghsep\marg{false}\argvsep
+ \cmdname{ifmodel}
+ \marg{mdlname}\arghsep
+ \marg{true}\arghsep\marg{false}\cmddsep
+ \textit{ifoption} checks whether \argname{option} was used,
+ while \textit{ifmodel} checks whether \argname{mdlname} was registered in the class; then both
+ commands use the appropriate \argname{true} or \argname{false} block of code.
+\squishend
+
+\subsection{Default style}
+\label{sub:style-commands}
+
+\squishlist
+\item \cmdname{mysectionTitleFormat}
+ \begin{myindent}
+ \dargone{titlerule-color-above}{myheadingscolor}\argvsep
+ \dargone{titlerule-color-below}{myheadingscolor}
+ \end{myindent}\cmddsep
+ \argname{titlerule-color-above} is the color for the rule above a section name, while
+ \argname{titlerule-color-below} is for the one below. \textit{myheadingscolor} is the default
+ color.
+\item \cmdname{mysectionTitleSpacing}
+ \begin{myindent}
+ \dargone{left}{$0\text{pt}$}\arghsep
+ \dargone{beforesep}{$0\text{pt}$}\arghsep
+ \dargone{aftersep}{$5\text{pt}$}
+ \end{myindent}\cmddsep
+ this command is just an alias for
+ \textit{\textbackslash{titlespacing}\{\textbackslash{section}\}\{\argname{left}\}%
+ \{\argname{beforesep}\}\{\argname{aftersep}\}}. See the \textit{titlesec} package for further
+ information.
+\item \cmdname{mycfoot}
+ \marg{text}\cmddsep
+ adds \argname{text} to the page footer. It may be useful, for example, to show information
+ about the last update of the document.
+\item \cmdname{myitemize}
+ \cmddsep
+ a list environment that uses the \textit{ding} style.
+\squishend
+
+\subsection{Decorations}
+\label{sub:decoration-commands}
+
+\classname provides some commands for \textit{TikZ} decorations. The support
+provided is not complete at all (on the other hand \textit{TikZ} has a huge amount of
+functionality), but it is enough for this class purposes. The only \textit{TikZ} path supported is
+\textit{rectangle}.
+
+\squishlist
+\item \cmdname{mydecorationsPathmorphing}[*]
+ \begin{myindent}
+ \dargone{show-decoration}{$1$}\argvsep
+ \marg{decoration-type}\argvsep
+ \dargone{decoration-color}{gray}\argvsep
+ \dargtwo{shading-type}{radial}\argvsep
+ \dargtwo{background-color}{white}%
+ \end{myindent}\cmddsep
+ \argname{show-decoration}, if equals $1$, shows the decoration \argname{decoration-type},
+ while if $0$ does not.
+ The \textit{starred} version of the command uses the shading technique and the last argument is
+ the background shading color.\\
+ The \textit{not starred} version does not consider the argument \argname{shading-type}
+ (just for a matter of clarity, a ``none'' value may be used) and the last argument is simply the
+ background color.\\
+ \argname{decoration-type} was tested with the following values: ``shape'', ``straight'',
+ ``zigzag``, ``random steps``, ``saw``, ``bent``, ``bumps``, ``coil``, ``snake'' and
+ ``Koch snowflake``.\\
+ \argname{shading-type} was tested with ``radial'' and ``ball'' shadings.
+\item \cmdname{mydecorationsShape}
+ \begin{myindent}
+ \dargone{show-decoration}{$1$}\arghsep
+ \marg{decoration-type}\arghsep
+ \dargone{decoration-color}{gray}
+ \end{myindent}\cmddsep
+ \argname{show-decoration}, if equals $1$, shows the decoration \argname{decoration-type},
+ while if $0$ does not.\\
+ \argname{decoration-type} was tested with the following decorations: ``dart'', ``diamond'',
+ ``rectangle'' and ``star''.
+\item \cmdname{mydecorationsFading}
+ \begin{myindent}
+ \dargone{path-fading}{north}\argvsep
+ \marg{primary-color}\argvsep
+ \dargone{color-gradient}{$80$}\argvsep
+ \dargone{secondary-color}{black}\argvsep
+ \dargtwo{opacity}{$1.0$}%
+ \end{myindent}\cmddsep
+ the resulting fill color is given by \argname{primary-color}, \argname{color-gradient}
+ and \argname{secondary-color}, which are composed as follows:
+ \argname{primary-color}!\argname{color-gradient}!\argname{secondary-color}.
+\item \cmdname{mydecorationsSetPos[XTL|YTL|XBR|YBR]}
+ \begin{myindent}
+ \dargone{coordinate-value}{$1\text{cm}\mid-1\text{cm}\mid-1\text{cm}\mid1\text{cm}$}
+ \end{myindent}\cmddsep
+ sets the position for the decoration in use. Since the decoration path is \textit{rectangle}, it
+ is sufficient to have the $(x,y)$ coordinates of two points: the top-left and bottom-right.
+ \textit{XTL} stands for ``\texttt{X-Top-Left}'', \textit{XBR} for ``\texttt{X-Bottom-Right}''
+ and so on.
+\item
+ \cmdname{mydecorationsSetLineWidth}[*]
+ \dargone{line-width}{tikz value}\cmdvsep
+ \cmdname{mydecorationsSetSegmentAmplitude}[*]
+ \dargone{segment-amplitude}{tikz value}\cmdvsep
+ \cmdname{mydecorationsSetSegmentLength}[*]
+ \dargone{segment-length}{tikz value}\cmddsep
+ these commands may respectively be used for modifying the properties \argname{line-width},
+ \argname{segment-amplitude} and \argname{segment-length} for the decoration in use.
+ \textit{Starred} versions do not require any argument and reinitialize the properties to their
+ default values.
+\squishend
+
+\subsection{Miscellaneous}
+
+\squishlist
+\item
+ \cmdname{mypdfauthor}
+ \marg{author}\cmdvsep
+ \cmdname{mypdftitle}
+ \marg{title}\cmdvsep
+ \cmdname{mypdfsubject}
+ \marg{subject}\cmddsep
+ these commands do nothing but register \argname{author}, \argname{title} and \argname{subject}
+ information in the document properties of the pdf is being produced.
+
+\item \cmdname{mylang}
+ \marg{text}\arghsep
+ \dargone{language}{english}\cmddsep
+ temporarily changes the language in use (\textit{babel} package) to \argname{language} for
+ \argname{text}.
+
+\item \cmdname{mychangemargin}
+ \marg{left-margin}\arghsep
+ \marg{right-margin}\cmddsep
+ \textit{mychangemargin} environment changes the left and right margin of a portion of
+ text. The environments \textit{mychangemarginLeft} and \textit{mychangemarginRight}, whose
+ meaning is straight forward, are also available.
+
+\item \cmdname{myrenderlayout}
+ \dargone{component}{a}\cmddsep
+ processes and draws the layout component(s). The option value ``h'' is for the header component,
+ ``b'' and ``f'', respectively, for the body and footer ones, while ``a'' is for all components.
+\squishend
+
+\section{Some examples}
+
+This section gives some \textit{minimal} examples and does some considerations about the use of
+\classname (the class permits to do much better with a little patience). This is done by creating
+two \textit{curriculum vit\ae{}} with the same contents, but different layouts: one \CV will use a
+double page layout (abbreviated \DPL from here forward), while the other will use a single page
+layout (\SPL).
+
+The sample code presented here can be found in the ``Examples'' directory shipped with the
+\textit{mycv} bundle, which this document is part of, and that also contains files with the \CV
+contents: these files are not listed in the present document, as they do not contain anything worth
+being mentioned for the purpose of these notes.
+
+First and foremost, to keep the code organized, we need a file containing the layout components
+for the \DPL and \SPL (\textit{model-layouts.tex}). We opt to share the \textit{header} and
+\textit{footer} components, so we also create a second file named \textit{model-common.tex},
+such as in listing~\ref{lst:model-common}.
+\begin{latexcode}[firstnumber=1,caption=model-common.tex,label=lst:model-common]
+% ----------------------
+% the shared header list
+% ----------------------
+\def\headerlayoutlist{%
+ &MainHeaderPageBegin&:<postcmd:vspace=10pt>,
+ % --------------------------------- left header
+ |SubHeaderPageBegin|:<precmd:hfill>,
+ % header file (1)
+ $header_title@$,
+ |SubHeaderPageEnd|:<postcmd:hfill>,
+ % --------------------------------- right header
+ |SubHeaderPageBegin|,
+ % header file (2)
+ $header_contacts@$,
+ |SubHeaderPageEnd|,
+ &MainHeaderPageEnd&%
+}
+
+% ----------------------
+% the shared footer list
+% ----------------------
+\def\footerlayoutlist{footer_sign@}
+\end{latexcode}
+
+\subsection{Double page layout}
+
+Here we deal with the layout components specific for the \DPL, as showed in
+listing~\ref{lst:dplmodel}.
+\begin{latexcode}[firstnumber=1,caption=DPL model (part of 'model-layouts.tex'),label=lst:dplmodel]
+\def\bodylayoutlist{% the DPL's body list
+ % ---------------------------------------------------------
+ % moves the right margin to the left (text and title rules)
+ % ---------------------------------------------------------
+ &MainBodyPageBegin&:<0.96>,
+ % ---------------------------------------------------------
+ % the 2 directives below are just used as a trick to do the
+ % same thing for the left margin (it is moved to the right)
+ % ---------------------------------------------------------
+ |SubBodyPageBegin|,
+ |SubBodyPageEnd|,
+ % -----------------------------------------
+ % left page (0.48 of textwidth)
+ % -----------------------------------------
+ |SubBodyPageBegin|:<0.48>,
+ $contents_partA@$:<precmd:vspace=10pt:sectionnumber=1>,
+ $contents_partB@$:<precmd:vspace=10pt:sectionnumber=2>,
+ $contents_partC@$:<precmd:vspace=10pt:sectionnumber=3>,
+ |SubBodyPageEnd|:<postcmd:hfill>,
+ % -----------------------------------------
+ % right page (0.48 of textwidth)
+ % -----------------------------------------
+ |SubBodyPageBegin|:<0.48>,
+ $contents_partA@$:<precmd:vspace=10pt:sectionnumber=4>,
+ $contents_partB@$:<precmd:vspace=10pt:sectionnumber=5>,
+ |SubBodyPageEnd|,
+ % -----------------------------------------
+ &MainBodyPageEnd&%
+}
+\end{latexcode}
+
+\subsection{Single page layout}
+
+As far as the \SPL, we do not need to use the \verb|*PageBegin| components, but it is sufficient to
+directly include the files with the contents. The resulting code is showed
+in listing~\ref{lst:splmodel}.
+\begin{latexcode}[firstnumber=1,caption=SPL model (part of
+'model-layouts.tex'),label=lst:splmodel]
+\def\bodylayoutlist{% the SPL's body list
+ % ---------------------------------------------------
+ $contents_partA@$:<precmd:vspace=10pt:sectionnumber=1>,
+ $contents_partB@$:<precmd:vspace=10pt:sectionnumber=2>,
+ $contents_partC@$:<precmd:vspace=10pt:sectionnumber=3>,
+ $contents_partA@$:<precmd:vspace=10pt:sectionnumber=4>,
+ $contents_partB@$:<precmd:vspace=10pt:sectionnumber=5>
+ % ---------------------------------------------------
+}
+\end{latexcode}
+
+\subsection{Main file}
+
+Since we both have the components for the double and single page layouts, we can proceed writing the
+main file (\textit{mycv-example-main.tex}) that picks and use them.\\
+We start by setting up some options for the
+class, such as those related to the decorations and language support, as well as the name of the
+model (layout) we mean to register.
+Besides, we opt to store the \CV contents files in the current directory (that is not the default one
+where the class searches for the contents files), so there is need to specify its path with
+the option ``\textit{cntdir}''.
+
+In listing~\ref{lst:mycv-example-main} we take the \DPL as an example, but switching to the
+\SPL would just be a matter of changing the ``\textit{mdlname}'' option from \keyword{verDPL} to
+\keyword{verSPL}.
+\begin{latexcode}[firstnumber=1,label=lst:mycv-example-main,caption=mycv-example-main.tex]
+\documentclass[10pt,mdlname=verDPL,withDec,cntdir=.,language=english]{mycv}
+\input{mycv-example-common}
+\begin{document}
+\cvdec\myrenderlayout\mycfoot{Last update: \today}
+\end{document}
+\end{latexcode}
+
+The file \textit{mycv-example-common[.tex]}, showed in listing~\ref{lst:example-common},
+selects the appropriate layout components (listings~\ref{lst:dplmodel} or \ref{lst:splmodel}) to be
+included and, subsequently, processed by \textit{\textbackslash{}myrenderlayout}.
+In addiction, the file \textit{mycv-example-common.tex} contains some decoration commands, which
+need to be used only if the option ``\textit{withDec}' was given to the class; this is the
+reason of the conditional command \textit{\textbackslash{}ifoption}.
+\begin{latexcode}[firstnumber=1,caption=mcv-example-common.tex,label=lst:example-common]
+[...]
+\ifoption{withDec}{%
+ \newcommand{\cvdec}{
+ \mydecorationsSetLineWidth[0.3mm]%
+ \mydecorationsPathmorphing*{coil}<radial><lightgray>
+ }
+ [...]
+}{\newcommand{\cvdec}{}}
+
+% include layouts components
+\input{model-layouts}
+[...]
+\end{latexcode}
+
+\subsection{Layout notes}
+
+When a double layout page is used, it may occur, for example, that a section is too long for a
+page: this would not be a problem with a single page layout, since \LaTeX{} would automatically
+break the section contents. Unfortunately, with a double page layout the behavior is substantially
+different: this is because the class uses a \textit{minipage-based mechanism} and a minipage is by
+itself not breakable. Thus, what happens is that part of the section contents comes out from the
+page margins.
+
+When a problem such as this occurs, a possible workaround is to manually break the section contents.
+This can be done by using a counter that keeps track of the number of times a same file is included:
+when the counter is equal $1$, a part of the section contents is included in the left page,
+otherwise is the remaining one to be included in the right page.
+Listing~\ref{lst:split-contents-example} shows a practical example of what just discussed.
+\begin{latexcode}[firstnumber=1,label=lst:split-contents-example,
+caption=workaround example]
+% ---------------------------------------------------------
+% file with the section contents: i.e. <section_skills.tex>
+% ---------------------------------------------------------
+% increases the counter 'cnt': it's defined outside this file
+\stepcounter{cnt}
+
+% selects the appropriate part of the file contents
+\newcommand{\condblock}[2]{\ifthenelse{\value{cnt}<2}{#1}{#2}}
+
+\condblock{skills section contents part A}%
+ {skills section contents part B (the remaining part)}
+
+% ------------------------------------------------------
+% file with the DPL components: i.e. <model-layouts.tex>
+% ------------------------------------------------------
+\def\bodylayoutlist{%
+ |SubBodyPageBegin|:<0.48>, % left page
+ % include part A in the left page
+ $section_skills@$,
+ [...]
+ |SubBodyPageEnd|,
+ |SubBodyPageBegin|:<0.48>, % right page
+ % include part B in the right page
+ $section_skills@$,
+ [...]
+ |SubBodyPageEnd|
+}
+\end{latexcode}
+
+Of course the proposed workaround is not the best we could wish for, since it requires manual
+operations.
+As an alternative, it is possible to not use the \verb|*PageBegin| and \verb|*PageEnd| mechanism,
+delegating the double page layout to an external package (i.e. \textit{multicols}).
+This kind of approach is showed in listings~\ref{lst:model-dpl2}.
+\begin{latexcode}[firstnumber=1,caption=DPL$2$ model (part of
+'model-layouts.tex'),label=lst:model-dpl2]
+\newcommand{\mcbegin}{\begin{multicols}{2}}
+\newcommand{\mcend}{\end{multicols}}
+
+\def\bodylayoutlist{%
+ $contents_partA@$:<precmd:vspace=10pt:mcbegin:sectionnumber=1>,%
+ [...]
+ $contents_partB@$:<precmd:vspace=10pt:sectionnumber=6>:<postcmd:mcend>,%
+}
+\end{latexcode}
+
+Notice the usage of the commands \textit{\textbackslash{mcbegin}} and
+\textit{\textbackslash{mcend}}, which act as a wrapper for the \textit{multicols} environment.
+
+\section{Split file contents}
+
+This class uses a file based approach as far as the contents of a \CV, that is to say it needs that
+the contents be into separated file/s (at least one) with respect to the main file.
+
+As the class works, having the contents in just one single file is not as good as would be with
+multiple files (ideally a file for each section of the document), since multiple files allow to
+more easily customize the \CV layout without directly acting on the contents.
+On the other hand, a multiple file approach may compel to use several files and not be
+convenient.\\
+For these reasons, this class provides a \keyword{PERL} script named
+\textit{mycv\_split\_contents.pl} (for a list of all the options provided, type
+\textit{mycv\_split\_contents.pl -h} inside a shell environment)
+that can process a file and, according to what specified by the
+directives in the file itself, split its contents into several files (which will be those
+effectively used by the class). In this way is possible to directly manage one single file for the
+contents.
+
+If requested, the script can also create a basic model file with the layout components:
+it has to be considered just as a skeleton and probably needs to be edited by hand afterward.
+
+The directives that may be used inside a contents file have the following form:\codeskip
+\begin{latexcode}[numbers=none]
+###::|filename|:$component$:&commands&
+\end{latexcode}
+
+{\color{orange}\textit{filemane}} is the name of the file to create,
+{\color{brown}\textit{component}} is the main component (\textit{header}, \textit{body} or
+\textit{footer}) that the file represents, while {\color{red}\textit{commands}} are the relative
+commands associated to the component.
+Both \textit{component} and \textit{commands} are not mandatory, but may be useful, especially
+\textit{component}, when is requested to generate a basic model file.\\
+The script \textit{mycv\_split\_contents.pl} may be called inside the main file as showed in
+listing~\ref{lst:mycv-example-main2}.
+
+\begin{latexcode}[firstnumber=1,caption=Split contents example,label=lst:mycv-example-main2]
+% -------------------------------------------------------------------
+% To compile this file is necessary to use the option '-shell-escape'
+% to enable the 'write18' construct.
+% -------------------------------------------------------------------
+\documentclass[10pt,mdlname=verSPL,withDec,language=english]{mycv}
+\immediate\write18{<dirpath>/mycv_split_contents.pl -i cv-contents.tex}
+[...]
+\end{latexcode}
+
+When the file \textit{cv-contents.tex} (listing~\ref{lst:cv-contents}) is processed by the script,
+the files \textit{*.tex} are created in the directory ''Contents`` (the default one).
+\begin{latexcode}[firstnumber=1,caption=cv-contents.tex,label=lst:cv-contents]
+% -----------------------------
+% ###::header_title.tex::header
+% -----------------------------
+[...]
+% -------------------------------------------------------------------
+% ###::contents_partA.tex::body::<precmd:vspace=10pt:sectionnumber=1>
+% -------------------------------------------------------------------
+[...]
+% -------------------------------------------------------------------
+% ###::contents_partB.tex::body::<precmd:vspace=10pt:sectionnumber=2>
+% -------------------------------------------------------------------
+[...]
+% ----------------------------
+% ###::footer_sign.tex::footer
+% ----------------------------
+[...]
+\end{latexcode}
+
+\bigskip
+\fbox{That's all, {\color{brown}happy \LaTeX{}ing!}}
+\hfill\Large\calligra{AndreaGhersi}
+\ifparchment\end{parchment}\fi
+
\end{document} \ No newline at end of file