diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex/mycv/Doc/Chapters/Fundamentals.tex')
-rw-r--r-- | Master/texmf-dist/doc/latex/mycv/Doc/Chapters/Fundamentals.tex | 129 |
1 files changed, 55 insertions, 74 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 index 7384694f9ec..13e080268ea 100644 --- a/Master/texmf-dist/doc/latex/mycv/Doc/Chapters/Fundamentals.tex +++ b/Master/texmf-dist/doc/latex/mycv/Doc/Chapters/Fundamentals.tex @@ -7,104 +7,81 @@ 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 a basic support for using the \textit{TikZ} decorations and defines a bunch -of commands for handling the contents of a \CV, even though this is not its primary goal. +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. - -Probably, the choice of the class's name was not so appropriate but, at the beginning, I did not -plan to publish it and chose the simplest and most obvious name. I realized that only when I -wrote these notes, but by then it was a bit too late. -%As far as the class is concerned, it uses a file-based and list-driven approach. Each file -%represents the contents of a user-chosen part of the curriculum (ideally a section, but this is not -%mandatory and may be anything else); besides, the \CV is logically divided into three main -%components: header, body and footer components. For each main component a list is associated: it -%contains sub-components, among which files with the \CV contents. In addiction, each sub-component -%may have associated some generic or specific commands to be executed. - -Before starting to describe \classname more in details, I have to say it was my first class in -\LaTeX{} and, although I tried to do my best, the lack of experience probably brought me to make -some choice not so opportune as I hoped. It goes without saying that any advice or constructive -criticism is greatly appreciated. +\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 five files. A short brief of each one is given here: +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 (the remaining four); + 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-system file; + \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 this class: if + 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}: if decorations are not - enabled% + 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} + \item \ctext{mycv\_misc.def}\hspace{5pt}and\hspace{5pt}\ctext{mycv\_version.def} \begin{myindent} - it contains some miscellaneous commands and definitions. + 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}. -For each of these ones, a list, that basically contains some sub-components, is being -associated; files with the \CV contents -%, or ideally a part of them (a section for example, but -%this is not mandatory and may be anything else), -are also considered sub-components\footnote{it may be a good practice, to make the best use of this -class, to subdivide the contents of each cv section in different files, although this is not -mandatory and any other choice may be made}. For these reasons, we can actually say that \classname -uses a -%file-based and -sort of \textit{list-driven} approach.%\\ -%Besides, the \CV contents (ideally a section, but may be anything else) is divided in more files. +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: -\def\tmpcolor{black} -\squishlist[0pt] - \item \textbf{\ctext[\tmpcolor]{headerlayoutlist}}; - \item \textbf{\ctext[\tmpcolor]{bodylayoutlist}}; - \item \textbf{\ctext[\tmpcolor]{footerlayoutlist}}. -\squishend\sep +\bigskip +\begin{myindent} +\textbf{headerlayoutlist},\hspace{5pt}\textbf{bodylayoutlist},\hspace{5pt}\textbf{footerlayoutlist}. +\end{myindent} -It is mandatory, for the correct behavior of the class, to not change the above list names. In +\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{lstlisting}[firstnumber=1,numbers=none] +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{lstlisting} +\end{latexcode} \subsection{Sub-components} @@ -126,32 +103,35 @@ difference is that the former have a default width of $100\%$ of the \textit{tex 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 directly be the name of a file or a macro (variable): +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:\sep -\begin{myindent} -\verb|sub-component:option1:option2:[...]|. -\end{myindent}\sep -If truth be told, each option 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, -but this is not recommended (just for a matter of clarity). +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 - begin or end of a sub-component (\textit{filename} included). - A command may have a sequence of arguments, separated by ``=''; - each of them can either be \textit{optional} or \textit{mandatory}. %\\ - In total, \classname recognizes four types of arguments: + 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 + \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>); @@ -162,11 +142,10 @@ Options for a sub-component are of different types, as listed below: 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):\sep + right of $0.2$in): \begin{myindent} \texttt{% \ctext[\tmpcolor]{% @@ -187,13 +166,15 @@ Options for a sub-component are of different types, as listed below: \ctext[\tmpcolor]{\texttt{SubBodyPageBegin:/pagesize5.5in/}}. \item /\optname{pagebreak}/\optdsep permits to break two contiguous sub-components, aligning them one above the other, instead - 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{*}varname\optvsep + 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{varname} is a macro that expands to the name of a file (with the \CV contents), + \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 are ``\_'' and ``-''). + characters allowed there are ``\_'' and ``-''). Example: \ctext[\tmpcolor]{\texttt{*headerfile}}, where the macro \textit{headerfile} is somewhere defined. -\squishend
\ No newline at end of file +\squishend +\ifparchment\end{parchment}\fi
\ No newline at end of file |