texlive[61199] Master/texmf-dist: limecv (1dec21)

commits+karl at tug.org commits+karl at tug.org
Wed Dec 1 22:09:23 CET 2021


Revision: 61199
          http://tug.org/svn/texlive?view=revision&revision=61199
Author:   karl
Date:     2021-12-01 22:09:22 +0100 (Wed, 01 Dec 2021)
Log Message:
-----------
limecv (1dec21)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/limecv/examples/mwe-latex.pdf
    trunk/Master/texmf-dist/doc/latex/limecv/examples/mwe-latex.tex
    trunk/Master/texmf-dist/doc/latex/limecv/examples/mwe-lualatex.pdf
    trunk/Master/texmf-dist/doc/latex/limecv/examples/mwe-lualatex.tex
    trunk/Master/texmf-dist/doc/latex/limecv/examples/mwe-xelatex.pdf
    trunk/Master/texmf-dist/doc/latex/limecv/examples/mwe-xelatex.tex
    trunk/Master/texmf-dist/doc/latex/limecv/limecv.pdf
    trunk/Master/texmf-dist/source/latex/limecv/limecv.dtx
    trunk/Master/texmf-dist/source/latex/limecv/limecv.ins
    trunk/Master/texmf-dist/tex/latex/limecv/limecv.cls

Modified: trunk/Master/texmf-dist/doc/latex/limecv/examples/mwe-latex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/limecv/examples/mwe-latex.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/limecv/examples/mwe-latex.tex	2021-12-01 21:09:04 UTC (rev 61198)
+++ trunk/Master/texmf-dist/doc/latex/limecv/examples/mwe-latex.tex	2021-12-01 21:09:22 UTC (rev 61199)
@@ -115,7 +115,8 @@
         position=Job title,
         address line 1=Street lane 2,
         address line 2=B-1150 Brussels,
-        mobile phone=+1 781 555 1212}%
+        mobile phone=+1 781 555 1212,
+        email=john\_doe at company.com}%
     \end{cvReferences}
   
   \end{cvMainContent}

Modified: trunk/Master/texmf-dist/doc/latex/limecv/examples/mwe-lualatex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/limecv/examples/mwe-lualatex.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/limecv/examples/mwe-lualatex.tex	2021-12-01 21:09:04 UTC (rev 61198)
+++ trunk/Master/texmf-dist/doc/latex/limecv/examples/mwe-lualatex.tex	2021-12-01 21:09:22 UTC (rev 61199)
@@ -115,7 +115,8 @@
         position=Job title,
         address line 1=Street lane 2,
         address line 2=B-1150 Brussels,
-        mobile phone=+1 781 555 1212}% <<-- important!
+        mobile phone=+1 781 555 1212,
+        email=john\_doe at company.com}% <<-- important!
     \end{cvReferences}
   
   \end{cvMainContent}

Modified: trunk/Master/texmf-dist/doc/latex/limecv/examples/mwe-xelatex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/limecv/examples/mwe-xelatex.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/limecv/examples/mwe-xelatex.tex	2021-12-01 21:09:04 UTC (rev 61198)
+++ trunk/Master/texmf-dist/doc/latex/limecv/examples/mwe-xelatex.tex	2021-12-01 21:09:22 UTC (rev 61199)
@@ -55,11 +55,14 @@
   \end{cvContact}
   
   \begin{cvLanguages}
-    \cvLanguage{English (native)}{5}
     \cvLanguage{German (B2)}{3}
     \cvLanguage{Spanish}{3}
   \end{cvLanguages}
   
+  \begin{cvLanguages}[norating]
+    \cvLanguage{English (native)}
+  \end{cvLanguages}
+  
   \begin{cvInterests}[short]
     \cvInterestsPersonal
     \cvInterest{\faTrain}{model trains}
@@ -117,7 +120,8 @@
       position=Job title,
       address line 1=Street lane 2,
       address line 2=B-1150 Brussels,
-      mobile phone=+1 781 555 1212}% <<-- important!
+      mobile phone=+1 781 555 1212,
+      email=john\_doe at company.com}% <<-- important!
   \end{cvReferences}
 
 \end{cvMainContent}
@@ -124,6 +128,46 @@
 
 \clearpage
 
+\begin{cvMainContent*}
+  \begin{cvEducation}
+    \cvItem{Evening class: Chinese\\
+    Some School, City. September 2015 -- June 2016\\
+    Achieved A2 language skill in Chinese (Mandarin).}
+    \cvItem{Bachelor of Science in Biochemistry and Biotechnology\\
+    University, City. September 2009 -- June 2012\\
+    General training in the basic sciences and the molecular life science.}
+    \cvItem{Master of Science in Biochemistry and Biotechnology\\
+    University, City. September 2012 -- June 2015\\
+    Acquisition of insight into and knowledge of possibilities for application in the area of biochemistry and biotechnology, specific with applications in biomedical application and due problem-solving reasoning skills.}
+  \end{cvEducation}
+  
+  \begin{cvSkills}
+    \cvSkillTwo{5}{MATLAB}{5}{\LaTeX}
+    \cvSkillTwo{4}{Python}{4}{VHDL}
+    \cvSkillTwo{4}{Microsoft Office}{4}{macOS}
+    \cvSkillTwo{3}{C, C++}{1}{Javascript}
+    \cvSkillTwo{3}{HTML5/CSS}{3}{Bash}
+  \end{cvSkills}
+  
+\end{cvMainContent*}
+
+\begin{cvSidebar*}
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi dictum cursus sapien, id eleifend mi pellentesque id. Etiam lobortis eu odio a sodales. Phasellus ut dolor feugiat, lacinia lectus in, blandit metus.  Fusce lacinia dolor et metus gravida pulvinar sit amet et ex. Suspendisse vestibulum, leo malesuada molestie maximus, sem risus ornare elit, vitae sodales felis elit in ipsum.
+
+  \begin{cvInterests}[short]
+    \cvInterestsPersonal
+    \cvInterest{\faTrain}{model trains}
+    \cvInterest{\faGamepad}{gaming}
+    \cvInterest{\faSuitcase}{travelling}
+    \cvInterestsProfessional
+    \cvInterest{\faFilm}{film}
+    \cvInterest{\faCamera}{photography}
+  \end{cvInterests}
+\end{cvSidebar*}
+
+
+\clearpage
+
 \begin{cvCoverLetter}
 
 \cvBeneficiary{%

Modified: trunk/Master/texmf-dist/doc/latex/limecv/limecv.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/source/latex/limecv/limecv.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/limecv/limecv.dtx	2021-12-01 21:09:04 UTC (rev 61198)
+++ trunk/Master/texmf-dist/source/latex/limecv/limecv.dtx	2021-12-01 21:09:22 UTC (rev 61199)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 2017 - 2020 by Olivier Pieters
+% Copyright (C) 2017 - 2021 by Olivier Pieters
 % --------------------------------------------------------------------------
 % This work may be distributed and/or modified under the
 % conditions of the LaTeX Project Public License, either version 1.3
@@ -7,8 +7,8 @@
 % of this license or (at your option) any later version.
 % The latest version of this license is in
 %   http://www.latex-project.org/lppl.txt
-% and version 1.3 or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008-05-04 or later.
 %
 % This work has the LPPL maintenance status `maintained'.
 %
@@ -26,7 +26,7 @@
 %<class>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
 %<class>\ProvidesClass{limecv}
 %<*class>
-    [2020/03/15 v0.1.8 limecv Document class for CVs.]
+    [2021/12/01 v0.1.12 limecv Document class for CVs.]
 %</class>
 %
 %<*driver>
@@ -69,7 +69,7 @@
 %</driver>
 % \fi
 %
-% \CheckSum{1632}
+% \CheckSum{1697}
 %
 % \CharacterTable
 %  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
@@ -98,13 +98,20 @@
 % \changes{v0.1.6}{2018/06/17}{Added support for French.}
 % \changes{v0.1.7}{2020/02/08}{Added support for Italian.}
 % \changes{v0.1.8}{2020/03/15}{Upgrade to Font Awesome 5.}
+% \changes{v0.1.9}{2021/01/21}{Added support for Spanish.}
+% \changes{v0.1.10}{2021/12/01}{Bug fix in cover letter design for long names. %
+%   Fixes issue when counter environments were used multiple times.}
+% \changes{v0.1.11}{2021/12/01}{Implement option to add email key to %
+%   references.}
+% \changes{v0.1.12}{2021/12/01}{Fix alignment issue for cvMainContent* and %
+%   cvSidebar*.}
 %
 % \DoNotIndex{\NewDocumentCommand,\NewDocumentEnvironment}
 %
 % \providecommand*{\url}{\texttt}
 % 
-% \def\fileversion{v0.1.8}
-% \def\filedate{2020/03/15}
+% \def\fileversion{v0.1.12}
+% \def\filedate{2021/12/01}
 %
 % \GetFileInfo{limecv.dtx}
 % \title{The \textsf{limecv} document class\thanks{This document corresponds %
@@ -173,7 +180,8 @@
 %
 %    \DescribeMacro{\cvSetLanguage} The default language is English and can
 %        be modified using the |\cvSetLanguage| macro. Possible arguments are:
-%        |chinese|, |dutch|, |english|, |french|, |german|, |italian|.
+%        |chinese|, |dutch|, |english|, |french|, |german|, |italian|, and 
+%        |spanish|.
 %        If your language is not supported or you want to override a word in any
 %        supported language, you can modify the keys that hold the different
 %        section titles. These can be in the source code. The following snippet
@@ -606,6 +614,24 @@
 % \iffalse
 %</example>
 % \fi
+%
+%   \DescribeMacro{cvList}
+%   If the above sections do not fit your needs, you can define a new section
+%   using 
+%   |cvList{|\meta{environment name}|}{|\meta{storage key}|}{|\meta{icon}|}|.
+%   It is also used internally for |cvExperience| and |cvEducation|, e.g.:
+%
+% \iffalse
+%<*example>
+% \fi
+\begin{lstlisting}[%
+  caption={\lstinline!cvList! code example.},
+  label=cvList]
+  \cvList{cvEducation}{education}{\faGraduationCap}
+  \end{lstlisting}
+% \iffalse
+%</example>
+% \fi
 % 
 % \section{Cover Letter}
 % 
@@ -836,18 +862,18 @@
 %
 % limecv.cls
 % 
-% Copyright 2017 Olivier Pieters
+% Copyright 2017 - 2021 by Olivier Pieters
 %
 % A (Xe/Lua)LaTeX document class
 %
 %
 % This work may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either version 1.3
+% conditions of the LaTeX Project Public License, either version 1.3c
 % of this license or (at your option) any later version.
 % The latest version of this license is in
 %   http://www.latex-project.org/lppl.txt
-% and version 1.3 or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008-05-04 or later.
 %
 % This work has the LPPL maintenance status `maintained'.
 % 
@@ -1670,13 +1696,13 @@
     \pgfkeys{/@cv/names/languages = Sprachen}%
     \pgfkeys{/@cv/names/interests = Interessen}%
     \pgfkeys{/@cv/names/professional = Beruflich}%
-    \pgfkeys{/@cv/names/personal = Persönlich}%
+    \pgfkeys{/@cv/names/personal = Pers\"{o}nlich}%
     \pgfkeys{/@cv/names/projects = Projekte}%
     \pgfkeys{/@cv/names/education = Ausbildung}%
     \pgfkeys{/@cv/names/experience = Berufliche Erfahrung}%
     \pgfkeys{/@cv/names/references = Referenzen}%
     \pgfkeys{/@cv/names/skills = Kenntnisse}%
-    \pgfkeys{/@cv/names/publications = Veröffentlichungen}%
+    \pgfkeys{/@cv/names/publications = Ver\"{o}ffentlichungen}%
 }
 %    \end{macrocode}
 %
@@ -1700,6 +1726,25 @@
 %    \end{macrocode}
 %
 %
+% Set the title names to Spanish:
+%    \begin{macrocode}
+\NewDocumentCommand{\cv at setSpanish}{}{
+    \pgfkeys{/@cv/names/profile = Perfil}%
+    \pgfkeys{/@cv/names/contact = Contacto}%
+    \pgfkeys{/@cv/names/languages = Idiomas}%
+    \pgfkeys{/@cv/names/interests = Intereses}%
+    \pgfkeys{/@cv/names/professional = Profesionales}%
+    \pgfkeys{/@cv/names/personal = Personales}%
+    \pgfkeys{/@cv/names/projects = Proyectos}%
+    \pgfkeys{/@cv/names/education = Formación}%
+    \pgfkeys{/@cv/names/experience = Experiencia}%
+    \pgfkeys{/@cv/names/skills = Habilidades}%
+    \pgfkeys{/@cv/names/references = Referencias}%
+    \pgfkeys{/@cv/names/publications = Publicaciones}%
+}
+%    \end{macrocode}
+%
+%
 % Set the actual language to English. This can be overwritten by the user in the 
 % preamble
 %
@@ -1714,6 +1759,7 @@
       {french} {\cv at setFrench}
       {german} {\cv at setGerman}
       {italian} {\cv at setItalian}
+      {spanish} {\cv at setSpanish}
       {chinese} {%
           \usepackage[BoldFont,SlantFont]{xeCJK}%
           \cv at setChinese%
@@ -1720,8 +1766,8 @@
         }
     }
     {\ClassError{limecv}{Unknown option `#1' for cvLanguage %
-     macro.}{Only `english', `chinese`, `dutch`, `french`, `german` %
-     and `italian` are valid options for this macro.}}
+     macro.}{Only `english', `chinese`, `dutch`, `french`, `german`, %
+     `italian` and `spanish` are valid options for this macro.}}
 }
 \ExplSyntaxOff
 \cvSetLanguage{english}
@@ -1774,6 +1820,11 @@
 %
 %    \begin{macrocode}
 \NewDocumentEnvironment{cvMainContent}{}{%
+  \stepcounter{cv at titlePrev}
+  \stepcounter{cv at titleNext}
+  \stepcounter{cv at itemPrev}
+  \stepcounter{cv at itemNext}
+  \stepcounter{cv at lastItem}
   \begin{tikzpicture}[%
     every node/.style={%
       inner sep=0pt,
@@ -1786,8 +1837,11 @@
   \end{tikzpicture}
 }
 \NewDocumentEnvironment{cvMainContent*}{}{%
-  \stepcounter{titlePrev}
-  \stepcounter{titleNext}
+  \stepcounter{cv at titlePrev}
+  \stepcounter{cv at titleNext}
+  \stepcounter{cv at itemPrev}
+  \stepcounter{cv at itemNext}
+  \stepcounter{cv at lastItem}
     \begin{tikzpicture}[%
       every node/.style={
         inner sep=0pt,
@@ -1802,11 +1856,14 @@
 %    \end{macrocode}
 %------------------------------------------------------
 %
-%   cvEductation environment
+%   cvList environment: a general environment for 
+%     grouped lists. This environment is used to 
+%     generate e.g.\ |cvEducation|, |cvExperience| etc.
 %
 %    \begin{macrocode}
-\NewDocumentEnvironment{cvEducation}{}{%
-    \cv at Title{\pgfkeysvalueof{/@cv/names/education}}{\faGraduationCap}
+\NewDocumentCommand{\cvList}{mmm} {%
+  \NewDocumentEnvironment{#1}{}{%
+    \cv at Title{\pgfkeysvalueof{/@cv/names/#2}}{#3}
 %    \end{macrocode}
 % insures uniqueness
 %    \begin{macrocode}
@@ -1818,27 +1875,22 @@
     \stepcounter{cv at lastItem}
     \draw (item \the\value{cv at itemPrev}.south west) 
       node (cv at last item \the\value{cv at lastItem}) {};
+  }
 }
 %    \end{macrocode}
 %------------------------------------------------------
 %
-%   cvExperience environment
+%   cvEductation environment
 %
 %    \begin{macrocode}
-\NewDocumentEnvironment{cvExperience}{}{%
-  \cv at Title{\pgfkeysvalueof{/@cv/names/experience}}{\faBriefcase}
+\cvList{cvEducation}{education}{\faGraduationCap}
 %    \end{macrocode}
-% insures uniqueness
+%------------------------------------------------------
+%
+%   cvExperience environment
+%
 %    \begin{macrocode}
-  \stepcounter{cv at itemPrev}
-  \stepcounter{cv at itemNext}
-  \cv at definecvItem
-}{%
-  \cv at EndSectionDraw
-  \stepcounter{cv at lastItem}
-  \draw (item \the\value{cv at itemPrev}.south west) 
-    node (cv at last item \the\value{cv at lastItem}) {};
-}
+\cvList{cvExperience}{experience}{\faBriefcase}
 %    \end{macrocode}
 %------------------------------------------------------
 %
@@ -1848,6 +1900,7 @@
 \NewDocumentEnvironment{cvSkills}{}{%
   \cv at Title{\pgfkeysvalueof{/@cv/names/skills}}{\faStar}
   \global\cv at firstskilltrue
+  \RenewDocumentCommand{\cv at skillsTable}{}{}
 }{%
   \node[
     below=\cvSectionSep of cv at title \the\value{cv at titlePrev}%
@@ -1866,21 +1919,8 @@
 %   cvPublications environment
 %
 %    \begin{macrocode}
-\NewDocumentEnvironment{cvPublications}{}{%
-\cv at Title{\pgfkeysvalueof{/@cv/names/publications}}{\faNewspaper}
+\cvList{cvPublications}{publications}{\faNewspaper}
 %    \end{macrocode}
-% insures uniqueness
-%    \begin{macrocode}
-  \stepcounter{cv at itemPrev}
-  \stepcounter{cv at itemNext}
-  \cv at definecvItem
-}{%
-  \cv at EndSectionDraw
-  \stepcounter{cv at lastItem}
-  \draw (item \the\value{cv at itemPrev}.south west)
-    node (cv at last item \the\value{cv at lastItem}) {};
-}
-%    \end{macrocode}
 %------------------------------------------------------
 %
 %   cvReferences environment
@@ -1935,6 +1975,10 @@
 \pgfkeys{/@cv/references/mobile phone/.is if=%
   cv at refMobilePhone}
 \pgfkeys{/@cv/references/mobile phone=false}
+\newif\ifcv at refEmail
+\pgfkeys{/@cv/references/email/.is if=%
+  cv at refEmail}
+\pgfkeys{/@cv/references/email=false}
 \newif\ifcv at refStored
 \pgfkeys{/@cv/references/value stored/.is if=%
   cv at refStored}
@@ -1997,6 +2041,11 @@
   \@IfNoValueOrEmptyTF{#1}{}{\pgfkeys{/@cv/references/mobile phone = true}}}
 %    \end{macrocode}
 %
+%    \begin{macrocode}
+\define at key{cvAddReferenceA}{email}{%
+  \global\def\cv at refAEmail{#1}%
+  \@IfNoValueOrEmptyTF{#1}{}{\pgfkeys{/@cv/references/email = true}}}
+%    \end{macrocode}
 %
 %    \begin{macrocode}
 \define at key{cvAddReferenceB}{name}{%
@@ -2051,6 +2100,17 @@
 \define at key{cvAddReferenceB}{mobile phone}{%
   \global\def\cv at refBMobilePhone{#1}%
   \@IfNoValueOrEmptyTF{#1}{}{\pgfkeys{/@cv/references/mobile phone = true}}}
+%    \end{macrocode}
+%
+%
+%    \begin{macrocode}
+\define at key{cvAddReferenceB}{email}{%
+  \global\def\cv at refBEmail{#1}%
+  \@IfNoValueOrEmptyTF{#1}{}{\pgfkeys{/@cv/references/email = true}}}
+%    \end{macrocode}
+%
+%
+%    \begin{macrocode}
 \NewDocumentCommand{\cvAddReference}{sm}{%
   \IfBooleanTF{#1}{%
     \setkeys{cvAddReferenceA}{name=,company=,
@@ -2074,6 +2134,7 @@
       \ifcv at refAddressLineC \\ \cv at refAAddressLineC & \cv at refBAddressLineC \fi %
       \ifcv at refWorkPhone    \\ \cv at refAPhoneWork    & \cv at refBPhoneWork    \fi %
       \ifcv at refMobilePhone  \\ \cv at refAMobilePhone  & \cv at refBMobilePhone  \fi %
+      \ifcv at refEmail        \\ \cv at refAEmail        & \cv at refBEmail        \fi %
       \end{tabular}%
       \pgfkeys{/@cv/references/value stored = false}%
     \else%
@@ -2087,6 +2148,7 @@
         \ifcv at refAddressLineC \\ \cv at refBAddressLineC \fi %
         \ifcv at refWorkPhone    \\ \cv at refBPhoneWork    \fi %
         \ifcv at refMobilePhone  \\ \cv at refBMobilePhone  \fi %
+        \ifcv at refEmail        \\ \cv at refBEmail        \fi %
       \end{tabular}%
     \fi%
   }%
@@ -2113,7 +2175,7 @@
   \end{minipage}
   \vspace*{\fill}
 }
-\NewDocumentEnvironment{cvSidear*}{}{%
+\NewDocumentEnvironment{cvSidebar*}{}{%
   \vspace*{\fill}
   \vspace*{-0.5\cvMargin}
   \begin{tikzpicture}[remember picture,overlay]
@@ -2120,6 +2182,7 @@
     \fill[cvGreenLight] (current page.north east) rectangle %
       ++(-\cvSideWidth-2\cvMargin,-\paperheight);
   \end{tikzpicture}%
+  \hspace*{\paperwidth-\cvSideWidth-2\cvMargin}%
   \begin{minipage}{\cvSideWidth}
     \begin{center}
 }{%
@@ -2319,6 +2382,9 @@
       for this environment.}}
   }
   
+  \stepcounter{cv at cvInterestCounter}
+  \stepcounter{cv at cvInterestCounterPrev}
+
   \cv at definecv@interestSection
 %    \end{macrocode}
 % define new commands
@@ -2344,6 +2410,7 @@
   \vspace{\cvSectionSBSep}
 }{%
   \cv at interestClose
+  \global\cv at interestContentfalse
 }
 \ExplSyntaxOff
 %    \end{macrocode}
@@ -2489,27 +2556,48 @@
 \pgfkeys{/@cv/languages/.is family,
 /@cv/languages/.unknown/.style = {%
   \pgfkeyscurrentpath/\pgfkeyscurrentname/.initial = #1}}
-\NewDocumentEnvironment{cvLanguages}{}{%
-  \NewDocumentCommand{\cvLanguage}{mm}{%
-    {\globaldefs=1\relax\pgfkeys{%
-      /@cv/languages/lang\the\value{cv at languages} = ##2}}
-    \node[cv at languageText]{##1}; \pgfmatrixnextcell %
-      \node[cv at progressArea] (cv at language \the\value{cv at languages}) {}; \\
-    \stepcounter{cv at languages}
-  }%
+
+\newif\ifcv at languagerating
+\cv at languageratingtrue
+\NewDocumentEnvironment{cvLanguages}{ o }{%
+  \IfNoValueTF{#1}{
+    \NewDocumentCommand{\cvLanguage}{mm}{%
+      {\globaldefs=1\relax\pgfkeys{%
+        /@cv/languages/lang\the\value{cv at languages} = ##2}}
+      \node[cv at languageText]{##1}; \pgfmatrixnextcell %
+        \node[cv at progressArea] (cv at language \the\value{cv at languages}) {}; \\
+      \stepcounter{cv at languages}
+    }%  
+    \cv at languageratingtrue
+  }{
+    \NewDocumentCommand{\cvLanguage}{m}{%
+      \node[cv at languageText]{##1}; \\
+      \stepcounter{cv at languages}
+    }%  
+    \cv at languageratingfalse
+  }
   \vspace{\cvSectionSBSep}
   \ruleline{\pgfkeysvalueof{/@cv/names/languages}}%
   \vspace{\cvSectionSBSep}
   \begin{tikzpicture}[%
     every node/.style={text depth=0pt,inner sep=0pt,outer sep=0pt}]
-  \matrix [
+  \ifcv at languagerating
+  \matrix [%
     column 1/.style={anchor=east},
     column sep=1.5\cvSectionSBSep,
     row sep=1.5\cvSectionSBSep,
     column 2/.style={anchor=west,align=left}
   ] (contact) \bgroup
+  \else
+  \matrix [%
+    column sep=1.5\cvSectionSBSep,
+    row sep=1.5\cvSectionSBSep,
+    column 2/.style={anchor=west,align=left}
+  ] (contact) \bgroup
+  \fi
 }{%
   \\\egroup;
+  \ifcv at languagerating
   \newcounter{cv at languagelevel}
   \setcounter{cv at languagelevel}{1}
   \loop\ifnum\value{cv at languagelevel}<\value{cv at languages}
@@ -2521,6 +2609,7 @@
         {};
     \stepcounter{cv at languagelevel}
   \repeat
+  \fi
   \end{tikzpicture}
 }
 %    \end{macrocode}
@@ -2654,25 +2743,28 @@
     \draw (current page.north east) %
       ++(-0.5\paperwidth+0.5\cvCoverLetterWidth,
          -\cvCoverLetterHeight/2) node (cv at h7) {};
-    \node[anchor=east] at (cv at h7) (cv cover letter name){%
-      \fontsize{50}{60}\selectfont
+    \node[%
+      anchor=east, 
+      align=flush right, 
+      text width=\textwidth] at (cv at h7) (cv cover letter name){%
+        \fontsize{50}{60}\selectfont
 %    \end{macrocode}
 % trick to expand argument such that `kleft` sees an 
 % alphabetic constant (i.e. a single letter)
 %    \begin{macrocode}
-      \begingroup\edef\y{\endgroup%
-        \noexpand\kleft{\cv at FirstNameLetter}}%
-      \y
-      \StrGobbleLeft{\pgfkeysvalueof{/@cv/info/first name}}{1}\space
-      \StrGobbleRight{\pgfkeysvalueof{/@cv/info/last name}}{1}
+        \begingroup\edef\y{\endgroup%
+          \noexpand\kleft{\cv at FirstNameLetter}}%
+        \y
+        \StrGobbleLeft{\pgfkeysvalueof{/@cv/info/first name}}{1}\space
+        \StrGobbleRight{\pgfkeysvalueof{/@cv/info/last name}}{1}
 %    \end{macrocode}
 % same trick
 % trick to expand argument such that `kleft` sees an 
 % alphabetic constant (i.e. a single letter)
 %    \begin{macrocode}
-      \begingroup\edef\y{\endgroup%
-        \noexpand\kright{\cv at LastNameLetter}}%
-      \y
+        \begingroup\edef\y{\endgroup%
+          \noexpand\kright{\cv at LastNameLetter}}%
+        \y
       };
     \node[%
       align=right,
@@ -2733,9 +2825,9 @@
   }
   {\LARGE
   \vspace{\cvIDNameSep}
-  #1
+  \color{cvAccent} #1
   \vspace{\cvIDNameSep}
-  #2}
+  \color{cvAccent} #2}
   
   \vspace{\cvPositionSep}
   

Modified: trunk/Master/texmf-dist/source/latex/limecv/limecv.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/limecv/limecv.ins	2021-12-01 21:09:04 UTC (rev 61198)
+++ trunk/Master/texmf-dist/source/latex/limecv/limecv.ins	2021-12-01 21:09:22 UTC (rev 61199)
@@ -1,5 +1,5 @@
 %%
-%% Copyright (C) 2017 - 2018 by Olivier Pieters
+%% Copyright (C) 2017 - 2020 by Olivier Pieters
 %%
 %% This file may be distributed and/or modified under the
 %% conditions of the LaTeX Project Public License, either
@@ -8,8 +8,8 @@
 %%
 %% http://www.latex-project.org/lppl.txt
 %%
-%% and version 1.3 or later is part of all distributions of 
-%% LaTeX version 2005/12/01 or later.
+%% and version 1.3c or later is part of all distributions of 
+%% LaTeX version 2008-05-04 or later.
 %%
 
 \input docstrip.tex
@@ -28,8 +28,8 @@
 
    http://www.latex-project.org/lppl.txt
 
-and version 1.3 or later is part of all distributions of
-LaTeX version 2005/12/01 or later.
+and version 1.3c or later is part of all distributions of
+LaTeX version 2008-05-04 or later.
 
 \endpreamble
 

Modified: trunk/Master/texmf-dist/tex/latex/limecv/limecv.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/limecv/limecv.cls	2021-12-01 21:09:04 UTC (rev 61198)
+++ trunk/Master/texmf-dist/tex/latex/limecv/limecv.cls	2021-12-01 21:09:22 UTC (rev 61199)
@@ -15,12 +15,12 @@
 %% 
 %%    http://www.latex-project.org/lppl.txt
 %% 
-%% and version 1.3 or later is part of all distributions of
-%% LaTeX version 2005/12/01 or later.
+%% and version 1.3c or later is part of all distributions of
+%% LaTeX version 2008-05-04 or later.
 %% 
 \NeedsTeXFormat{LaTeX2e}[1999/12/01]
 \ProvidesClass{limecv}
-    [2020/03/15 v0.1.8 limecv Document class for CVs.]
+    [2021/12/01 v0.1.12 limecv Document class for CVs.]
 
 \RequirePackage{kvoptions}
 \DeclareBoolOption[false]{print}
@@ -479,13 +479,13 @@
     \pgfkeys{/@cv/names/languages = Sprachen}%
     \pgfkeys{/@cv/names/interests = Interessen}%
     \pgfkeys{/@cv/names/professional = Beruflich}%
-    \pgfkeys{/@cv/names/personal = Persönlich}%
+    \pgfkeys{/@cv/names/personal = Pers\"{o}nlich}%
     \pgfkeys{/@cv/names/projects = Projekte}%
     \pgfkeys{/@cv/names/education = Ausbildung}%
     \pgfkeys{/@cv/names/experience = Berufliche Erfahrung}%
     \pgfkeys{/@cv/names/references = Referenzen}%
     \pgfkeys{/@cv/names/skills = Kenntnisse}%
-    \pgfkeys{/@cv/names/publications = Veröffentlichungen}%
+    \pgfkeys{/@cv/names/publications = Ver\"{o}ffentlichungen}%
 }
 \NewDocumentCommand{\cv at setItalian}{}{
     \pgfkeys{/@cv/names/profile = Profilo}%
@@ -501,6 +501,20 @@
     \pgfkeys{/@cv/names/skills = Competenze}%
     \pgfkeys{/@cv/names/publications = Pubblicazioni}%
 }
+\NewDocumentCommand{\cv at setSpanish}{}{
+    \pgfkeys{/@cv/names/profile = Perfil}%
+    \pgfkeys{/@cv/names/contact = Contacto}%
+    \pgfkeys{/@cv/names/languages = Idiomas}%
+    \pgfkeys{/@cv/names/interests = Intereses}%
+    \pgfkeys{/@cv/names/professional = Profesionales}%
+    \pgfkeys{/@cv/names/personal = Personales}%
+    \pgfkeys{/@cv/names/projects = Proyectos}%
+    \pgfkeys{/@cv/names/education = Formación}%
+    \pgfkeys{/@cv/names/experience = Experiencia}%
+    \pgfkeys{/@cv/names/skills = Habilidades}%
+    \pgfkeys{/@cv/names/references = Referencias}%
+    \pgfkeys{/@cv/names/publications = Publicaciones}%
+}
 \ExplSyntaxOn
 \NewDocumentCommand{\cvSetLanguage}{m}{
     \str_case:nnF {#1}
@@ -510,6 +524,7 @@
       {french} {\cv at setFrench}
       {german} {\cv at setGerman}
       {italian} {\cv at setItalian}
+      {spanish} {\cv at setSpanish}
       {chinese} {%
           \usepackage[BoldFont,SlantFont]{xeCJK}%
           \cv at setChinese%
@@ -516,8 +531,8 @@
         }
     }
     {\ClassError{limecv}{Unknown option `#1' for cvLanguage %
-     macro.}{Only `english', `chinese`, `dutch`, `french`, `german` %
-     and `italian` are valid options for this macro.}}
+     macro.}{Only `english', `chinese`, `dutch`, `french`, `german`, %
+     `italian` and `spanish` are valid options for this macro.}}
 }
 \ExplSyntaxOff
 \cvSetLanguage{english}
@@ -542,6 +557,11 @@
   \fi
 }
 \NewDocumentEnvironment{cvMainContent}{}{%
+  \stepcounter{cv at titlePrev}
+  \stepcounter{cv at titleNext}
+  \stepcounter{cv at itemPrev}
+  \stepcounter{cv at itemNext}
+  \stepcounter{cv at lastItem}
   \begin{tikzpicture}[%
     every node/.style={%
       inner sep=0pt,
@@ -554,8 +574,11 @@
   \end{tikzpicture}
 }
 \NewDocumentEnvironment{cvMainContent*}{}{%
-  \stepcounter{titlePrev}
-  \stepcounter{titleNext}
+  \stepcounter{cv at titlePrev}
+  \stepcounter{cv at titleNext}
+  \stepcounter{cv at itemPrev}
+  \stepcounter{cv at itemNext}
+  \stepcounter{cv at lastItem}
     \begin{tikzpicture}[%
       every node/.style={
         inner sep=0pt,
@@ -567,8 +590,9 @@
 }{%
     \end{tikzpicture}%
 }
-\NewDocumentEnvironment{cvEducation}{}{%
-    \cv at Title{\pgfkeysvalueof{/@cv/names/education}}{\faGraduationCap}
+\NewDocumentCommand{\cvList}{mmm} {%
+  \NewDocumentEnvironment{#1}{}{%
+    \cv at Title{\pgfkeysvalueof{/@cv/names/#2}}{#3}
     \stepcounter{cv at itemPrev}
     \stepcounter{cv at itemNext}
     \cv at definecvItem
@@ -577,21 +601,14 @@
     \stepcounter{cv at lastItem}
     \draw (item \the\value{cv at itemPrev}.south west)
       node (cv at last item \the\value{cv at lastItem}) {};
+  }
 }
-\NewDocumentEnvironment{cvExperience}{}{%
-  \cv at Title{\pgfkeysvalueof{/@cv/names/experience}}{\faBriefcase}
-  \stepcounter{cv at itemPrev}
-  \stepcounter{cv at itemNext}
-  \cv at definecvItem
-}{%
-  \cv at EndSectionDraw
-  \stepcounter{cv at lastItem}
-  \draw (item \the\value{cv at itemPrev}.south west)
-    node (cv at last item \the\value{cv at lastItem}) {};
-}
+\cvList{cvEducation}{education}{\faGraduationCap}
+\cvList{cvExperience}{experience}{\faBriefcase}
 \NewDocumentEnvironment{cvSkills}{}{%
   \cv at Title{\pgfkeysvalueof{/@cv/names/skills}}{\faStar}
   \global\cv at firstskilltrue
+  \RenewDocumentCommand{\cv at skillsTable}{}{}
 }{%
   \node[
     below=\cvSectionSep of cv at title \the\value{cv at titlePrev}%
@@ -604,17 +621,7 @@
   \draw (skills.south west) node %
     (cv at last item \the\value{cv at lastItem}) {};
 }
-\NewDocumentEnvironment{cvPublications}{}{%
-\cv at Title{\pgfkeysvalueof{/@cv/names/publications}}{\faNewspaper}
-  \stepcounter{cv at itemPrev}
-  \stepcounter{cv at itemNext}
-  \cv at definecvItem
-}{%
-  \cv at EndSectionDraw
-  \stepcounter{cv at lastItem}
-  \draw (item \the\value{cv at itemPrev}.south west)
-    node (cv at last item \the\value{cv at lastItem}) {};
-}
+\cvList{cvPublications}{publications}{\faNewspaper}
 \NewDocumentEnvironment{cvReferences}{}{%
   \cv at Title{\pgfkeysvalueof{/@cv/names/references}}{\faLink}
   \node[
@@ -661,6 +668,10 @@
 \pgfkeys{/@cv/references/mobile phone/.is if=%
   cv at refMobilePhone}
 \pgfkeys{/@cv/references/mobile phone=false}
+\newif\ifcv at refEmail
+\pgfkeys{/@cv/references/email/.is if=%
+  cv at refEmail}
+\pgfkeys{/@cv/references/email=false}
 \newif\ifcv at refStored
 \pgfkeys{/@cv/references/value stored/.is if=%
   cv at refStored}
@@ -689,6 +700,9 @@
 \define at key{cvAddReferenceA}{mobile phone}{%
   \global\def\cv at refAMobilePhone{#1}%
   \@IfNoValueOrEmptyTF{#1}{}{\pgfkeys{/@cv/references/mobile phone = true}}}
+\define at key{cvAddReferenceA}{email}{%
+  \global\def\cv at refAEmail{#1}%
+  \@IfNoValueOrEmptyTF{#1}{}{\pgfkeys{/@cv/references/email = true}}}
 \define at key{cvAddReferenceB}{name}{%
   \global\def\cv at refBName{#1}%
   \@IfNoValueOrEmptyTF{#1}{}{\pgfkeys{/@cv/references/name = true}}}
@@ -713,6 +727,9 @@
 \define at key{cvAddReferenceB}{mobile phone}{%
   \global\def\cv at refBMobilePhone{#1}%
   \@IfNoValueOrEmptyTF{#1}{}{\pgfkeys{/@cv/references/mobile phone = true}}}
+\define at key{cvAddReferenceB}{email}{%
+  \global\def\cv at refBEmail{#1}%
+  \@IfNoValueOrEmptyTF{#1}{}{\pgfkeys{/@cv/references/email = true}}}
 \NewDocumentCommand{\cvAddReference}{sm}{%
   \IfBooleanTF{#1}{%
     \setkeys{cvAddReferenceA}{name=,company=,
@@ -736,6 +753,7 @@
       \ifcv at refAddressLineC \\ \cv at refAAddressLineC & \cv at refBAddressLineC \fi %
       \ifcv at refWorkPhone    \\ \cv at refAPhoneWork    & \cv at refBPhoneWork    \fi %
       \ifcv at refMobilePhone  \\ \cv at refAMobilePhone  & \cv at refBMobilePhone  \fi %
+      \ifcv at refEmail        \\ \cv at refAEmail        & \cv at refBEmail        \fi %
       \end{tabular}%
       \pgfkeys{/@cv/references/value stored = false}%
     \else%
@@ -749,6 +767,7 @@
         \ifcv at refAddressLineC \\ \cv at refBAddressLineC \fi %
         \ifcv at refWorkPhone    \\ \cv at refBPhoneWork    \fi %
         \ifcv at refMobilePhone  \\ \cv at refBMobilePhone  \fi %
+        \ifcv at refEmail        \\ \cv at refBEmail        \fi %
       \end{tabular}%
     \fi%
   }%
@@ -767,7 +786,7 @@
   \end{minipage}
   \vspace*{\fill}
 }
-\NewDocumentEnvironment{cvSidear*}{}{%
+\NewDocumentEnvironment{cvSidebar*}{}{%
   \vspace*{\fill}
   \vspace*{-0.5\cvMargin}
   \begin{tikzpicture}[remember picture,overlay]
@@ -774,6 +793,7 @@
     \fill[cvGreenLight] (current page.north east) rectangle %
       ++(-\cvSideWidth-2\cvMargin,-\paperheight);
   \end{tikzpicture}%
+  \hspace*{\paperwidth-\cvSideWidth-2\cvMargin}%
   \begin{minipage}{\cvSideWidth}
     \begin{center}
 }{%
@@ -942,6 +962,9 @@
       for this environment.}}
   }
 
+  \stepcounter{cv at cvInterestCounter}
+  \stepcounter{cv at cvInterestCounterPrev}
+
   \cv at definecv@interestSection
   \NewDocumentCommand{\cvInterestsPersonal}{}{%
     \cv at interestSection{\faUser\ \emph{\pgfkeysvalueof{/@cv/names/personal}}}}
@@ -960,6 +983,7 @@
   \vspace{\cvSectionSBSep}
 }{%
   \cv at interestClose
+  \global\cv at interestContentfalse
 }
 \ExplSyntaxOff
 \newif\ifcv at projectImage
@@ -1056,27 +1080,48 @@
 \pgfkeys{/@cv/languages/.is family,
 /@cv/languages/.unknown/.style = {%
   \pgfkeyscurrentpath/\pgfkeyscurrentname/.initial = #1}}
-\NewDocumentEnvironment{cvLanguages}{}{%
-  \NewDocumentCommand{\cvLanguage}{mm}{%
-    {\globaldefs=1\relax\pgfkeys{%
-      /@cv/languages/lang\the\value{cv at languages} = ##2}}
-    \node[cv at languageText]{##1}; \pgfmatrixnextcell %
-      \node[cv at progressArea] (cv at language \the\value{cv at languages}) {}; \\
-    \stepcounter{cv at languages}
-  }%
+
+\newif\ifcv at languagerating
+\cv at languageratingtrue
+\NewDocumentEnvironment{cvLanguages}{ o }{%
+  \IfNoValueTF{#1}{
+    \NewDocumentCommand{\cvLanguage}{mm}{%
+      {\globaldefs=1\relax\pgfkeys{%
+        /@cv/languages/lang\the\value{cv at languages} = ##2}}
+      \node[cv at languageText]{##1}; \pgfmatrixnextcell %
+        \node[cv at progressArea] (cv at language \the\value{cv at languages}) {}; \\
+      \stepcounter{cv at languages}
+    }%
+    \cv at languageratingtrue
+  }{
+    \NewDocumentCommand{\cvLanguage}{m}{%
+      \node[cv at languageText]{##1}; \\
+      \stepcounter{cv at languages}
+    }%
+    \cv at languageratingfalse
+  }
   \vspace{\cvSectionSBSep}
   \ruleline{\pgfkeysvalueof{/@cv/names/languages}}%
   \vspace{\cvSectionSBSep}
   \begin{tikzpicture}[%
     every node/.style={text depth=0pt,inner sep=0pt,outer sep=0pt}]
-  \matrix [
+  \ifcv at languagerating
+  \matrix [%
     column 1/.style={anchor=east},
     column sep=1.5\cvSectionSBSep,
     row sep=1.5\cvSectionSBSep,
     column 2/.style={anchor=west,align=left}
   ] (contact) \bgroup
+  \else
+  \matrix [%
+    column sep=1.5\cvSectionSBSep,
+    row sep=1.5\cvSectionSBSep,
+    column 2/.style={anchor=west,align=left}
+  ] (contact) \bgroup
+  \fi
 }{%
   \\\egroup;
+  \ifcv at languagerating
   \newcounter{cv at languagelevel}
   \setcounter{cv at languagelevel}{1}
   \loop\ifnum\value{cv at languagelevel}<\value{cv at languages}
@@ -1088,6 +1133,7 @@
         {};
     \stepcounter{cv at languagelevel}
   \repeat
+  \fi
   \end{tikzpicture}
 }
 \define at key{cvCoverLetter}{name}{%
@@ -1150,16 +1196,19 @@
     \draw (current page.north east) %
       ++(-0.5\paperwidth+0.5\cvCoverLetterWidth,
          -\cvCoverLetterHeight/2) node (cv at h7) {};
-    \node[anchor=east] at (cv at h7) (cv cover letter name){%
-      \fontsize{50}{60}\selectfont
-      \begingroup\edef\y{\endgroup%
-        \noexpand\kleft{\cv at FirstNameLetter}}%
-      \y
-      \StrGobbleLeft{\pgfkeysvalueof{/@cv/info/first name}}{1}\space
-      \StrGobbleRight{\pgfkeysvalueof{/@cv/info/last name}}{1}
-      \begingroup\edef\y{\endgroup%
-        \noexpand\kright{\cv at LastNameLetter}}%
-      \y
+    \node[%
+      anchor=east,
+      align=flush right,
+      text width=\textwidth] at (cv at h7) (cv cover letter name){%
+        \fontsize{50}{60}\selectfont
+        \begingroup\edef\y{\endgroup%
+          \noexpand\kleft{\cv at FirstNameLetter}}%
+        \y
+        \StrGobbleLeft{\pgfkeysvalueof{/@cv/info/first name}}{1}\space
+        \StrGobbleRight{\pgfkeysvalueof{/@cv/info/last name}}{1}
+        \begingroup\edef\y{\endgroup%
+          \noexpand\kright{\cv at LastNameLetter}}%
+        \y
       };
     \node[%
       align=right,
@@ -1208,9 +1257,9 @@
   }
   {\LARGE
   \vspace{\cvIDNameSep}
-  #1
+  \color{cvAccent} #1
   \vspace{\cvIDNameSep}
-  #2}
+  \color{cvAccent} #2}
 
   \vspace{\cvPositionSep}
 



More information about the tex-live-commits mailing list.