mirror of
https://github.com/moderncv/moderncv.git
synced 2026-02-06 10:05:19 +01:00
fix issue #69: compensating wrong (sub)section spacing with negative vspace
This commit is contained in:
parent
f3dd14ff62
commit
d88a8cf436
1 changed files with 17 additions and 2 deletions
|
|
@ -44,6 +44,8 @@
|
||||||
\@initializelength{\separatorcolumnwidth} \setlength{\separatorcolumnwidth}{0.025\textwidth}
|
\@initializelength{\separatorcolumnwidth} \setlength{\separatorcolumnwidth}{0.025\textwidth}
|
||||||
\@initializelength{\separatorrulewidth} \setlength{\separatorrulewidth}{1.2\p@}%
|
\@initializelength{\separatorrulewidth} \setlength{\separatorrulewidth}{1.2\p@}%
|
||||||
\@initializelength{\maincolumnwidth}
|
\@initializelength{\maincolumnwidth}
|
||||||
|
\@initializelength{\multilinecompensationlength}
|
||||||
|
\@initializelength{\thissectionwidth}
|
||||||
% used by \cvdoubleitem
|
% used by \cvdoubleitem
|
||||||
\@initializelength{\doubleitemcolumnwidth}
|
\@initializelength{\doubleitemcolumnwidth}
|
||||||
% used by \cvlistitem
|
% used by \cvlistitem
|
||||||
|
|
@ -54,6 +56,9 @@
|
||||||
\@initializelength{\listdoubleitemcolumnwidth}
|
\@initializelength{\listdoubleitemcolumnwidth}
|
||||||
%\@initializelength{\listdoubleitemmaincolumnwidth}
|
%\@initializelength{\listdoubleitemmaincolumnwidth}
|
||||||
|
|
||||||
|
% numbers
|
||||||
|
% used by \calculatecompensation
|
||||||
|
\@initializecommand{\numoflines}{0}
|
||||||
% commands
|
% commands
|
||||||
\@initializecommand{\recomputecvbodylengths}{%
|
\@initializecommand{\recomputecvbodylengths}{%
|
||||||
% body lengths
|
% body lengths
|
||||||
|
|
@ -67,12 +72,21 @@
|
||||||
% regular lengths
|
% regular lengths
|
||||||
\setlength{\parskip}{0\p@}}
|
\setlength{\parskip}{0\p@}}
|
||||||
|
|
||||||
|
\newcommand{\calculatecompensation}[1]{%
|
||||||
|
% calculate the number of lines used by sections and subsections
|
||||||
|
\settowidth{\thissectionwidth}{#1}%
|
||||||
|
\renewcommand{\numoflines}{\numexpr\thissectionwidth/\hintscolumnwidth\relax}%
|
||||||
|
\setlength{\multilinecompensationlength}{\dimexpr\hintscolumnwidth*\numoflines\relax}%
|
||||||
|
}
|
||||||
|
|
||||||
\@initializeif{\if@aftersection}\@aftersectionfalse%
|
\@initializeif{\if@aftersection}\@aftersectionfalse%
|
||||||
\RenewDocumentCommand{\section}{sm}{%
|
\RenewDocumentCommand{\section}{sm}{%
|
||||||
\addvspace{2.5ex}%
|
\addvspace{2.5ex}%
|
||||||
\phantomsection{}% reset the anchor for hyperrefs
|
\phantomsection{}% reset the anchor for hyperrefs
|
||||||
\addcontentsline{toc}{section}{#2}%
|
\addcontentsline{toc}{section}{#2}%
|
||||||
\noindent\rlap{\@cvitem{\raggedleft\sectionstyle{#2}}{}}%
|
\calculatecompensation{\sectionstyle{#2}}% calculate the vspace compensation for current section
|
||||||
|
\noindent\rlap{\@cvitem{\raggedleft\sectionstyle{#2}\ifthenelse{\multilinecompensationlength<2}{}{\vspace{-\multilinecompensationlength}}}{}}%
|
||||||
|
%\noindent\rlap{\@cvitem{\raggedleft\sectionstyle{#2}}{}}%
|
||||||
\nobreak\@afterheading\@aftersectiontrue\ignorespaces}
|
\nobreak\@afterheading\@aftersectiontrue\ignorespaces}
|
||||||
|
|
||||||
%\@initializeif{\if@aftersubsection}\@aftersubsectionfalse%
|
%\@initializeif{\if@aftersubsection}\@aftersubsectionfalse%
|
||||||
|
|
@ -83,7 +97,8 @@
|
||||||
\par\ignorespaces\fi%
|
\par\ignorespaces\fi%
|
||||||
\phantomsection{}% reset the anchor for hyperrefs
|
\phantomsection{}% reset the anchor for hyperrefs
|
||||||
\addcontentsline{toc}{subsection}{#2}%
|
\addcontentsline{toc}{subsection}{#2}%
|
||||||
\noindent\rlap{\@cvitem{\if@aftersection\else\@moderncvstrut{4pt}{24pt}\fi\raggedleft\subsectionstyle{#2}}{}}%
|
\calculatecompensation{\subsectionstyle{#2}}% calculate the vspace compensation for current section
|
||||||
|
\noindent\rlap{\@cvitem{\if@aftersection\else\@moderncvstrut{4pt}{24pt}\fi\raggedleft\subsectionstyle{#2}\ifthenelse{\multilinecompensationlength<2}{}{\vspace{-\multilinecompensationlength}}}{}}%
|
||||||
\nobreak\@afterheading\@aftersectiontrue\ignorespaces}
|
\nobreak\@afterheading\@aftersectiontrue\ignorespaces}
|
||||||
|
|
||||||
\renewcommand*{\cvitem}[3][.5ex]{%
|
\renewcommand*{\cvitem}[3][.5ex]{%
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue