adjust padding. update \setcvskilllegendcolumns

Finetune paddings in legend. Some paddings in cvbodyiv are by eyenorm.

Move calculation of desriptorwidths to the \cvskilllengend and
\cvskillplainlegend commands to recalculate these lengths on the
fly. This way, the recalculation of those width is closer to where the
legnths get used which makes the code more readable and makes it easier
to adjust padding.
In addition, this step allows dropping recalculation of these lengths from the
\setcvskilllegendcolumns method, cleaning this method up and achieving a cleaner code.
This commit is contained in:
David 2021-01-22 12:45:00 +01:00
commit 4a5feadc4f

View file

@ -304,78 +304,78 @@
\if@moderncvbodyi% \if@moderncvbodyi%
\RenewDocumentCommand{\recompute@cvskillmatrix@lengths}{}{% \RenewDocumentCommand{\recompute@cvskillmatrix@lengths}{}{%
\setlength{\skillmatrix@padding}{1ex}% \setlength{\skillmatrix@padding}{1ex}%
\setlength{\skilllegend@padding}{0.25ex}%
\setlength{\skillmatrix@hintscolumnwidth}{\hintscolumnwidth}% \setlength{\skillmatrix@hintscolumnwidth}{\hintscolumnwidth}%
\setlength{\skilllegend@hintscolumnwidth}{\hintscolumnwidth}%
\setlength{\cvskill@width}{\widthof{\cvskill{5}}}% \setlength{\cvskill@width}{\widthof{\cvskill{5}}}%
\setlength{\cvskill@experiencewidth}{\widthof{``Year''}}% \setlength{\cvskill@experiencewidth}{\widthof{``Year''}}%
\setlength{\skillmatrix@bodylength}{\maincolumnwidth}% \setlength{\skillmatrix@bodylength}{\maincolumnwidth}%
\setlength{\skillmatrix@columnwidth}{0.45\skillmatrix@bodylength}% \setlength{\skillmatrix@columnwidth}{0.45\skillmatrix@bodylength}%
\setlength{\cvskill@descriptorwidth}{\skillmatrix@columnwidth-\cvskill@width-\cvskill@experiencewidth}% \setlength{\cvskill@descriptorwidth}{\skillmatrix@columnwidth-\cvskill@width-\cvskill@experiencewidth}%
\setlength{\skillmatrix@commentwidth}{\skillmatrix@bodylength-\skillmatrix@columnwidth-3\skillmatrix@padding}% \setlength{\skillmatrix@commentwidth}{\skillmatrix@bodylength-\skillmatrix@columnwidth-3\skillmatrix@padding}%
% lengths and definitions needed for the legends
% note that \skillmatrix@padding also affects the appearance of legends
\setlength{\skilllegend@padding}{0.25ex}%
\setlength{\skilllegend@hintscolumnwidth}{\hintscolumnwidth}%
\setlength{\skilllegend@bodylength}{\skillmatrix@bodylength}% \setlength{\skilllegend@bodylength}{\skillmatrix@bodylength}%
\RenewDocumentCommand{\skilllegend@leftdesriptorfactor}{}{0.5}% \RenewDocumentCommand{\skilllegend@leftdesriptorfactor}{}{0.5}%
\setlength{\cvskilllegend@leftdescriptorwidth}{\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-2\skilllegend@padding}%
\setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-2\skilllegend@padding}%
} }
\fi \fi
% Definition of \recompute@cvskillmatrix@lengths for moderncvbodyiii % Definition of \recompute@cvskillmatrix@lengths for moderncvbodyiii
\if@moderncvbodyiii% \if@moderncvbodyiii%
\RenewDocumentCommand{\recompute@cvskillmatrix@lengths}{}{% \RenewDocumentCommand{\recompute@cvskillmatrix@lengths}{}{%
\setlength{\skillmatrix@padding}{1ex}% \setlength{\skillmatrix@padding}{1ex}%
\setlength{\skilllegend@padding}{0.25ex}%
\setlength{\separatorcolumnwidth}{\skillmatrix@padding}% \setlength{\separatorcolumnwidth}{\skillmatrix@padding}%
\setlength{\skillmatrix@hintscolumnwidth}{\widthof{``Language''}}% \setlength{\skillmatrix@hintscolumnwidth}{\widthof{``Language''}}%
\setlength{\skilllegend@hintscolumnwidth}{\skillmatrix@hintscolumnwidth}%
\setlength{\cvskill@width}{\widthof{\cvskill{5}}}% \setlength{\cvskill@width}{\widthof{\cvskill{5}}}%
\setlength{\cvskill@experiencewidth}{\widthof{``Year''}}% \setlength{\cvskill@experiencewidth}{\widthof{``Year''}}%
\setlength{\skillmatrix@bodylength}{\maincolumnwidth-\skillmatrix@hintscolumnwidth-\separatorcolumnwidth}% \setlength{\skillmatrix@bodylength}{\maincolumnwidth-\skillmatrix@hintscolumnwidth-\separatorcolumnwidth}%
\setlength{\skillmatrix@columnwidth}{0.45\skillmatrix@bodylength}% \setlength{\skillmatrix@columnwidth}{0.45\skillmatrix@bodylength}%
\setlength{\cvskill@descriptorwidth}{\skillmatrix@columnwidth-\cvskill@width-\cvskill@experiencewidth}% \setlength{\cvskill@descriptorwidth}{\skillmatrix@columnwidth-\cvskill@width-\cvskill@experiencewidth}%
\setlength{\skillmatrix@commentwidth}{\skillmatrix@bodylength-\skillmatrix@columnwidth-3\skillmatrix@padding}% \setlength{\skillmatrix@commentwidth}{\skillmatrix@bodylength-\skillmatrix@columnwidth-3\skillmatrix@padding}%
% lengths and definitions needed for the legends
% note that \skillmatrix@padding also affects the appearance of legends
\setlength{\skilllegend@padding}{0.25ex}%
\setlength{\skilllegend@hintscolumnwidth}{\skillmatrix@hintscolumnwidth}%
\setlength{\skilllegend@bodylength}{\skillmatrix@bodylength}% \setlength{\skilllegend@bodylength}{\skillmatrix@bodylength}%
\RenewDocumentCommand{\skilllegend@leftdesriptorfactor}{}{0.5}% \RenewDocumentCommand{\skilllegend@leftdesriptorfactor}{}{0.5}%
\setlength{\cvskilllegend@leftdescriptorwidth}{\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-2\skilllegend@padding}%
\setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-2\skilllegend@padding}%
} }
\fi \fi
% Definition of \recompute@cvskillmatrix@lengths for moderncvbodyiv % Definition of \recompute@cvskillmatrix@lengths for moderncvbodyiv
\if@moderncvbodyiv% \if@moderncvbodyiv%
\RenewDocumentCommand{\recompute@cvskillmatrix@lengths}{}{% \RenewDocumentCommand{\recompute@cvskillmatrix@lengths}{}{%
\setlength{\skillmatrix@padding}{1ex} \setlength{\skillmatrix@padding}{1ex}
\setlength{\skilllegend@padding}{0.25ex}
\setlength{\separatorcolumnwidth}{\skillmatrix@padding} \setlength{\separatorcolumnwidth}{\skillmatrix@padding}
\setlength{\skillmatrix@hintscolumnwidth}{\widthof{``Languagi''}} \setlength{\skillmatrix@hintscolumnwidth}{\widthof{``Languagi''}}
\setlength{\skilllegend@hintscolumnwidth}{0ex}%\skillmatrix@hintscolumnwidth
\setlength{\cvskill@width}{\widthof{\cvskill{5}}} \setlength{\cvskill@width}{\widthof{\cvskill{5}}}
\setlength{\cvskill@experiencewidth}{\widthof{``Year''}} \setlength{\cvskill@experiencewidth}{\widthof{``Year''}}
\setlength{\skillmatrix@bodylength}{\maincolumnwidth-\skillmatrix@hintscolumnwidth-\separatorcolumnwidth} \setlength{\skillmatrix@bodylength}{\maincolumnwidth-\skillmatrix@hintscolumnwidth-\separatorcolumnwidth}
\setlength{\skillmatrix@columnwidth}{0.45\skillmatrix@bodylength}% \setlength{\skillmatrix@columnwidth}{0.45\skillmatrix@bodylength}%
\setlength{\cvskill@descriptorwidth}{\skillmatrix@columnwidth-\cvskill@width-\cvskill@experiencewidth} \setlength{\cvskill@descriptorwidth}{\skillmatrix@columnwidth-\cvskill@width-\cvskill@experiencewidth}
\setlength{\skillmatrix@commentwidth}{\skillmatrix@bodylength-\skillmatrix@columnwidth-3\skillmatrix@padding}% \setlength{\skillmatrix@commentwidth}{\skillmatrix@bodylength-\skillmatrix@columnwidth-3\skillmatrix@padding}%
% lengths and definitions needed for the legends
% note that \skillmatrix@padding also affects the appearance of legends
\setlength{\skilllegend@padding}{0.25ex}
\setlength{\skilllegend@hintscolumnwidth}{0ex}%\skillmatrix@hintscolumnwidth
\setlength{\skilllegend@bodylength}{\maincolumnwidth} \setlength{\skilllegend@bodylength}{\maincolumnwidth}
\RenewDocumentCommand{\skilllegend@leftdesriptorfactor}{}{0.45}% \RenewDocumentCommand{\skilllegend@leftdesriptorfactor}{}{0.45}%
\setlength{\cvskilllegend@leftdescriptorwidth}{\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-2\skilllegend@padding}
\setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-2\skilllegend@padding}
} }
\fi \fi
% Definition of \recompute@cvskillmatrix@lengths for moderncvbodyv % Definition of \recompute@cvskillmatrix@lengths for moderncvbodyv
\if@moderncvbodyv% \if@moderncvbodyv%
\RenewDocumentCommand{\recompute@cvskillmatrix@lengths}{}{% \RenewDocumentCommand{\recompute@cvskillmatrix@lengths}{}{%
\setlength{\skillmatrix@padding}{1ex}% \setlength{\skillmatrix@padding}{1ex}%
\setlength{\skilllegend@padding}{0.25ex}%
\setlength{\skillmatrix@hintscolumnwidth}{\widthof{``Languages''}}% \setlength{\skillmatrix@hintscolumnwidth}{\widthof{``Languages''}}%
\setlength{\skilllegend@hintscolumnwidth}{\skillmatrix@hintscolumnwidth}%
\setlength{\cvskill@width}{\widthof{\cvskill{5}}}% \setlength{\cvskill@width}{\widthof{\cvskill{5}}}%
\setlength{\cvskill@experiencewidth}{\widthof{``Year''}}% \setlength{\cvskill@experiencewidth}{\widthof{``Year''}}%
\setlength{\skillmatrix@bodylength}{\maincolumnwidth-\skillmatrix@hintscolumnwidth-\skillmatrix@padding}%\skillmatrix@hintscolumnwidth \setlength{\skillmatrix@bodylength}{\maincolumnwidth-\skillmatrix@hintscolumnwidth-\skillmatrix@padding}%\skillmatrix@hintscolumnwidth
\setlength{\skillmatrix@columnwidth}{0.45\skillmatrix@bodylength}% \setlength{\skillmatrix@columnwidth}{0.45\skillmatrix@bodylength}%
\setlength{\cvskill@descriptorwidth}{\skillmatrix@columnwidth-\cvskill@width-\cvskill@experiencewidth}% \setlength{\cvskill@descriptorwidth}{\skillmatrix@columnwidth-\cvskill@width-\cvskill@experiencewidth}%
\setlength{\skillmatrix@commentwidth}{\skillmatrix@bodylength-\skillmatrix@columnwidth-3\skillmatrix@padding}% \setlength{\skillmatrix@commentwidth}{\skillmatrix@bodylength-\skillmatrix@columnwidth-3\skillmatrix@padding}%
% lengths and definitions needed for the legends
% note that \skillmatrix@padding also affects the appearance of legends
\setlength{\skilllegend@padding}{0.25ex}%
\setlength{\skilllegend@hintscolumnwidth}{\skillmatrix@hintscolumnwidth}%
\setlength{\skilllegend@bodylength}{\maincolumnwidth}% \setlength{\skilllegend@bodylength}{\maincolumnwidth}%
\RenewDocumentCommand{\skilllegend@leftdesriptorfactor}{}{0.48}% \RenewDocumentCommand{\skilllegend@leftdesriptorfactor}{}{0.48}%
\setlength{\cvskilllegend@leftdescriptorwidth}{\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-2\skilllegend@padding}%
\setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-2\skilllegend@padding}%
}% }%
\fi \fi
@ -529,8 +529,7 @@
% % Case \setcvskilllegendcolumns[][] do nothing here, i.e. leave default values unaltered % % Case \setcvskilllegendcolumns[][] do nothing here, i.e. leave default values unaltered
}{% }{%
% Case \setcvskilllegendcolumns[][<somefactor>], \setcvskilllegendcolumns[][<somefactor>] % Case \setcvskilllegendcolumns[][<somefactor>], \setcvskilllegendcolumns[][<somefactor>]
\setlength{\cvskilllegend@leftdescriptorwidth}{\arg@new@legend@leftDescriptorFactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-2\skilllegend@padding}% \RenewDocumentCommand{\skilllegend@leftdesriptorfactor}{}{\arg@new@legend@leftDescriptorFactor}%
\setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\arg@new@legend@leftDescriptorFactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-2\skilllegend@padding}%
}% }%
% % Case \setcvskilllegendcolumns[] nothing needs to be done here i.e. leave default values unaltered % % Case \setcvskilllegendcolumns[] nothing needs to be done here i.e. leave default values unaltered
}{% }{%
@ -553,8 +552,6 @@
% Case \setcvskilllegendcolumns, \setcvskilllegendcolumns[<width>], \setcvskilllegendcolumns[<width>][<somefactor>] % Case \setcvskilllegendcolumns, \setcvskilllegendcolumns[<width>], \setcvskilllegendcolumns[<width>][<somefactor>]
\RenewDocumentCommand{\skilllegend@leftdesriptorfactor}{}{\arg@new@legend@leftDescriptorFactor}% \RenewDocumentCommand{\skilllegend@leftdesriptorfactor}{}{\arg@new@legend@leftDescriptorFactor}%
}% }%
\setlength{\cvskilllegend@leftdescriptorwidth}{\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-2\skilllegend@padding}%
\setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-2\skilllegend@padding}%
}% }%
}% }%
% %
@ -599,35 +596,43 @@
\RenewDocumentCommand\cvskilllegend{s +O{.25em} +O{\skillLegend@defaultLevelOne} +O{\skillLegend@defaultLevelTwo} +O{\skillLegend@defaultLevelThree} +O{\skillLegend@defaultLevelFour} +O{\skillLegend@defaultLevelFive} +m}{% \RenewDocumentCommand\cvskilllegend{s +O{.25em} +O{\skillLegend@defaultLevelOne} +O{\skillLegend@defaultLevelTwo} +O{\skillLegend@defaultLevelThree} +O{\skillLegend@defaultLevelFour} +O{\skillLegend@defaultLevelFive} +m}{%
\IfBooleanTF#1{% if a star is given, add dashed line \IfBooleanTF#1{% if a star is given, add dashed line
\begingroup% \begingroup%
\arrayrulecolor{color1}% \arrayrulecolor{color1}%
\begin{tabular}{@{}p{\skilllegend@hintscolumnwidth}% % calculate descriptor widths
@{\hspace{\separatorcolumnwidth}}% \setlength{\cvskilllegend@leftdescriptorwidth}{\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-3\skilllegend@padding}%
p{\cvskill@width}@{\hspace{\skilllegend@padding}};{.6pt/1pt}%% \setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-3\skilllegend@padding}%
p{\skilllegend@padding}p{\cvskilllegend@leftdescriptorwidth}@{}@{\hspace{2\skillmatrix@padding}}% \begin{tabular}{@{}p{\skilllegend@hintscolumnwidth}%
p{\cvskill@width}@{\hspace{\skilllegend@padding}};{.6pt/1pt}% @{\hspace{\separatorcolumnwidth}}%
p{\skilllegend@padding}% p{\cvskill@width}@{\hspace{\skilllegend@padding}};{.6pt/1pt}%%
p{\cvskilllegend@rightdescriptorwidth}@{}}% p{2\skilllegend@padding}p{\cvskilllegend@leftdescriptorwidth}@{}@{\hspace{2\skillmatrix@padding}}%
\raggedleft\hintstyle{#8} & \cvskill{1}& & {\skillLegend@FontSize #3} & \cvskill{3}& &{\skillLegend@FontSize #5 } \\% p{\cvskill@width}@{\hspace{\skilllegend@padding}};{.6pt/1pt}%
% p{2\skilllegend@padding}%
& \cvskill{2} & & \multirow{2}{\cvskilllegend@leftdescriptorwidth}{{\skillLegend@FontSize #4}} & \cvskill{4}& & {\skillLegend@FontSize #6 } \\% p{\cvskilllegend@rightdescriptorwidth}@{}}%
% \raggedleft\hintstyle{#8} & \cvskill{1}& & {\skillLegend@FontSize #3} & \cvskill{3}& &{\skillLegend@FontSize #5 } \\%
& & & & \cvskill{5}& & {\skillLegend@FontSize #7 }% %
\end{tabular}% & \cvskill{2} & & \multirow{2}{\cvskilllegend@leftdescriptorwidth}{{\skillLegend@FontSize #4}} & \cvskill{4}& & {\skillLegend@FontSize #6 } \\%
%
& & & & \cvskill{5}& & {\skillLegend@FontSize #7 }%
\end{tabular}%
\endgroup \endgroup
\par\addvspace{#2}}{% \par\addvspace{#2}}{%
% if no star is given, do not add dashed line % if no star is given, do not add dashed line. We need less padding in this case
\begin{tabular}{@{}p{\skilllegend@hintscolumnwidth}% \begingroup%
@{\hspace{\separatorcolumnwidth}}% % calculate descriptor columns width. note the adjusted padding
p{\cvskill@width}@{\hspace{\skilllegend@padding}}% \setlength{\cvskilllegend@leftdescriptorwidth}{\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-1\skilllegend@padding}%
p{\cvskilllegend@leftdescriptorwidth}@{\hspace{2\skillmatrix@padding}}% \setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-1\skilllegend@padding}%
p{\cvskill@width}@{\hspace{\skilllegend@padding}}% \begin{tabular}{@{}p{\skilllegend@hintscolumnwidth}%
p{\cvskilllegend@rightdescriptorwidth}@{}}% @{\hspace{\separatorcolumnwidth}}%
\raggedleft\hintstyle{#8} & \cvskill{1}\, & \,{\skillLegend@FontSize #3} & \cvskill{3}\, &\,{\skillLegend@FontSize #5 } \\% p{\cvskill@width}@{\hspace{\skilllegend@padding}}%
% p{\cvskilllegend@leftdescriptorwidth}@{\hspace{2\skillmatrix@padding}}%
& \cvskill{2}\, & \,\multirow{2}{\cvskilllegend@leftdescriptorwidth}{{\skillLegend@FontSize #4}} & \cvskill{4}\, &\,{\skillLegend@FontSize #6 } \\% p{\cvskill@width}@{\hspace{\skilllegend@padding}}%
% p{\cvskilllegend@rightdescriptorwidth}@{}}%
& & & \cvskill{5}\, &\,{\skillLegend@FontSize #7 }% \raggedleft\hintstyle{#8} & \cvskill{1}\, & \,{\skillLegend@FontSize #3} & \cvskill{3}\, &\,{\skillLegend@FontSize #5 } \\%
\end{tabular}% %
& \cvskill{2}\, & \,\multirow{2}{\cvskilllegend@leftdescriptorwidth}{{\skillLegend@FontSize #4}} & \cvskill{4}\, &\,{\skillLegend@FontSize #6 } \\%
%
& & & \cvskill{5}\, &\,{\skillLegend@FontSize #7 }%
\end{tabular}%
\endgroup%
\par\addvspace{#2}% \par\addvspace{#2}%
}% }%
}% }%
@ -640,35 +645,43 @@
\cvitem[0.25em]{\hintstyle{#8}}{}% \cvitem[0.25em]{\hintstyle{#8}}{}%
}% }%
\IfBooleanTF#1{% if a star is given, add dashed line \IfBooleanTF#1{% if a star is given, add dashed line
\begingroup \begingroup%
\arrayrulecolor{color1} % recalculate desrciptor widths on the fly. Allows for different padding
\begin{tabular}{@{}p{\skilllegend@hintscolumnwidth} % in the stared and nonstared case
@{\hspace{\separatorcolumnwidth}}p{\cvskill@width}@{\hspace{\skilllegend@padding}};{.6pt/1pt}% \setlength{\cvskilllegend@leftdescriptorwidth}{\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-4\skilllegend@padding}%
p{\skilllegend@padding}% \setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-4\skilllegend@padding}%
p{\cvskilllegend@leftdescriptorwidth}@{\hspace{2\skillmatrix@padding}}% \arrayrulecolor{color1}
p{\cvskill@width}@{\hspace{\skilllegend@padding}};{.6pt/1pt}% \begin{tabular}{@{}p{\skilllegend@hintscolumnwidth}
p{\skilllegend@padding}p{\cvskilllegend@rightdescriptorwidth}@{}}% @{\hspace{\separatorcolumnwidth}}p{\cvskill@width}@{\hspace{\skilllegend@padding}};{.6pt/1pt}%
\raggedleft\hintstyle{} & \cvskill{1} & & {\skillLegend@FontSize #3} & \cvskill{3} & & {\skillLegend@FontSize #5 } \\ p{2\skilllegend@padding}%
% p{\cvskilllegend@leftdescriptorwidth}@{\hspace{\skillmatrix@padding}}%
& \cvskill{2} & & \multirow{2}{\cvskilllegend@leftdescriptorwidth}{{\skillLegend@FontSize #4}} & \cvskill{4} & &{\skillLegend@FontSize #6 } \\ p{\cvskill@width}@{\hspace{\skilllegend@padding}};{.6pt/1pt}%
% p{2\skilllegend@padding}p{\cvskilllegend@rightdescriptorwidth}@{}}%
& & & & \cvskill{5}& & {\skillLegend@FontSize #7 } \raggedleft\hintstyle{} & \cvskill{1} & & {\skillLegend@FontSize #3} & \cvskill{3} & & {\skillLegend@FontSize #5 } \\
\end{tabular}% %
\endgroup & \cvskill{2} & & \multirow{2}{\cvskilllegend@leftdescriptorwidth}{{\skillLegend@FontSize #4}} & \cvskill{4} & &{\skillLegend@FontSize #6 } \\
%
& & & & \cvskill{5}& & {\skillLegend@FontSize #7 }
\end{tabular}%
\endgroup%
\par\addvspace{#2}}{ \par\addvspace{#2}}{
% if no star is given, do not add dashed line \begingroup%
\begin{tabular}{@{}p{\skilllegend@hintscolumnwidth} % oddly enough, we should only need to subtract 2 paddings in the descritorwidths.
@{\hspace{\separatorcolumnwidth}}p{\cvskill@width}@{\hspace{\skilllegend@padding}}% % but while testing I got overflow of text into the margin
p{\skilllegend@padding}% \setlength{\cvskilllegend@leftdescriptorwidth}{\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-4\skilllegend@padding}%
p{\cvskilllegend@leftdescriptorwidth}@{\hspace{2\skillmatrix@padding}}% \setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-5\skilllegend@padding}%
p{\cvskill@width}@{\hspace{\skilllegend@padding}}% \begin{tabular}{@{}p{\skilllegend@hintscolumnwidth}
p{\skilllegend@padding}p{\cvskilllegend@rightdescriptorwidth}@{}}% @{\hspace{\separatorcolumnwidth}}p{\cvskill@width}@{\hspace{2\skilllegend@padding}}%
\raggedleft\hintstyle{} & \cvskill{1} & & {\skillLegend@FontSize #3} & \cvskill{3} & & {\skillLegend@FontSize #5 } \\ p{\cvskilllegend@leftdescriptorwidth}@{\hspace{2\skillmatrix@padding}}%
% p{\cvskill@width}@{\hspace{2\skilllegend@padding}}%
& \cvskill{2} & & \multirow{2}{\cvskilllegend@leftdescriptorwidth}{{\skillLegend@FontSize #4}} & \cvskill{4} & &{\skillLegend@FontSize #6 } \\ p{\cvskilllegend@rightdescriptorwidth}@{}}%
% \raggedleft\hintstyle{} & \cvskill{1} & {\skillLegend@FontSize #3} & \cvskill{3} & {\skillLegend@FontSize #5 } \\
& & & & \cvskill{5}& & {\skillLegend@FontSize #7 } %
\end{tabular}% & \cvskill{2} & \multirow{2}{\cvskilllegend@leftdescriptorwidth}{{\skillLegend@FontSize #4}} & \cvskill{4} &{\skillLegend@FontSize #6 } \\
%
& & & \cvskill{5} & {\skillLegend@FontSize #7 }
\end{tabular}%
\endgroup%
\par\addvspace{#2} \par\addvspace{#2}
} }
} }
@ -688,20 +701,20 @@
\setlength\arrayrulewidth{\separatorrulewidth}% \setlength\arrayrulewidth{\separatorrulewidth}%
\RenewDocumentCommand{\@starIndependentTabular}{}{% \RenewDocumentCommand{\@starIndependentTabular}{}{%
\begingroup% \begingroup%
\setlength{\cvskilllegend@leftdescriptorwidth}{\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-3\skilllegend@padding}%
\setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-3\skilllegend@padding}%
% \renewcommand{\arraystretch}{1.0}% % \renewcommand{\arraystretch}{1.0}%
\begin{tabular}[t]{@{}p{\hintscolumnwidth}%\skilllegend@hintscolumnwidth \begin{tabular}[t]{@{}p{\hintscolumnwidth}%\skilllegend@hintscolumnwidth
@{\hspace{\separatorcolumnwidth}}|@{\hspace{\separatorcolumnwidth}}% @{\hspace{\separatorcolumnwidth}}|@{\hspace{\separatorcolumnwidth}}%
p{\cvskill@width}@{\hspace{\skilllegend@padding}}% p{\cvskill@width}@{\hspace{3\skilllegend@padding}}%
p{\skilllegend@padding}%
p{\cvskilllegend@leftdescriptorwidth}@{\hspace{2\skillmatrix@padding}}% p{\cvskilllegend@leftdescriptorwidth}@{\hspace{2\skillmatrix@padding}}%
p{\cvskill@width}@{\hspace{\skilllegend@padding}}% p{\cvskill@width}@{\hspace{3\skilllegend@padding}}%
p{\skilllegend@padding}%
p{\cvskilllegend@rightdescriptorwidth}@{}}% p{\cvskilllegend@rightdescriptorwidth}@{}}%
\@moderncvstrut{4pt}{16pt} & \cvskill{1}& & {\skillLegend@FontSize #3} & \cvskill{3}& & {\skillLegend@FontSize #5 }\\% \@moderncvstrut{4pt}{16pt} & \cvskill{1}& {\skillLegend@FontSize #3} & \cvskill{3}& {\skillLegend@FontSize #5 }\\%
% %
& \cvskill{2}& & \multirow{2}{\cvskilllegend@leftdescriptorwidth}{{\skillLegend@FontSize #4}} & \cvskill{4}& & {\skillLegend@FontSize #6 }\\% & \cvskill{2}& \multirow{2}{\cvskilllegend@leftdescriptorwidth}{{\skillLegend@FontSize #4}} & \cvskill{4}& {\skillLegend@FontSize #6 }\\%
% %
& & & & \cvskill{5}& & {\skillLegend@FontSize #7 }\\[#2]% the spacing needs to be inside the cell for the vertical rule to extend correctly & & & \cvskill{5} & {\skillLegend@FontSize #7 }\\[#2]% the spacing needs to be inside the cell for the vertical rule to extend correctly
\end{tabular}% \end{tabular}%
\endgroup% \endgroup%
\par\@aftersectionfalse\ignorespaces% \par\@aftersectionfalse\ignorespaces%
@ -753,35 +766,43 @@
\RenewDocumentCommand\cvskillplainlegend{s +O{.25em} +O{\skillPlainLegend@defaultLevelOne} +O{\skillPlainLegend@defaultLevelTwo} +O{\skillPlainLegend@defaultLevelThree} +O{\skillPlainLegend@defaultLevelFour} +O{\skillPlainLegend@defaultLevelFive} +m}{% \RenewDocumentCommand\cvskillplainlegend{s +O{.25em} +O{\skillPlainLegend@defaultLevelOne} +O{\skillPlainLegend@defaultLevelTwo} +O{\skillPlainLegend@defaultLevelThree} +O{\skillPlainLegend@defaultLevelFour} +O{\skillPlainLegend@defaultLevelFive} +m}{%
\IfBooleanTF#1{% if a star is given, add dashed line \IfBooleanTF#1{% if a star is given, add dashed line
\begingroup% \begingroup%
\arrayrulecolor{color1}% \arrayrulecolor{color1}%
\begin{tabular}{@{}p{\skilllegend@hintscolumnwidth}% % calculate descriptor widths
@{\hspace{\separatorcolumnwidth}}% \setlength{\cvskilllegend@leftdescriptorwidth}{\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-3\skilllegend@padding}%
p{\cvskill@width}@{\hspace{\skilllegend@padding}};{.6pt/1pt}%% \setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-3\skilllegend@padding}%
p{\skilllegend@padding}p{\cvskilllegend@leftdescriptorwidth}@{}@{\hspace{2\skillmatrix@padding}}% \begin{tabular}{@{}p{\skilllegend@hintscolumnwidth}%
p{\cvskill@width}@{\hspace{\skilllegend@padding}};{.6pt/1pt}% @{\hspace{\separatorcolumnwidth}}%
p{\skilllegend@padding}% p{\cvskill@width}@{\hspace{\skilllegend@padding}};{.6pt/1pt}%%
p{\cvskilllegend@rightdescriptorwidth}@{}}% p{2\skilllegend@padding}p{\cvskilllegend@leftdescriptorwidth}@{}@{\hspace{2\skillmatrix@padding}}%
\raggedleft\hintstyle{#8} & \cvskill{1}& & {\skillLegend@FontSize #3} & \cvskill{4}& &{\skillLegend@FontSize #6} \\% p{\cvskill@width}@{\hspace{\skilllegend@padding}};{.6pt/1pt}%
% p{2\skilllegend@padding}%
& \cvskill{2} & & {\skillLegend@FontSize #4} & \cvskill{5}& & {\skillLegend@FontSize #7} \\% p{\cvskilllegend@rightdescriptorwidth}@{}}%
% \raggedleft\hintstyle{#8} & \cvskill{1}& & {\skillLegend@FontSize #3} & \cvskill{4}& &{\skillLegend@FontSize #6} \\%
& \cvskill{3} & & {\skillLegend@FontSize #5} & & & % %
\end{tabular}% & \cvskill{2} & & {\skillLegend@FontSize #4} & \cvskill{5}& & {\skillLegend@FontSize #7} \\%
\endgroup %
& \cvskill{3} & & {\skillLegend@FontSize #5} & & & %
\end{tabular}%
\endgroup%
\par\addvspace{#2}}{% \par\addvspace{#2}}{%
% if no star is given, do not add dashed line % if no star is given, do not add dashed line
\begin{tabular}{@{}p{\skilllegend@hintscolumnwidth}% \begingroup%
@{\hspace{\separatorcolumnwidth}}% % calculate descriptor widths, note that we use less padding
p{\cvskill@width}@{\hspace{\skilllegend@padding}}% \setlength{\cvskilllegend@leftdescriptorwidth}{\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-2\skilllegend@padding}%
p{\cvskilllegend@leftdescriptorwidth}@{\hspace{2\skillmatrix@padding}}% \setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-2\skilllegend@padding}%
p{\cvskill@width}@{\hspace{\skilllegend@padding}}% \begin{tabular}{@{}p{\skilllegend@hintscolumnwidth}%
p{\cvskilllegend@rightdescriptorwidth}@{}}% @{\hspace{\separatorcolumnwidth}}%
\raggedleft\hintstyle{#8} & \cvskill{1} & {\skillLegend@FontSize #3} & \cvskill{4} &{\skillLegend@FontSize #6} \\% p{\cvskill@width}@{\hspace{2\skilllegend@padding}}%
% p{\cvskilllegend@leftdescriptorwidth}@{\hspace{2\skillmatrix@padding}}%
& \cvskill{2} & {\skillLegend@FontSize #4} & \cvskill{5} &{\skillLegend@FontSize #7} \\% p{\cvskill@width}@{\hspace{2\skilllegend@padding}}%
% p{\cvskilllegend@rightdescriptorwidth}@{}}%
& \cvskill{3} & {\skillLegend@FontSize #5 } & & % \raggedleft\hintstyle{#8} & \cvskill{1} & {\skillLegend@FontSize #3} & \cvskill{4} &{\skillLegend@FontSize #6} \\%
\end{tabular}% %
& \cvskill{2} & {\skillLegend@FontSize #4} & \cvskill{5} &{\skillLegend@FontSize #7} \\%
%
& \cvskill{3} & {\skillLegend@FontSize #5 } & & %
\end{tabular}%
\endgroup%
\par\addvspace{#2}% \par\addvspace{#2}%
}% }%
}% }%
@ -794,35 +815,40 @@
\cvitem[0.25em]{\hintstyle{#8}}{}% \cvitem[0.25em]{\hintstyle{#8}}{}%
}% }%
\IfBooleanTF#1{% if a star is given, add dashed line \IfBooleanTF#1{% if a star is given, add dashed line
\begingroup \begingroup%
\arrayrulecolor{color1} \arrayrulecolor{color1}
\begin{tabular}{@{}p{\skilllegend@hintscolumnwidth} \setlength{\cvskilllegend@leftdescriptorwidth}{\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-6\skilllegend@padding}%
@{\hspace{\separatorcolumnwidth}}p{\cvskill@width}@{\hspace{\skilllegend@padding}};{.6pt/1pt}% \setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-6\skilllegend@padding}%
p{\skilllegend@padding}% \begin{tabular}{@{}p{\skilllegend@hintscolumnwidth}
p{\cvskilllegend@leftdescriptorwidth}@{\hspace{2\skillmatrix@padding}}% @{\hspace{\separatorcolumnwidth}}p{\cvskill@width}@{\hspace{\skilllegend@padding}};{.6pt/1pt}%
p{\cvskill@width}@{\hspace{\skilllegend@padding}};{.6pt/1pt}% p{2\skilllegend@padding}%
p{\skilllegend@padding}p{\cvskilllegend@rightdescriptorwidth}@{}}% p{\cvskilllegend@leftdescriptorwidth}@{\hspace{2\skillmatrix@padding}}%
\raggedleft\hintstyle{} & \cvskill{1} & & {\skillLegend@FontSize #3} & \cvskill{4} & & {\skillLegend@FontSize #6} \\ p{\cvskill@width}@{\hspace{\skilllegend@padding}};{.6pt/1pt}%
% p{2\skilllegend@padding}p{\cvskilllegend@rightdescriptorwidth}@{}}%
& \cvskill{2} & & {\skillLegend@FontSize #4} & \cvskill{5} & &{\skillLegend@FontSize #7} \\ \raggedleft\hintstyle{} & \cvskill{1} & & {\skillLegend@FontSize#3} & \cvskill{4} & & {\skillLegend@FontSize#6}\\%
% %
& \cvskill{3} & & {\skillLegend@FontSize #5} & & & % & \cvskill{2} & &{\skillLegend@FontSize#4} & \cvskill{5} & &{\skillLegend@FontSize#7}\\%
\end{tabular}% %
\endgroup & \cvskill{3} & &{\skillLegend@FontSize#5} & & &%
\end{tabular}%
\endgroup%
\par\addvspace{#2}}{ \par\addvspace{#2}}{
% if no star is given, do not add dashed line % if no star is given, do not add dashed line
\begin{tabular}{@{}p{\skilllegend@hintscolumnwidth} \begingroup
@{\hspace{\separatorcolumnwidth}}p{\cvskill@width}@{\hspace{\skilllegend@padding}}% \setlength{\cvskilllegend@leftdescriptorwidth}{\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-3\skilllegend@padding}%
p{\skilllegend@padding}% \setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-4\skilllegend@padding}%
p{\cvskilllegend@leftdescriptorwidth}@{\hspace{2\skillmatrix@padding}}% \begin{tabular}{@{}p{\skilllegend@hintscolumnwidth}
p{\cvskill@width}@{\hspace{\skilllegend@padding}}% @{\hspace{\separatorcolumnwidth}}p{\cvskill@width}@{\hspace{\skilllegend@padding}}%
p{\skilllegend@padding}p{\cvskilllegend@rightdescriptorwidth}@{}}% p{\cvskilllegend@leftdescriptorwidth}@{\hspace{2\skillmatrix@padding}}%
\raggedleft\hintstyle{} & \cvskill{1} & & {\skillLegend@FontSize #3} & \cvskill{4} & & {\skillLegend@FontSize #6} \\ p{\cvskill@width}@{\hspace{\skilllegend@padding}}%
% p{\cvskilllegend@rightdescriptorwidth}@{}}%
& \cvskill{2} & & {\skillLegend@FontSize #4} & \cvskill{5} & &{\skillLegend@FontSize #7} \\ \raggedleft\hintstyle{} & \cvskill{1} & {\skillLegend@FontSize #3} & \cvskill{4} & {\skillLegend@FontSize #6} \\
% %
& \cvskill{3} & & {\skillLegend@FontSize #5} & & & % & \cvskill{2} & {\skillLegend@FontSize #4} & \cvskill{5} & {\skillLegend@FontSize #7} \\
\end{tabular}% %
& \cvskill{3} & {\skillLegend@FontSize #5} & & %
\end{tabular}%
\endgroup
\par\addvspace{#2} \par\addvspace{#2}
} }
} }
@ -842,19 +868,19 @@
\RenewDocumentCommand{\@starIndependentTabular}{}{% \RenewDocumentCommand{\@starIndependentTabular}{}{%
\begingroup% \begingroup%
% \renewcommand{\arraystretch}{1.0}% % \renewcommand{\arraystretch}{1.0}%
\setlength{\cvskilllegend@leftdescriptorwidth}{\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-2\skilllegend@padding}%
\setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-2\skilllegend@padding}%
\begin{tabular}[t]{@{}p{\hintscolumnwidth}%\skilllegend@hintscolumnwidth \begin{tabular}[t]{@{}p{\hintscolumnwidth}%\skilllegend@hintscolumnwidth
@{\hspace{\separatorcolumnwidth}}|@{\hspace{\separatorcolumnwidth}}% @{\hspace{\separatorcolumnwidth}}|@{\hspace{\separatorcolumnwidth}}%
p{\cvskill@width}@{\hspace{\skilllegend@padding}}% p{\cvskill@width}@{\hspace{2\skilllegend@padding}}%
p{\skilllegend@padding}%
p{\cvskilllegend@leftdescriptorwidth}@{\hspace{2\skillmatrix@padding}}% p{\cvskilllegend@leftdescriptorwidth}@{\hspace{2\skillmatrix@padding}}%
p{\cvskill@width}@{\hspace{\skilllegend@padding}}% p{\cvskill@width}@{\hspace{2\skilllegend@padding}}%
p{\skilllegend@padding}%
p{\cvskilllegend@rightdescriptorwidth}@{}}% p{\cvskilllegend@rightdescriptorwidth}@{}}%
\@moderncvstrut{4pt}{16pt} & \cvskill{1} & & {\skillLegend@FontSize #3} & \cvskill{4} & & {\skillLegend@FontSize #6}\\% \@moderncvstrut{4pt}{16pt} & \cvskill{1} & {\skillLegend@FontSize #3} & \cvskill{4} & {\skillLegend@FontSize #6}\\%
% %
& \cvskill{2} & & {\skillLegend@FontSize #4} & \cvskill{5} & & {\skillLegend@FontSize #7}\\% & \cvskill{2} & {\skillLegend@FontSize #4} & \cvskill{5} & {\skillLegend@FontSize #7}\\%
% %
& \cvskill{3} & & {\skillLegend@FontSize #5} & & & \\[#2]% the spacing needs to be inside the cell for the vertical rule to extend correctly & \cvskill{3} & {\skillLegend@FontSize #5} & & \\[#2]% the spacing needs to be inside the cell for the vertical rule to extend correctly
\end{tabular}% \end{tabular}%
\endgroup% \endgroup%
\par\@aftersectionfalse\ignorespaces% \par\@aftersectionfalse\ignorespaces%