diff options
author | Karl Berry <karl@freefriends.org> | 2021-12-01 21:09:22 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2021-12-01 21:09:22 +0000 |
commit | 6772b29c795ab21ab01360e0f9c68349a2091371 (patch) | |
tree | cdf43fb4547d742d8339add05a84376c5e8c8429 /Master/texmf-dist/tex/latex/limecv | |
parent | feba7386a435fd5953f843e5f6b1091c02efe9fb (diff) |
limecv (1dec21)
git-svn-id: svn://tug.org/texlive/trunk@61199 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/limecv')
-rw-r--r-- | Master/texmf-dist/tex/latex/limecv/limecv.cls | 159 |
1 files changed, 104 insertions, 55 deletions
diff --git a/Master/texmf-dist/tex/latex/limecv/limecv.cls b/Master/texmf-dist/tex/latex/limecv/limecv.cls index 8d6fdc0323d..cc3630aae00 100644 --- a/Master/texmf-dist/tex/latex/limecv/limecv.cls +++ b/Master/texmf-dist/tex/latex/limecv/limecv.cls @@ -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@setItalian}{}{ \pgfkeys{/@cv/names/profile = Profilo}% @@ -501,6 +501,20 @@ \pgfkeys{/@cv/names/skills = Competenze}% \pgfkeys{/@cv/names/publications = Pubblicazioni}% } +\NewDocumentCommand{\cv@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,14 +524,15 @@ {french} {\cv@setFrench} {german} {\cv@setGerman} {italian} {\cv@setItalian} + {spanish} {\cv@setSpanish} {chinese} {% \usepackage[BoldFont,SlantFont]{xeCJK}% \cv@setChinese% } } {\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@titlePrev} + \stepcounter{cv@titleNext} + \stepcounter{cv@itemPrev} + \stepcounter{cv@itemNext} + \stepcounter{cv@lastItem} \begin{tikzpicture}[% every node/.style={% inner sep=0pt, @@ -554,8 +574,11 @@ \end{tikzpicture} } \NewDocumentEnvironment{cvMainContent*}{}{% - \stepcounter{titlePrev} - \stepcounter{titleNext} + \stepcounter{cv@titlePrev} + \stepcounter{cv@titleNext} + \stepcounter{cv@itemPrev} + \stepcounter{cv@itemNext} + \stepcounter{cv@lastItem} \begin{tikzpicture}[% every node/.style={ inner sep=0pt, @@ -567,8 +590,9 @@ }{% \end{tikzpicture}% } -\NewDocumentEnvironment{cvEducation}{}{% - \cv@Title{\pgfkeysvalueof{/@cv/names/education}}{\faGraduationCap} +\NewDocumentCommand{\cvList}{mmm} {% + \NewDocumentEnvironment{#1}{}{% + \cv@Title{\pgfkeysvalueof{/@cv/names/#2}}{#3} \stepcounter{cv@itemPrev} \stepcounter{cv@itemNext} \cv@definecvItem @@ -577,21 +601,14 @@ \stepcounter{cv@lastItem} \draw (item \the\value{cv@itemPrev}.south west) node (cv@last item \the\value{cv@lastItem}) {}; + } } -\NewDocumentEnvironment{cvExperience}{}{% - \cv@Title{\pgfkeysvalueof{/@cv/names/experience}}{\faBriefcase} - \stepcounter{cv@itemPrev} - \stepcounter{cv@itemNext} - \cv@definecvItem -}{% - \cv@EndSectionDraw - \stepcounter{cv@lastItem} - \draw (item \the\value{cv@itemPrev}.south west) - node (cv@last item \the\value{cv@lastItem}) {}; -} +\cvList{cvEducation}{education}{\faGraduationCap} +\cvList{cvExperience}{experience}{\faBriefcase} \NewDocumentEnvironment{cvSkills}{}{% \cv@Title{\pgfkeysvalueof{/@cv/names/skills}}{\faStar} \global\cv@firstskilltrue + \RenewDocumentCommand{\cv@skillsTable}{}{} }{% \node[ below=\cvSectionSep of cv@title \the\value{cv@titlePrev}% @@ -604,17 +621,7 @@ \draw (skills.south west) node % (cv@last item \the\value{cv@lastItem}) {}; } -\NewDocumentEnvironment{cvPublications}{}{% -\cv@Title{\pgfkeysvalueof{/@cv/names/publications}}{\faNewspaper} - \stepcounter{cv@itemPrev} - \stepcounter{cv@itemNext} - \cv@definecvItem -}{% - \cv@EndSectionDraw - \stepcounter{cv@lastItem} - \draw (item \the\value{cv@itemPrev}.south west) - node (cv@last item \the\value{cv@lastItem}) {}; -} +\cvList{cvPublications}{publications}{\faNewspaper} \NewDocumentEnvironment{cvReferences}{}{% \cv@Title{\pgfkeysvalueof{/@cv/names/references}}{\faLink} \node[ @@ -661,6 +668,10 @@ \pgfkeys{/@cv/references/mobile phone/.is if=% cv@refMobilePhone} \pgfkeys{/@cv/references/mobile phone=false} +\newif\ifcv@refEmail +\pgfkeys{/@cv/references/email/.is if=% + cv@refEmail} +\pgfkeys{/@cv/references/email=false} \newif\ifcv@refStored \pgfkeys{/@cv/references/value stored/.is if=% cv@refStored} @@ -689,6 +700,9 @@ \define@key{cvAddReferenceA}{mobile phone}{% \global\def\cv@refAMobilePhone{#1}% \@IfNoValueOrEmptyTF{#1}{}{\pgfkeys{/@cv/references/mobile phone = true}}} +\define@key{cvAddReferenceA}{email}{% + \global\def\cv@refAEmail{#1}% + \@IfNoValueOrEmptyTF{#1}{}{\pgfkeys{/@cv/references/email = true}}} \define@key{cvAddReferenceB}{name}{% \global\def\cv@refBName{#1}% \@IfNoValueOrEmptyTF{#1}{}{\pgfkeys{/@cv/references/name = true}}} @@ -713,6 +727,9 @@ \define@key{cvAddReferenceB}{mobile phone}{% \global\def\cv@refBMobilePhone{#1}% \@IfNoValueOrEmptyTF{#1}{}{\pgfkeys{/@cv/references/mobile phone = true}}} +\define@key{cvAddReferenceB}{email}{% + \global\def\cv@refBEmail{#1}% + \@IfNoValueOrEmptyTF{#1}{}{\pgfkeys{/@cv/references/email = true}}} \NewDocumentCommand{\cvAddReference}{sm}{% \IfBooleanTF{#1}{% \setkeys{cvAddReferenceA}{name=,company=, @@ -736,6 +753,7 @@ \ifcv@refAddressLineC \\ \cv@refAAddressLineC & \cv@refBAddressLineC \fi % \ifcv@refWorkPhone \\ \cv@refAPhoneWork & \cv@refBPhoneWork \fi % \ifcv@refMobilePhone \\ \cv@refAMobilePhone & \cv@refBMobilePhone \fi % + \ifcv@refEmail \\ \cv@refAEmail & \cv@refBEmail \fi % \end{tabular}% \pgfkeys{/@cv/references/value stored = false}% \else% @@ -749,6 +767,7 @@ \ifcv@refAddressLineC \\ \cv@refBAddressLineC \fi % \ifcv@refWorkPhone \\ \cv@refBPhoneWork \fi % \ifcv@refMobilePhone \\ \cv@refBMobilePhone \fi % + \ifcv@refEmail \\ \cv@refBEmail \fi % \end{tabular}% \fi% }% @@ -767,13 +786,14 @@ \end{minipage} \vspace*{\fill} } -\NewDocumentEnvironment{cvSidear*}{}{% +\NewDocumentEnvironment{cvSidebar*}{}{% \vspace*{\fill} \vspace*{-0.5\cvMargin} \begin{tikzpicture}[remember picture,overlay] \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@cvInterestCounter} + \stepcounter{cv@cvInterestCounterPrev} + \cv@definecv@interestSection \NewDocumentCommand{\cvInterestsPersonal}{}{% \cv@interestSection{\faUser\ \emph{\pgfkeysvalueof{/@cv/names/personal}}}} @@ -960,6 +983,7 @@ \vspace{\cvSectionSBSep} }{% \cv@interestClose + \global\cv@interestContentfalse } \ExplSyntaxOff \newif\ifcv@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@languages} = ##2}} - \node[cv@languageText]{##1}; \pgfmatrixnextcell % - \node[cv@progressArea] (cv@language \the\value{cv@languages}) {}; \\ - \stepcounter{cv@languages} - }% + +\newif\ifcv@languagerating +\cv@languageratingtrue +\NewDocumentEnvironment{cvLanguages}{ o }{% + \IfNoValueTF{#1}{ + \NewDocumentCommand{\cvLanguage}{mm}{% + {\globaldefs=1\relax\pgfkeys{% + /@cv/languages/lang\the\value{cv@languages} = ##2}} + \node[cv@languageText]{##1}; \pgfmatrixnextcell % + \node[cv@progressArea] (cv@language \the\value{cv@languages}) {}; \\ + \stepcounter{cv@languages} + }% + \cv@languageratingtrue + }{ + \NewDocumentCommand{\cvLanguage}{m}{% + \node[cv@languageText]{##1}; \\ + \stepcounter{cv@languages} + }% + \cv@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@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@languagerating \newcounter{cv@languagelevel} \setcounter{cv@languagelevel}{1} \loop\ifnum\value{cv@languagelevel}<\value{cv@languages} @@ -1088,6 +1133,7 @@ {}; \stepcounter{cv@languagelevel} \repeat + \fi \end{tikzpicture} } \define@key{cvCoverLetter}{name}{% @@ -1150,16 +1196,19 @@ \draw (current page.north east) % ++(-0.5\paperwidth+0.5\cvCoverLetterWidth, -\cvCoverLetterHeight/2) node (cv@h7) {}; - \node[anchor=east] at (cv@h7) (cv cover letter name){% - \fontsize{50}{60}\selectfont - \begingroup\edef\y{\endgroup% - \noexpand\kleft{\cv@FirstNameLetter}}% - \y - \StrGobbleLeft{\pgfkeysvalueof{/@cv/info/first name}}{1}\space - \StrGobbleRight{\pgfkeysvalueof{/@cv/info/last name}}{1} - \begingroup\edef\y{\endgroup% - \noexpand\kright{\cv@LastNameLetter}}% - \y + \node[% + anchor=east, + align=flush right, + text width=\textwidth] at (cv@h7) (cv cover letter name){% + \fontsize{50}{60}\selectfont + \begingroup\edef\y{\endgroup% + \noexpand\kleft{\cv@FirstNameLetter}}% + \y + \StrGobbleLeft{\pgfkeysvalueof{/@cv/info/first name}}{1}\space + \StrGobbleRight{\pgfkeysvalueof{/@cv/info/last name}}{1} + \begingroup\edef\y{\endgroup% + \noexpand\kright{\cv@LastNameLetter}}% + \y }; \node[% align=right, @@ -1208,9 +1257,9 @@ } {\LARGE \vspace{\cvIDNameSep} - #1 + \color{cvAccent} #1 \vspace{\cvIDNameSep} - #2} + \color{cvAccent} #2} \vspace{\cvPositionSep} |