mirror of
https://github.com/moderncv/moderncv.git
synced 2026-02-06 10:05:19 +01:00
begin work on making one single package
This commit is contained in:
parent
d3b3123afc
commit
eb87e39006
3 changed files with 294 additions and 4 deletions
|
|
@ -37,7 +37,9 @@
|
|||
%-------------------------------------------------------------------------------
|
||||
% required packages
|
||||
%-------------------------------------------------------------------------------
|
||||
|
||||
% provides the commands for the skillmatrix as well as the command
|
||||
% \recomputecvskillmatrixlengths
|
||||
\RequirePackage[moderncvbodyiii]{moderncvskillmatrix}
|
||||
|
||||
%-------------------------------------------------------------------------------
|
||||
% overall body definition
|
||||
|
|
@ -89,7 +91,6 @@
|
|||
|
||||
%% include moderncv Skillmatrix code
|
||||
\input{moderncvbodyiiiskillmatrix.sty}
|
||||
|
||||
% commands
|
||||
\renewcommand*{\recomputecvbodylengths}{%
|
||||
% body lengths
|
||||
|
|
|
|||
289
moderncvskillmatrix.sty
Normal file
289
moderncvskillmatrix.sty
Normal file
|
|
@ -0,0 +1,289 @@
|
|||
%% start of file `moderncvskillmatrix.sty'.
|
||||
%% Copyright 2021 David Seus (cryptointerest@posteo.de).
|
||||
%
|
||||
% This package provides a skill matrix template for the moderncv package.
|
||||
%
|
||||
% 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/.
|
||||
|
||||
|
||||
%-------------------------------------------------------------------------------
|
||||
% identification
|
||||
%-------------------------------------------------------------------------------
|
||||
\NeedsTeXFormat{LaTeX2e}
|
||||
\ProvidesPackage{moderncvskillmatrix}[2021/01/18 v2.1.0 modern curriculum vitae and letter skill matrix]
|
||||
|
||||
% The definitions need to be adjusted depending on which moderncvbody<i-v>.sty style is usde.
|
||||
% body type options: "moderncvbodyi" (default), "moderncvbodyii", "moderncvbodyiii", "moderncvbodyiv" or "moderncvbodyv"
|
||||
\@initializeif{\if@moderncvbodyi}\@moderncvbodyifalse
|
||||
\DeclareOption{moderncvbodyi}{\@moderncvbodyitrue\@moderncvbodyiifalse\@moderncvbodyiiifalse\@moderncvbodyivfalse\@moderncvbodyvfalse}
|
||||
\@initializeif{\if@moderncvbodyii}\@moderncvbodyiifalse
|
||||
\DeclareOption{moderncvbodyii}{\@moderncvbodyifalse\@moderncvbodyiitrue\@moderncvbodyiiifalse\@moderncvbodyivfalse\@moderncvbodyvfalse}
|
||||
\@initializeif{\if@moderncvbodyiii}\@moderncvbodyiiifalse
|
||||
\DeclareOption{moderncvbodyiii}{\@moderncvbodyifalse\@moderncvbodyiifalse\@moderncvbodyiiitrue\@moderncvbodyivfalse\@moderncvbodyvfalse}
|
||||
\@initializeif{\if@moderncvbodyiv}\@moderncvbodyivfalse
|
||||
\DeclareOption{moderncvbodyiv}{\@moderncvbodyifalse\@moderncvbodyiifalse\@moderncvbodyiiifalse\@moderncvbodyivtrue\@moderncvbodyvfalse}
|
||||
\@initializeif{\if@moderncvbodyv}\@moderncvbodyvfalse
|
||||
\DeclareOption{moderncvbodyv}{\@moderncvbodyifalse\@moderncvbodyiifalse\@moderncvbodyiiifalse\@moderncvbodyivfalse\@moderncvbodyvtrue}
|
||||
|
||||
\DeclareOption*{}% avoid choking on unknown options
|
||||
\ExecuteOptions{moderncvbodyi}
|
||||
\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
|
||||
|
||||
%-------------------------------------------------------------------------------
|
||||
% required packages
|
||||
%-------------------------------------------------------------------------------
|
||||
\RequirePackage{tikz}
|
||||
\RequirePackage{multirow}
|
||||
% package arydshln is needed for the dashed lines but is incompatible with fancy style
|
||||
\if@moderncvbodyv%
|
||||
% \RequirePackage{arydshln} % incompatible with fancy style
|
||||
\else%
|
||||
\RequirePackage{arydshln} % incompatible with fancy style
|
||||
\fi
|
||||
|
||||
%-------------------------------------------------------------------------------
|
||||
% overall body definition
|
||||
%-------------------------------------------------------------------------------
|
||||
% The code for the Skilllevel illustration with the little boxes.
|
||||
% This is idea stolen from the limecv package
|
||||
\@initializelength{\cvSkillRectangleSize}
|
||||
\setlength{\cvSkillRectangleSize}{1.2ex}
|
||||
\newcount\my@repeat@count
|
||||
\DeclareDocumentCommand{\cvSkill}{m}{%
|
||||
\begingroup
|
||||
\my@repeat@count=\z@
|
||||
\@whilenum\my@repeat@count<#1\do{\tikz\filldraw[color1] (0, 0) rectangle (\cvSkillRectangleSize, \cvSkillRectangleSize);\advance%
|
||||
\my@repeat@count\@ne\,}%
|
||||
\my@repeat@count=\numexpr5-\z@\relax
|
||||
\@whilenum\my@repeat@count>#1\do{\tikz\filldraw[color2!30] (0, 0) rectangle (\cvSkillRectangleSize, \cvSkillRectangleSize);\advance%
|
||||
\my@repeat@count\m@ne\,}%
|
||||
\endgroup
|
||||
}
|
||||
|
||||
\@initializelength{\cvskillwidth}
|
||||
\@initializelength{\cvskilldescriptorwidth}
|
||||
\@initializelength{\cvskilllegenddescriptorwidth}
|
||||
\@initializelength{\cvskillexperiencewidth}
|
||||
\@initializelength{\skillmatrixcolumnwidth}
|
||||
\@initializelength{\skillmatrixcommentwidth}
|
||||
\@initializelength{\skillmatrixcommentpadding}
|
||||
\@initializelength{\skillmatrixhintscolumnwidth}
|
||||
\@initializelength{\skilllegendhintscolumnwidth}
|
||||
\NewDocumentCommand{\recomputecvskillmatrixlengths}{}{%
|
||||
\setlength{\skillmatrixcommentpadding}{1ex}
|
||||
\setlength{\separatorcolumnwidth}{\skillmatrixcommentpadding}
|
||||
\setlength{\skillmatrixhintscolumnwidth}{\widthof{``Languages''}}
|
||||
\setlength{\skilllegendhintscolumnwidth}{\skillmatrixhintscolumnwidth} %0.175\textwidth
|
||||
% \setlength{\skillmatrixhintscolumnwidth}{0.14\textwidth} %0.175\textwidth
|
||||
\setlength{\cvskillwidth}{\widthof{\cvSkill{5}}}
|
||||
\setlength{\cvskillexperiencewidth}{\widthof{``Jahre''}}
|
||||
\@initializelength{\matrixbodylength}
|
||||
\setlength{\matrixbodylength}{\maincolumnwidth-\skillmatrixhintscolumnwidth-\separatorcolumnwidth}
|
||||
\setlength{\skillmatrixcolumnwidth}{0.45\matrixbodylength}%
|
||||
\setlength{\cvskilldescriptorwidth}{\skillmatrixcolumnwidth-\cvskillwidth-\cvskillexperiencewidth}
|
||||
\setlength{\skillmatrixcommentwidth}{\matrixbodylength-\skillmatrixcolumnwidth-\skillmatrixcommentpadding}%
|
||||
\setlength{\cvskilllegenddescriptorwidth}{0.5\matrixbodylength-\cvskillwidth-\skillmatrixcommentpadding}
|
||||
% regular lengths
|
||||
\setlength{\parskip}{0\p@}}
|
||||
|
||||
|
||||
% % fonts
|
||||
% \renewcommand*{\sectionfont}{%
|
||||
% \if@norules%
|
||||
% \Large\bfseries\scshape%
|
||||
% \else%
|
||||
% \Large\bfseries\upshape\fi}
|
||||
% \renewcommand*{\subsectionfont}{%
|
||||
% \if@norules%
|
||||
% \large\mdseries\itshape%
|
||||
% \else%
|
||||
% \large\upshape\fontseries{sb}\selectfont\fi}
|
||||
% \renewcommand*{\hintfont}{\bfseries}
|
||||
%
|
||||
% % styles
|
||||
% \renewcommand*{\sectionstyle}[1]{{%
|
||||
% \if@center\centering\else%
|
||||
% \if@right\raggedleft\fi\fi%
|
||||
% \sectionfont\textcolor{color1}{#1}%
|
||||
% \if@shortrules\else%
|
||||
% \par\fi}}
|
||||
% \renewcommand*{\subsectionstyle}[1]{{%
|
||||
% \if@center\centering\else%
|
||||
% \if@right\raggedleft\fi\fi%
|
||||
% \subsectionfont\textcolor{color1}{#1}%
|
||||
% \if@shortrules\else\if@mixedrules\else%
|
||||
% \par\fi\fi}}
|
||||
% \renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{color0}{#1}}}
|
||||
%
|
||||
%
|
||||
% %-------------------------------------------------------------------------------
|
||||
% % resume body definition
|
||||
% %-------------------------------------------------------------------------------
|
||||
% % lengths
|
||||
% % used by \cvitem (and all children command)
|
||||
% \@initializelength{\hintscolumnwidth} \setlength{\hintscolumnwidth}{0.3\textwidth}
|
||||
% \@initializelength{\separatorcolumnwidth} \setlength{\separatorcolumnwidth}{0.025\textwidth}
|
||||
% \@initializelength{\maincolumnwidth}
|
||||
% % used by \cvdoubleitem
|
||||
% \@initializelength{\doubleitemcolumnwidth}
|
||||
% % used by \cvlistitem
|
||||
% \@initializelength{\listitemsymbolwidth} \settowidth{\listitemsymbolwidth}{\listitemsymbol}
|
||||
% \@initializelength{\listitemcolumnwidth}
|
||||
% % used by \cvlistdoubleitem
|
||||
% \@initializelength{\listdoubleitemcolumnwidth}
|
||||
%
|
||||
% %% include moderncv Skillmatrix code
|
||||
% \input{moderncvbodyiiiskillmatrix.sty}
|
||||
%
|
||||
% % commands
|
||||
% \renewcommand*{\recomputecvbodylengths}{%
|
||||
% % body lengths
|
||||
% \setlength{\maincolumnwidth}{\textwidth-\leftskip-\rightskip}%
|
||||
% \setlength{\listitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth}%
|
||||
% \setlength{\doubleitemcolumnwidth}{\maincolumnwidth-\separatorcolumnwidth}%
|
||||
% \setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}%
|
||||
% \setlength{\listdoubleitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}%
|
||||
% \setlength{\listdoubleitemcolumnwidth}{0.5\listdoubleitemcolumnwidth}%
|
||||
% \recomputecvskillmatrixlengths
|
||||
% % regular lengths
|
||||
% \setlength{\parskip}{0\p@}}
|
||||
%
|
||||
% \RenewDocumentCommand{\section}{sm}{%
|
||||
% \par\addvspace{2.5ex}%
|
||||
% \phantomsection{}% reset the anchor for hyperrefs
|
||||
% \addcontentsline{toc}{section}{#2}%
|
||||
% \if@left\else\if@fullrules\else\if@mixedrules\else%
|
||||
% \sectionrule\fi\fi\fi%
|
||||
% \strut\sectionstyle{#2}%
|
||||
% \if@fullrules%
|
||||
% \sectionrule%
|
||||
% \else\if@mixedrules%
|
||||
% \sectionrule%
|
||||
% \else\if@right\else%
|
||||
% \sectionrule\fi\fi\fi%
|
||||
% \par\nobreak\addvspace{1ex}\@afterheading}
|
||||
%
|
||||
% \RenewDocumentCommand{\subsection}{sm}{%
|
||||
% \par\addvspace{1ex}%
|
||||
% \phantomsection{}%
|
||||
% \addcontentsline{toc}{subsection}{#2}%
|
||||
% \if@left\else\if@fullrules\else%
|
||||
% \subsectionrule\fi\fi%
|
||||
% \strut\subsectionstyle{#2}%
|
||||
% \if@fullrules%
|
||||
% \subsectionrule%
|
||||
% \else\if@right\else%
|
||||
% \subsectionrule\fi\fi%
|
||||
% \par\nobreak\addvspace{0.5ex}\@afterheading}
|
||||
%
|
||||
% \newcommand*{\sectionrule}{}
|
||||
% \newcommand*{\subsectionrule}{}
|
||||
% \if@fullrules%
|
||||
% \renewcommand*{\sectionrule}{\par\nobreak\vspace*{-.7\baselineskip}\leavevmode{\color{color1}\leaders\hbox{\rule{1pt}{0.4pt}}\hfill\kern0pt}}
|
||||
% \renewcommand*{\subsectionrule}{\par\nobreak\vspace*{-.7\baselineskip}\leavevmode{\color{color1}\xleaders\hbox to 0.35em{\scriptsize.}\hfill}}\fi% different subsectionrules will not be perfectly aligned, but remaining space at the end of the fill will be distributed evenly between leaders, so it will be barely visible}
|
||||
% \if@shortrules%
|
||||
% \renewcommand*{\sectionrule}{\leavevmode{\color{color1}\leaders\hbox{\rule{1pt}{0.4pt}}\hfill\kern0pt}}
|
||||
% \renewcommand*{\subsectionrule}{\leavevmode{\color{color1}\xleaders\hbox to 0.35em{\scriptsize.}\hfill}}\fi% different subsectionrules will not be perfectly aligned, but remaining space at the end of the fill will be distributed evenly between leaders, so it will be barely visible}}
|
||||
% \if@mixedrules%
|
||||
% \renewcommand*{\sectionrule}{\par\nobreak\vspace*{-.7\baselineskip}\leavevmode{\color{color1}\leaders\hbox{\rule{1pt}{0.4pt}}\hfill\kern0pt}}
|
||||
% \renewcommand*{\subsectionrule}{\leavevmode{\color{color1}\xleaders\hbox to 0.35em{\scriptsize.}\hfill}}\fi% different subsectionrules will not be perfectly aligned, but remaining space at the end of the fill will be distributed evenly between leaders, so it will be barely visible}}
|
||||
% \if@norules%
|
||||
% \renewcommand*{\sectionrule}{}
|
||||
% \renewcommand*{\subsectionrule}{}\fi
|
||||
%
|
||||
% \renewcommand*{\cvitem}[3][.25em]{%
|
||||
% \ifthenelse{\equal{#2}{}}{}{\hintstyle{#2}: }{#3}%
|
||||
% \par\addvspace{#1}}
|
||||
%
|
||||
% \renewcommand*{\cvdoubleitem}[5][.25em]{%
|
||||
% \begin{minipage}[t]{\doubleitemcolumnwidth}\hintstyle{#2}: #3\end{minipage}%
|
||||
% \hfill% fill of \separatorcolumnwidth
|
||||
% \begin{minipage}[t]{\doubleitemcolumnwidth}\ifthenelse{\equal{#4}{}}{}{\hintstyle{#4}: }#5\end{minipage}%
|
||||
% \par\addvspace{#1}}
|
||||
%
|
||||
% \renewcommand*{\cvlistitem}[2][.25em]{%
|
||||
% \listitemsymbol\begin{minipage}[t]{\listitemcolumnwidth}#2\end{minipage}%
|
||||
% \par\addvspace{#1}}
|
||||
%
|
||||
% \renewcommand*{\cvlistdoubleitem}[3][.25em]{%
|
||||
% \cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listdoubleitemcolumnwidth}#2\end{minipage}%
|
||||
% \hfill% fill of \separatorcolumnwidth
|
||||
% \ifthenelse{\equal{#3}{}}%
|
||||
% {}%
|
||||
% {\listitemsymbol\begin{minipage}[t]{\listdoubleitemcolumnwidth}#3\end{minipage}}}}
|
||||
%
|
||||
% \renewcommand*{\cventry}[7][.25em]{
|
||||
% \begin{tabular*}{\maincolumnwidth}{l@{\extracolsep{\fill}}r}%
|
||||
% {\bfseries #4} & {\bfseries #5}\\%
|
||||
% {\itshape #3\ifthenelse{\equal{#6}{}}{}{, #6}} & {\itshape #2}\\%
|
||||
% \end{tabular*}%
|
||||
% \ifx&%
|
||||
% \else{\\%
|
||||
% \begin{minipage}{\maincolumnwidth}%
|
||||
% \small#7%
|
||||
% \end{minipage}}\fi%
|
||||
% \par\addvspace{#1}}
|
||||
%
|
||||
% \@initializebox{\cvitemwithcommentmainbox}
|
||||
% \@initializelength{\cvitemwithcommentmainlength}
|
||||
% \@initializelength{\cvitemwithcommentcommentlength}
|
||||
% \renewcommand*{\cvitemwithcomment}[4][.25em]{%
|
||||
% \savebox{\cvitemwithcommentmainbox}{\ifthenelse{\equal{#2}{}}{}{\hintstyle{#2}: }#3}%
|
||||
% \setlength{\cvitemwithcommentmainlength}{\widthof{\usebox{\cvitemwithcommentmainbox}}}%
|
||||
% \setlength{\cvitemwithcommentcommentlength}{\maincolumnwidth-\separatorcolumnwidth-\cvitemwithcommentmainlength}%
|
||||
% \begin{minipage}[t]{\cvitemwithcommentmainlength}\usebox{\cvitemwithcommentmainbox}\end{minipage}%
|
||||
% \hfill% fill of \separatorcolumnwidth
|
||||
% \begin{minipage}[t]{\cvitemwithcommentcommentlength}\raggedleft\small\itshape#4\end{minipage}%
|
||||
% \par\addvspace{#1}}
|
||||
%
|
||||
% \renewenvironment{thebibliography}[1]%
|
||||
% {%
|
||||
% \bibliographyhead{\refname}%
|
||||
% % \small%
|
||||
% \begin{list}{\bibliographyitemlabel}%
|
||||
% {%
|
||||
% \setlength{\topsep}{0pt}%
|
||||
% \setlength{\labelwidth}{0pt}%
|
||||
% \ifthenelse{\equal{\bibliographyitemlabel}{}}%
|
||||
% {\setlength{\labelsep}{0pt}}%
|
||||
% {\setlength{\labelsep}{\separatorcolumnwidth}}%
|
||||
% \leftmargin\labelwidth%
|
||||
% \advance\leftmargin\labelsep%
|
||||
% \@openbib@code%
|
||||
% \usecounter{enumiv}%
|
||||
% \let\p@enumiv\@empty%
|
||||
% \renewcommand\theenumiv{\@arabic\c@enumiv}}%
|
||||
% \sloppy%
|
||||
% \clubpenalty4000%\@clubpenalty \clubpenalty%
|
||||
% \widowpenalty4000%
|
||||
% \sfcode`\.\@m%
|
||||
% \sfcode `\=1000\relax}%
|
||||
% {%
|
||||
% \def\@noitemerr{\@latex@warning{Empty `thebibliography' environment}}%
|
||||
% \end{list}}
|
||||
%
|
||||
%
|
||||
% %-------------------------------------------------------------------------------
|
||||
% % letter style definition
|
||||
% %-------------------------------------------------------------------------------
|
||||
% % commands
|
||||
% \renewcommand*{\recomputeletterbodylengths}{%
|
||||
% \recomputecvbodylengths%
|
||||
% \setlength{\parskip}{6\p@}}
|
||||
%
|
||||
% \renewcommand*{\makeletterclosing}{
|
||||
% \@closing\\[3em]%
|
||||
% {\bfseries\@firstname~\@lastname}%
|
||||
% \ifthenelse{\isundefined{\@enclosure}}{}{%
|
||||
% \\%
|
||||
% \vfil%
|
||||
% {\color{color2}\itshape\enclname: \@enclosure}}%
|
||||
% \vfil}
|
||||
%
|
||||
|
||||
\endinput
|
||||
|
||||
|
||||
%% end of file `moderncvskillmatrix.sty'.
|
||||
|
|
@ -6,10 +6,10 @@
|
|||
% available at http://www.latex-project.org/lppl/.
|
||||
|
||||
|
||||
\documentclass[11pt,a4paper,sans]{./moderncv} % possible options include font size ('10pt', '11pt' and '12pt'), paper size ('a4paper', 'letterpaper', 'a5paper', 'legalpaper', 'executivepaper' and 'landscape') and font family ('sans' and 'roman')
|
||||
\documentclass[11pt,a4paper,sans]{moderncv} % possible options include font size ('10pt', '11pt' and '12pt'), paper size ('a4paper', 'letterpaper', 'a5paper', 'legalpaper', 'executivepaper' and 'landscape') and font family ('sans' and 'roman')
|
||||
|
||||
% moderncv themes
|
||||
\moderncvstyle{fancy} % style options are 'casual' (default), 'classic', 'banking', 'oldstyle' and 'fancy'
|
||||
\moderncvstyle[right]{banking} % style options are 'casual' (default), 'classic', 'banking', 'oldstyle' and 'fancy'
|
||||
\moderncvcolor{blue} % color options 'black', 'blue' (default), 'burgundy', 'green', 'grey', 'orange', 'purple' and 'red'
|
||||
%\renewcommand{\familydefault}{\sfdefault} % to set the default font; use '\sfdefault' for the default sans serif font, '\rmdefault' for the default roman one, or any tex font name
|
||||
%\nopagenumbers{} % uncomment to suppress automatic page numbering for CVs longer than one page
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue