summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/limecv
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2021-12-01 21:09:22 +0000
committerKarl Berry <karl@freefriends.org>2021-12-01 21:09:22 +0000
commit6772b29c795ab21ab01360e0f9c68349a2091371 (patch)
treecdf43fb4547d742d8339add05a84376c5e8c8429 /Master/texmf-dist/tex/latex/limecv
parentfeba7386a435fd5953f843e5f6b1091c02efe9fb (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.cls159
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}