diff options
Diffstat (limited to 'Master/texmf-dist/source')
-rw-r--r-- | Master/texmf-dist/source/latex/komacv/komacv.dtx | 303 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/komacv/komacv.ins | 4 |
2 files changed, 174 insertions, 133 deletions
diff --git a/Master/texmf-dist/source/latex/komacv/komacv.dtx b/Master/texmf-dist/source/latex/komacv/komacv.dtx index 05a4e86bc2c..66cdf86866a 100644 --- a/Master/texmf-dist/source/latex/komacv/komacv.dtx +++ b/Master/texmf-dist/source/latex/komacv/komacv.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 2014-2017 +% Copyright (C) 2014-2021 % by Salome Södergran (salome.soedergran@gmx.ch) % ----------------------------------------------- % @@ -25,15 +25,15 @@ % % \iffalse %<*driver> -\ProvidesFile{komacv.dtx}[2017/04/17 v1.1.1 komacv class] +\ProvidesFile{komacv.dtx}[2021/02/12 v1.1.2 komacv class] %</driver> %<class|classic|casual|oldstyle>\NeedsTeXFormat{LaTeX2e}[1999/12/01] %<class>\ProvidesClass{komacv} -%<class> [2017/04/17 v1.1.1 komacv class] +%<class> [2021/02/12 v1.1.2 komacv class] %<classic>\ProvidesPackage{komacv-classic} %<casual>\ProvidesPackage{komacv-casual} %<oldstyle>\ProvidesPackage{komacv-oldstyle} -%<classic|casual|oldstyle> [2017/04/17 v1.1.1 style package for komacv class] +%<classic|casual|oldstyle> [2021/02/12 v1.1.2 style package for komacv class] %<*driver> \documentclass{ltxdoc} % \AtBeginDocument{\OnlyDescription} @@ -60,6 +60,7 @@ \newcommand*\cvitemwithcommentusage{\cs{cvitemwithcomment}\oarg{spacing}\marg{header}\marg{text}\marg{comment}\xspace} \newcommand*\linkusage{\cs{link}\oarg{optional text}\marg{link}} \newcommand*\httplinkusage{\cs{httplink}\oarg{optional text}\marg{link}} +\newcommand*\httpslinkusage{\cs{httpslink}\oarg{optional text}\marg{link}} \newcommand*\emaillinkusage{\cs{emaillink}\oarg{optional text}\marg{link}} \makeatletter \renewcommand{\Describe@Macro}{\@ifstar\Describe@MacroStar\Describe@MacroStarNoStar} @@ -81,10 +82,8 @@ \@ifundefined{KOMAScript}{% \DeclareRobustCommand{\KOMAScript}{\textsf{\KOMA Script}}}{} \makeatother - \usepackage[colorlinks=true]{hyperref} \hypersetup{pdftitle={CV}} - \begin{document} \DocInput{komacv.dtx} \PrintIndex\PrintChanges @@ -119,6 +118,7 @@ % \changes{v1.0.1}{2014/08/10}{Installation problem fixed} % \changes{v1.1}{2017/04/12}{Option headline added; user length \texttt{titlenamemaxwidth}; behavior of sections and subsections improved; several bugfixes} % \changes{v1.1.1}{2017/04/17}{Typos in the documentation and minor bugs fixed} +% \changes{v1.1.2}{2021/02/12}{Improved implementation of headline, minor bug fixes, httpslink added, fontawesome-switch added} % % \GetFileInfo{komacv.dtx} % @@ -170,7 +170,7 @@ % % The variants of the file \textsf{komacv\_{}example} which come with this package show exemplarily how a document with \mycls might be structured and how the typical commands are to be used. They are not intended as examples of good style but as demonstrations of the potential of the \mycls class. In this documentation all commands and features are explained. % -% Please note that \mycls does not (yet?) provide for the possibility of typesetting the covering letter as well. +% As for typesetting a covering letter with \mycls, see \ref{sec:bugs-feat-requ}. % % \section{Engines} % \label{sec:engines} @@ -199,6 +199,9 @@ % \DescribeMacro{[style=<value>]} % This option loads the style variant. The default is |style=classic|. Other variants currently available are: |casual| and |oldstyle|. Other variants may follow in time, contributions are very welcome! See the example documents to see the different layouts the styles produce. % +% \DescribeMacro{[fontawesome=false]} +% In case you don't like the social media symbols offered by fontawesome or if fontawesome provides error messages you may turn off the use of fontawesome with this option. Please note that you don't have to use this option to avoid fontawesome; you may just redefine the social media symbols to your liking with \cs{renewcommand} (see \ref{sub:symbols}). +% % \DescribeMacro{\KOMAoptions} % In addition to these \mycls specific options, all \KOMA options may be used as with the \KOMA classes. They may be given either in the option list of \cs{documentclass} or with the help of \cs{KOMAoptions} somewhere in the preamble: % @@ -217,20 +220,22 @@ % |\renewcommand*\title{Curriculum vitae}|. % % \begin{macro}{\headline} -% With \cs{headline} you can set -- guess what? -- a headline for the whole document, either a title (like \enquote{Curriculum vitae}) or your name, which may come in handy if you have a very long name that is otherwise being displayed in an unsatisfying way. +% With \cs{headline}\oarg{alignment}\marg{type}\oarg{content} you can set -- guess what? -- a headline or title for the whole document, either a title (like \enquote{Curriculum vitae}) or your name, which may come in handy if you have a very long name that is otherwise being displayed in an unsatisfying way. % \changes{v1.1}{2017/04/12}{New macro headline, and new correspondent elements headlinestyle, headlinecolor, headlinefont} % \changes{v1.1}{2017/04/12}{Default font size changed, due to new font \texttt{headlinefont}} -% The optional argument sets the alignment (l=left, r=right, c=centered). +% \changes{v1.1.2}{2021/02/12}{Improved implementation of headline. Caution! changed syntax} +% The first optional argument sets the alignment (|l|=left, |r|=right, |c|=centered (default)). The mandatory argument defines the type (|name| or |title|). The last optional argument defines the content of the headline. If it is ommitted, with type |name| firstname, lastname and (if defined) the academic title are used, with type |title| \enquote{Curriculum vitae}. +% Apart from that, the only difference between the two types is that with type |title| the name is printed with the personal data, whereas it is ommitted with type |name| to avoid duplicates. +% Depending on the combination of style and type the result may be aesthetically questionable. +% % \emph{Example:} % -% |\headline[l]{name}| -% sets (by default) your defined firstname and familyname as headline, to the left. +% |\headline{name} | +% sets your defined firstname and familyname as a centered headline. % -% |\headline[c]{title}| -% sets (by default) \enquote{Curriculum vitae} as a centered headline. +% |\headline[r]{title}[Lebenslauf]| +% sets \enquote{Lebenslauf} as a right-aligned headline. % -% If you want to change the defaults, use\\ -% |\renewcommand\headlinecontent{your text}|. % \end{macro} % % \DescribeMacro{\title} @@ -248,7 +253,6 @@ % \DescribeMacro{\github} % \DescribeMacro{\facebook} % \DescribeMacro{\linkedin} - % % The names of the macros are self-explanatory, so I will give just a few hints. % @@ -298,7 +302,6 @@ % \DescribeMacro{\listitemsymbol} % In the same way the item symbol in the listitems may be changed with the macro \cs{listitemsymbol}. % -% \newpage % \subsection{Picture} % \label{sub:picture} % @@ -456,8 +459,9 @@ % |commentfont| and |commentmainfont| are used in |\cvitemwithcomment| only. % % \DescribeMacro*{linkfont} -% |linkfont|, |httplinkfont|, |emaillinkfont| are used for the link commands \cs{link}, \cs{httplink} and \cs{emaillink} (described below \ref{sub:links}). +% |linkfont|, |httplinkfont|, |httpslinkfont|, |emaillinkfont| are used for the link commands \cs{link}, \cs{httplink}, \cs{httpslink}, and \cs{emaillink} (described below \ref{sub:links}). % \DescribeMacro*{httplinkfont} +% \DescribeMacro*{httpslinkfont} % % \DescribeMacro*{emaillinkfont} % Font attributes of elements that belong to the \textsf{scrartcl} class are also changed in the usual \KOMA way, e.\,g.: @@ -482,7 +486,7 @@ % % |\pagestyle{scrheadings}| % -% \cs{clearscrheadfoot} +% \cs{clearpairofpagestyles} % % |\ofoot{\pagemark/\totalpagemark}| % @@ -491,6 +495,7 @@ % % \DescribeMacro{\hypersetup} % To change the way hyperlinks are highlighted in the pdf document, use the \cs{hypersetup} command. This command is provided by the \textsf{hyperref} package which is loaded by the \mycls class. See the \textsf{hyperref} manual for the options available. +% Example: use |\hypersetup{pdfborder = false}| to remove the box around links in the pdf-document. % % \DescribeMacro{pdfauthor} % \DescribeMacro{pdftitle} @@ -571,6 +576,7 @@ % With the command\\ % \cventryusage\\ % you get a more structured description. The first mandatory argument will usually be placed in the hint column (depending on the style in use), all others in the main column, each with its own formatting. Just leave empty those arguments you do not need (use empty braces |{}|) . Note, however, that the second mandatory argument should not be empty (otherwise the entry in the main column will start with a comma). +% In case the predefined formatting of the arguments does not suit your needs you may of course use formatting commands inside the arguments. % %\subsection{\cs{cvitemwithcomment}} % \label{sub:cvitemwithcomment} @@ -581,18 +587,22 @@ %\subsection{Links} % \label{sub:links} % -% There are three link commands predefined: +% There are four link commands predefined: % % \DescribeMacro{\link} % \DescribeMacro{\httplink} +% \DescribeMacro{\httpslink} % \DescribeMacro{\emaillink} % \cs{link}\oarg{optional text}\marg{link}, % % \cs{httplink}\oarg{optional text}\marg{link}, and % +% \cs{httpslink}\oarg{optional text}\marg{link}, and +% \changes{v1.1.2}{2021/02/12}{\cs{httpslink} added.} +% % \cs{emaillink}\oarg{optional text}\marg{link}. % -% All of them take a description as optional argument and the link address as mandatory argument. The optional argument will be shown in the text, the hyperlink points to the address given in the mandatory argument. If no optional argument is given the address in the mandatory argument will be printed. The mandatory argument of \cs{httplink} will be prefixed with |http://|, of \cs{emaillink} with |mailto:|. To change the font attributes of the links, see above \ref{sub:fonts}. +% All of them take a description as optional argument and the link address as mandatory argument. The optional argument will be shown in the text, the hyperlink points to the address given in the mandatory argument. If no optional argument is given the address in the mandatory argument will be printed. The mandatory argument of \cs{httplink} will be prefixed with |http://|, of \cs{httpslink} with |https://|, of \cs{emaillink} with |mailto:|. To change the font attributes of the links, see above \ref{sub:fonts}. % % \subsection{Itemize} % \label{sub:itemize} @@ -626,24 +636,31 @@ % % \section{Examples} % -% For examples see the example files \mbox{\texttt{komacv\_example\_}\meta{style}\texttt{.pdf}} that come with this class. They should be located in the |doc|-directory of the tree where the class is stored. The example file \mbox{\texttt{komacv\_example.tex}} can be used to test the various possibilities |komacv| offers. Just remove (or add) comment signs and change the preset values. +% For examples see the example files \mbox{\texttt{komacv\_example\_}\meta{style}\texttt{.pdf}} that come with this class. They should be located in the |doc|-directory of the tree where the class is stored. The example file \mbox{\texttt{komacv\_example.tex}} can be used to test the various possibilities |komacv| offers. Just remove (or add) comment signs and play around. % % % \section{New CV styles} -% The flexibility of \mycls makes it fairly easy to create new CV styles. If you have created a CV style of your own and want to share it with others you have two possibilites: +% The flexibility of \mycls makes it fairly easy to create new CV styles. If you have created a CV style of your own and want to share it with others you have several possibilites: % -% You can publish it on CTAN. Just make sure it will be installed in the |styles|-subdirectory of the |komacv|-directory (usually +% You can publish it on CTAN. Just make sure it will be installed in the |styles|-subdirectory of the |komacv|-directory\\(such as % |tex/latex/komacv/styles|). % -% Or you can send it to me at \texttt{salome.soedergran@gmx.ch} and I will include it in the next version of |komacv|. +% Or you can put it on GitHub (\texttt{salsod/komacv}) or send it to me by e-mail (\texttt{salome.soedergran@gmx.ch}) and I will include it in the next version of \mycls. +% +% For your personal use, you can put it either into the working directory of your .tex-file (your cv-file) or into your local texmf-tree. In the latter case, don't forget to run texhash on the directory to refresh your tex system. +% +% \section{Bugs, feature requests, and maintenance}\label{sec:bugs-feat-requ} +% Known issue: Inconsistent vertical space between multiline cvlistitems (\cs{cvlistitem}). +% +% Feature request: A feature that has sometimes been asked for is the possibility of creating a cover letter based on \mycls for a job application. This has not been implemented into \mycls so far. The \KOMAScript\ now offers the possibility to create letters not only with the letter class \textsf{scrlttr2}, but also to load the package \textsf{scrletter} within any \KOMA class. This works also for \mycls. If you're interested in creating a cover letter inside \mycls, also have a look at Richard Grewe's extra package |komacv-rg| (see below, Acknowledgements). % -% \section{Bugs, things to do, and maintenance} -% Further testing and use will certainly make some bugs crawl out from the dark in which they hide from me until now. If you encounter bugs, errors or typos, or if you have suggestions how to improve the |komacv| class and the style files, please do not hesitate to contact me (in English or German) at \texttt{salome.soedergran@gmx.ch}. I am thankful for any suggestions that help improving |komacv| though I dare not promise to be always very speedy in publishing a new version. Computer stuff is something of rather low priority with me. So if you make a point of having bugs fixed as soon as possible I'd readily hand over the task of maintenance. +% Further testing and use will certainly make some bugs crawl out from the dark in which they hide from me until now. If you encounter bugs, errors or typos, or if you have suggestions how to improve the \mycls class and the style files, please do not hesitate to contact me (in English or German) at \texttt{salome.soedergran@gmx.ch}. I am thankful for any suggestions that help improving \mycls though I dare not promise to be always very speedy in publishing a new version. Computer stuff is something of rather low priority with me. So if you make a point of having bugs fixed as soon as possible please consider making your own contributions on GitHub (\texttt{salsod/komacv}) \ldots or to become the new maintainer of \mycls. % % %\section{Acknowledgements} -% Many thanks to Ulrike Fischer, Alexander Kr\"anzlein, Matthias C.~Schmidt, Damian Martinez Dreyer, Wolfgang Witt, and Sebastian R\"oder for their suggestions and help. I am also grateful to Andreas Bie\ss{}mann, Simon Dreher, Paul Menzel and Dominik Wa\ss{}enhoven who helped to improve the (now obsolete) |koma-moderncvlassic.sty|. -% +% Many thanks to Richard Grewe, Samuel W. Flint, Alexander Dietzel, Ulrike Fischer, Alexander Kr\"anzlein, Matthias C.~Schmidt, Damian Martinez Dreyer, Wolfgang Witt, and Sebastian R\"oder for their suggestions and help. I am also grateful to Andreas Bie\ss{}mann, Simon Dreher, Paul Menzel and Dominik Wa\ss{}enhoven who helped to improve the (now obsolete) |koma-moderncvlassic.sty|. +% +% On CTAN you can find the bundle \textsf{komacv-rg} by Richard Grewe with extra features: \enquote{The komacv-rg bundle provides packages that aid in creating CVs based on the komacv class and creating related documents, such as cover letters and cover sheets for job applications. Concretely, the bundle consists of three packages: komacv-addons, komacv-lco, and komacv-multilang.} (The bug fixes presented in \textsf{komacv-addons} v0.9.2 found their way into \mycls as of v1.1.2.) Many thanks for this great addition! % % \StopEventually{\PrintIndex} % @@ -659,7 +676,7 @@ % \fi % \begin{macrocode} \providecommand*\mycolor{blue} -\RequirePackage{ifthen,kvoptions,calc} +\RequirePackage{ifthen,kvoptions,calc,xparse,xstring} % \end{macrocode} % % \subsubsection*{Declare Options} @@ -672,6 +689,7 @@ setkeys=\kvsetkeys% \DeclareStringOption[mycolor]{color}[mycolor] \DeclareStringOption[x11names]{xcolor}[x11names] \DeclareStringOption[classic]{style}[classic] +\DeclareBoolOption[true]{fontawesome} \DeclareDefaultOption{\PassOptionsToClass{\CurrentOption}{scrartcl}} % \end{macrocode} % @@ -697,15 +715,16 @@ setkeys=\kvsetkeys% ifxetex,% scrlayer-scrpage,% marvosym,% - fontawesome,% array,% graphicx,% microtype,% enumitem, hyperref% } +\ifkomacv@fontawesome +\RequirePackage{fontawesome} +\fi \RequirePackage[raggedrightboxes]{ragged2e} - \AtEndPreamble{% \renewcommand\familydefault{\sfdefault}% without this, pdflatex produces error messages; WHY? } @@ -775,6 +794,7 @@ setkeys=\kvsetkeys% \newkomafont{hintfont}{} \newkomafont{linkfont}{} \newkomafont{httplinkfont}{} +\newkomafont{httpslinkfont}{} \newkomafont{emaillinkfont}{} \newkomafont{commentmainfont}{\bfseries} % in \cvitemwithcomment \newkomafont{commentfont}{\footnotesize\itshape} % in \cvitemwithcomment @@ -863,39 +883,33 @@ setkeys=\kvsetkeys% \newlength\@aftersubsecvspace \newlength\aftersubsecvspace \setlength\aftersubsecvspace{0pt} - \AtEndPreamble{% % infocol (oldstyle) \setlength{\@infocolwidth}{\infocolwidth} \setlength{\@sepinfocolwidth}{\sepinfocolwidth} - \setlength\komacvinfocolextrawidth{\@infocolwidth+\@sepinfocolwidth} +\setlength\komacvinfocolextrawidth{\@infocolwidth+\@sepinfocolwidth} \setlength\@komacvtextwidth{\textwidth-\komacvinfocolextrawidth} - % fboxextra (picture frame) \newlength\@fboxextra \setlength\@fboxextra{\fboxsep+\fboxrule} - % hintscolumn \ifdimequal{\hintscolwidth}{0pt}{% \setlength\@hintscolwidth{.2\@komacvtextwidth} }{% \setlength{\@hintscolwidth}{\hintscolwidth}% } - % separatorcolumn \ifdimequal{\sepcolwidth}{0pt}{% \setlength\@sepcolwidth{2em}% }{% \setlength{\@sepcolwidth}{\sepcolwidth}% } - % maincolumn \ifdimequal{\maincolwidth}{0pt}{% - \setlength{\@maincolwidth}{\@komacvtextwidth-\@sepcolwidth-\@hintscolwidth}% +\setlength{\@maincolwidth}{\@komacvtextwidth-\@sepcolwidth-\@hintscolwidth}% }{% \setlength{\@maincolwidth}{\maincolwidth}% } - % doubleitem \ifdimequal{\dbitemmaincolwidth}{0pt}{% \setlength{\@dbitemmaincolwidth}{% @@ -904,24 +918,21 @@ setkeys=\kvsetkeys% }{% \setlength{\@dbitemmaincolwidth}{\dbitemmaincolwidth}% } - % listitem \ifdimequal{\listitemsymbolwidth}{0pt}{% \settowidth{\@listitemsymbolwidth}{\listitemsymbol{}~}% }{% \setlength{\@listitemsymbolwidth}{\listitemsymbolwidth}% } - \setlength{\@listitemmaincolwidth}{\@maincolwidth-\@listitemsymbolwidth}% - +\setlength{\@listitemmaincolwidth}{\@maincolwidth-\@listitemsymbolwidth}% % listdoubleitem \ifdimequal{\listdbitemmaincolwidth}{0pt}{% - \setlength{\@listdbitemmaincolwidth}{\@maincolwidth-\@listitemsymbolwidth}% - \setlength{\@listdbitemmaincolwidth}{0.475\@listdbitemmaincolwidth}% % +\setlength{\@listdbitemmaincolwidth}{\@maincolwidth-\@sepcolwidth-\@listitemsymbolwidth}% +\setlength{\@listdbitemmaincolwidth}{0.475\@listdbitemmaincolwidth}% % }{% \setlength{\@listdbitemmaincolwidth}{\listdbitemmaincolwidth}% - \setlength{\@listdbitemmaincolwidth}{0.475\@listdbitemmaincolwidth}% % +\setlength{\@listdbitemmaincolwidth}{0.475\@listdbitemmaincolwidth}% % } - % quote \ifdimequal{\quotewidth}{0pt}{% \setlength{\@quotewidth}{0.65\textwidth}% @@ -933,7 +944,6 @@ setkeys=\kvsetkeys% }{% \setlength\@afterquotevspace{\afterquotevspace}% } - % title \ifundef{\@photoname}{% without picture: \setlength\@aftertitlevspace{\aftertitlevspace} @@ -958,21 +968,18 @@ setkeys=\kvsetkeys% \setlength{\@titlesepwidth}{\titlesepwidth} } } - % afterelementsvspace \ifdimequal{\afterelementsvspace}{0pt}{% \setlength{\@afterelementsvspace}{0.25em}% }{% \setlength{\@afterelementsvspace}{\afterelementsvspace}% } - % beforesecvspace \ifdimequal{\beforesecvspace}{0pt}{% \setlength{\@beforesecvspace}{3.5ex \@plus -1ex \@minus -.2ex}% }{% \setlength{\@beforesecvspace}{\beforesecvspace}% } - % aftersecvspace \ifdimequal{\aftersecvspace}{0pt}{% \setlength{\@aftersecvspace}{2.3ex \@plus.2ex}% @@ -985,7 +992,6 @@ setkeys=\kvsetkeys% }{ \setlength{\@beforesubsecvspace}{\beforesubsecvspace}% } - % aftersubsecvspace \ifdimequal{\aftersubsecvspace}{0pt}{% \setlength{\@aftersubsecvspace}{1.5ex \@plus .2ex}% @@ -997,32 +1003,39 @@ setkeys=\kvsetkeys% % %\subsubsection*{Symbols} % \changes{v1.1}{2017/04/12}{Added macros and symbols for social media} +% \changes{v1.1.2}{2021/02/12}{Added class option |fontawesome=false| to avoid the social media symbols} % \begin{macrocode} \providecommand*\@addresssymbol{} \providecommand*\addresssymbol{} -\providecommand*\@mobilesymbol{\Mobilefone~} +\providecommand*\@mobilesymbol{\upshape{\Mobilefone}~} \providecommand*\mobilesymbol{} -\providecommand*\@phonesymbol{\Telefon~} +\providecommand*\@phonesymbol{\upshape{\Telefon}~} \providecommand*\phonesymbol{} -\providecommand*\@faxsymbol{\FAX~} +\providecommand*\@faxsymbol{\upshape{\FAX}~} \providecommand*\faxsymbol{} -\providecommand*\@emailsymbol{\Letter~} +\providecommand*\@emailsymbol{\upshape{\Letter}~} \providecommand*\emailsymbol{} \providecommand*\@homepagesymbol{} \providecommand*\homepagesymbol{} -\providecommand*\@twittersymbol{\faTwitter~} +\ifkomacv@fontawesome +\providecommand*\@twittersymbol{\upshape{\faTwitter}~} +\providecommand*\@githubsymbol{\upshape{\faGithub}~} +\providecommand*\@facebooksymbol{\upshape{\faFacebook}~} +\providecommand*\@linkedinsymbol{\upshape{\faLinkedin}~} +\else +\providecommand*\@twittersymbol{} +\providecommand*\@githubsymbol{} +\providecommand*\@facebooksymbol{} +\providecommand*\@linkedinsymbol{} +\fi \providecommand*\twittersymbol{} -\providecommand*\@githubsymbol{\faGithub~} \providecommand*\githubsymbol{} -\providecommand*\@facebooksymbol{\faFacebook~} \providecommand*\facebooksymbol{} -\providecommand*\@linkedinsymbol{\faLinkedin~} \providecommand*\linkedinsymbol{} \providecommand*\@fsymbol{~~~\textbullet~~~} \providecommand*\fsymbol{} \providecommand*\@listitemsymbol{\textcolor{colortheme}{\Neutral}~} \providecommand*\listitemsymbol{} - \AtEndPreamble{% \ifdefempty{\addresssymbol}{}{% \renewcommand*\@addresssymbol{\addresssymbol} @@ -1060,10 +1073,7 @@ setkeys=\kvsetkeys% \ifdefempty{\listitemsymbol}{}{% \renewcommand*\@listitemsymbol{\listitemsymbol} } - - } % end \AtEndPreamble - % \end{macrocode} % %\subsubsection*{Personal data} @@ -1121,27 +1131,42 @@ setkeys=\kvsetkeys% % %\subsubsection*{Headline} % \changes{v1.1}{2017/04/12}{Vertical space between name and academic title adjusted} +% \changes{v1.1.2}{2021/02/12}{New implementation} % \begin{macrocode} -\providecommand\headlinetype{none} +\providecommand\@headlinealignment{} +\providecommand\@headlinetype{none} \providecommand\@headlinecontent{} -\providecommand\headlinecontent{} -\providecommand\headline[2]{\renewcommand\headlinecontent{#1}\renewcommand\headlinetype{#2}} - -\AtEndPreamble{% - \ifdefstring{\headlinetype}{name}{% - \ifdefempty{\headlinecontent}{% - \renewcommand*\@headlinecontent{\firstnamestyle{\firstname}\ \familynamestyle{\familyname} - \ifdefempty{\acadtitle}{}{% - \par\bigskip\acadtitlestyle{\acadtitle}}% - }}{% - \renewcommand*\@headlinecontent{\headlinecontent} - }}{} - \ifdefstring{\headlinetype}{title}{% - \ifdefempty{\headlinecontent}{% -\renewcommand*\@headlinecontent{\headlinestyle{Curriculum Vitae}} - }{% - \renewcommand*\@headlinecontent{\headlinecontent} - }}{} +\ProvideDocumentCommand{\headline}{O{c} m o} +{ + \renewcommand\@headlinealignment{#1} + \renewcommand\@headlinetype{#2} + \renewcommand\@headlinecontent{ + \IfNoValueTF {#3} + { + \ifstrequal{#2}{title}{\par\headlinestyle{Curriculum Vitae}}{} + \ifstrequal{#2}{name}{\par\firstnamestyle{\firstname}\ \familynamestyle{\familyname}\par\bigskip\acadtitlestyle{\acadtitle}}{} + }{\headlinestyle{#3}} +} +} +\providecommand\setheadlinealignment{% + \ifdefstring{\@headlinealignment}{l}{\RaggedRight}{% + \ifdefstring{\@headlinealignment}{r}{\RaggedLeft}{\Centering}} +} +\providecommand\setheadlinetypename{% +\ifdefstring{\@headlinetype}{name}{% + \setheadlinealignment + \headlinestyle{\@headlinecontent} +}{} +} +\providecommand\setheadlinetypetitle{% + \ifdefstring{\@headlinetype}{title}{% + \setheadlinealignment + \headlinestyle{\@headlinecontent} +}{} +} +\providecommand\setheadline{% + \setheadlinetypename + \setheadlinetypetitle } % \end{macrocode} % @@ -1207,7 +1232,7 @@ setkeys=\kvsetkeys% @{}>{\raggedleft\arraybackslash}p{\@hintscolwidth}% @{\hspace{\@sepcolwidth}}p{\@maincolwidth}@{}% }% - \hintstyle{#2} & {#3}% + \hintstyle{#2} & {\@minipagetrue #3}% \end{tabular}\\[#1]% } % \end{macrocode} @@ -1322,11 +1347,30 @@ setkeys=\kvsetkeys% %\paragraph{httplink}~\\% %usage: \httplinkusage % \begin{macrocode} + \providecommand*\croplink{} \providecommand*{\httplink}[2][]{% + \renewcommand\croplink{\StrDel{#2}{http://}} \ifstrempty{#1}{% - \href{http://#2}{\usefontofkomafont{httplinkfont}#2}}{% - \href{http://#2}{\usefontofkomafont{httplinkfont}#1}}% - } + \IfSubStr{#2}{http:}{\href{#2}}{\href{http://#2}}{% + \usefontofkomafont{httplinkfont}\croplink}% + }{% + \IfSubStr{#2}{http:}{\href{#2}}{\href{http://#2}}{% + \usefontofkomafont{httplinkfont}#1}} + } +% \end{macrocode} +% +%\paragraph{httpslink}~\\% +%usage: \httpslinkusage +% \begin{macrocode} + \providecommand*{\httpslink}[2][]{% + \renewcommand\croplink{\StrDel{#2}{https://}} + \ifstrempty{#1}{% + \IfSubStr{#2}{https:}{\href{#2}}{\href{https://#2}}{% + \usefontofkomafont{httpslinkfont}\croplink}% + }{% + \IfSubStr{#2}{https:}{\href{#2}}{\href{https://#2}}{% + \usefontofkomafont{httpslinkfont}#1}} + } % \end{macrocode} % %\paragraph{emaillink}~\\% @@ -1344,8 +1388,6 @@ setkeys=\kvsetkeys% % \begin{macrocode} % Depending on the style in use (see style descriptions). % \end{macrocode} - - %\subsubsection*{Hypersetup} % \begin{macrocode} \hypersetup{ @@ -1376,7 +1418,6 @@ setkeys=\kvsetkeys% \providecommand*\pdfsubject{} \providecommand*\pdftitle{} \providecommand*\pdfkeywords{} - \AtEndPreamble{% \providecommand*\@allbordercolors{colortheme} \ifdefempty{\allbordercolors}{}{\renewcommand*\@allbordercolors{\allbordercolors}} @@ -1409,7 +1450,7 @@ setkeys=\kvsetkeys% \AtBeginDocument{% \raggedbottom } % End AtBeginDocument -\clearscrheadfoot +\clearpairofpagestyles % \end{macrocode} % %\subsubsection*{Load style} @@ -1469,28 +1510,23 @@ setkeys=\kvsetkeys% \setlength{\@titledetailswidth}{\textwidth-\@titlenamewidth-\@titlesepwidth}% \ifundef{\@photoname}{}{% else \ifdefstring{\@photoframe}{frame}{% - \setlength{\@titledetailswidth}{\@titledetailswidth-\@photowidth-2\@fboxextra} +\setlength{\@titledetailswidth}{\@titledetailswidth-\@photowidth-2\@fboxextra} \setlength{\@titledetailswidth}{.99\@titledetailswidth} % avoid overfullbox warning }{% else \ifdefstring{\@photoframe}{mframe}{% - \setlength{\@titledetailswidth}{\@titledetailswidth-\@mframepicshift}% +\setlength{\@titledetailswidth}{\@titledetailswidth-\@mframepicshift}% \setlength{\@titledetailswidth}{.99\@titledetailswidth} % avoid overfullbox warning }{% picture but no frame - \setlength{\@titledetailswidth}{\@titledetailswidth-\@photowidth} + \setlength{\@titledetailswidth}{\@titledetailswidth-\@photowidth} \setlength{\@titledetailswidth}{.99\@titledetailswidth} % avoid overfullbox warning } } }% - % name and title -\ifdefstring{\headlinetype}{none}{% -}{ - \begin{center} - \headlinestyle{\@headlinecontent}\par\bigskip - \end{center} -} + % name and title +\setheadline\par\bigskip \begin{minipage}[b]{\@titlenamewidth}% \RaggedRight - \ifdefstring{\headlinetype}{name}{\hfill\mbox{}}{% + \ifdefstring{\@headlinetype}{name}{\hfill\mbox{}}{% \firstnamestyle{\firstname}\ % \familynamestyle{\familyname}% \ifdefempty{\acadtitle}{}{% @@ -1514,7 +1550,10 @@ setkeys=\kvsetkeys% \ifdefempty{\email}{}{% \@titledetailsnewline\@emailsymbol\emaillink{\email}}% \ifdefempty{\homepage}{}{% - \@titledetailsnewline\@homepagesymbol\httplink{\homepage}}% + \@titledetailsnewline\@homepagesymbol% + \IfSubStr{\homepage}{https}{% + \httpslink{\homepage}}{% + \httplink{\homepage}}}% \ifdefempty{\twitter}{}{% \@titledetailsnewline\@twittersymbol~\twitter}% \ifdefempty{\github}{}{% @@ -1544,11 +1583,12 @@ setkeys=\kvsetkeys% \\[\@aftertitlevspace] % optional quote \ifundef{\cvquote}{}{% - \centering + {\centering \begin{minipage}{\@quotewidth}% \centering\quotestyle{\cvquote}% \end{minipage}\\[\@afterquotevspace]% - }% + } + }% } % \end{macrocode} % @@ -1556,7 +1596,6 @@ setkeys=\kvsetkeys% % \changes{v1.1}{2017/04/12}{Definition of \cs{section} and \cs{subsection} changed, mainly to avoid pagebreaks (all styles)} % \begin{macrocode} \setcounter{secnumdepth}{1} - \RedeclareSectionCommand [ beforeskip=\@beforesecvspace, @@ -1564,11 +1603,10 @@ setkeys=\kvsetkeys% font=\color{@seccolor}\sectionfont ]{section} \renewcommand*\thesection{\color{@secbarcolor}\rule{\@hintscolwidth}{1ex}\hspace{-1ex}\hspace{\@sepcolwidth}} - \RedeclareSectionCommand [ - beforeskip=\@beforesecvspace, - afterskip=\@aftersecvspace, + beforeskip=\@beforesubsecvspace, + afterskip=\@aftersubsecvspace, indent=\dimexpr\@sepcolwidth+\@hintscolwidth, font=\color{@subseccolor}\subsectionfont ]{subsection} @@ -1615,7 +1653,7 @@ setkeys=\kvsetkeys% \@sboxb{#2} } } - \ifdimequal{\footerwidth}{0pt}{}{\setlength\@footerwidth{\footerwidth}} +\ifdimequal{\footerwidth}{0pt}{}{\setlength\@footerwidth{\footerwidth}} \defpagestyle{footer} {{}{}{}}% head definition (empty) {% foot definition @@ -1638,7 +1676,10 @@ setkeys=\kvsetkeys% \ifdefempty{\email}{}{% \addtofooter{\@emailsymbol\emaillink{\email}}} \ifdefempty{\homepage}{}{% - \addtofooter{\@homepagesymbol\httplink{\homepage}}}% + \addtofooter{\@homepagesymbol% + \IfSubStr{\homepage}{https}{% + \httpslink{\homepage}}{% + \httplink{\homepage}}}}% \ifdefempty{\twitter}{}{% \addtofooter{\@twittersymbol\twitter}}% \ifdefempty{\github}{}{% @@ -1676,18 +1717,22 @@ setkeys=\kvsetkeys% }% end savebox picbox \settowidth\@titlepicwidth{\usebox{\@picbox}} \setlength\@titlenamewidth{\textwidth-\@titlesepwidth-\@titlepicwidth} - +\setheadlinetypetitle\par \usebox{\@picbox}% \hspace*{\@titlesepwidth}% \parbox[b]{\@titlenamewidth}{% + \ifdefstring{\@headlinetype}{name}{\setheadlinetypename}{% \raggedleft{\firstnamestyle\firstname}% - ~{\familynamestyle\familyname}\\ - \raggedleft\color{@firstnamecolor}\rule{\@titlenamewidth}{.25ex}\par + ~{\familynamestyle\familyname} + } + \\ +\raggedleft\color{@firstnamecolor}\rule{\@titlenamewidth}{.25ex}\par }% end parbox \vspace{\@aftertitlevspace} %% optional acadtitle \ifdefempty{\acadtitle}{}{% - \raggedleft\acadtitlestyle{\acadtitle}}\\[2.5em]% + \ifdefstring{\@headlinetype}{name}{}{% + \raggedleft\acadtitlestyle{\acadtitle}}}\\[2.5em]% %% optional quote \ifdefempty{\cvquote}{}{% {\centering @@ -1697,7 +1742,6 @@ setkeys=\kvsetkeys% } }% }% end \@cvtitle-casual - \AtBeginDocument{% \thispagestyle{footer} } % end \AtBeginDocument @@ -1706,7 +1750,6 @@ setkeys=\kvsetkeys% %\subsubsection*{Sections} % \begin{macrocode} \setcounter{secnumdepth}{1} - \RedeclareSectionCommand [ beforeskip=\@beforesecvspace, @@ -1714,11 +1757,10 @@ setkeys=\kvsetkeys% font=\color{@seccolor}\sectionfont ]{section} \renewcommand*\thesection{\color{@secbarcolor}\rule{\@hintscolwidth}{1ex}\hspace{-1ex}\hspace{\@sepcolwidth}} - \RedeclareSectionCommand [ - beforeskip=\@beforesecvspace, - afterskip=\@aftersecvspace, + beforeskip=\@beforesubsecvspace, + afterskip=\@aftersubsecvspace, indent=\dimexpr\@sepcolwidth+\@hintscolwidth, font=\color{@subseccolor}\subsectionfont ]{subsection} @@ -1772,7 +1814,6 @@ setkeys=\kvsetkeys% % \begin{macrocode} \setlength{\infocolwidth}{3.5cm} \setlength{\sepinfocolwidth}{2em} - \providecommand\@infocontent{% \ifdefempty{\addressstreet}{}{% \@titledetailsnewline% @@ -1788,7 +1829,10 @@ setkeys=\kvsetkeys% \ifdefempty{\email}{}{% \@titledetailsnewline\@emailsymbol\emaillink{\email}}% \ifdefempty{\homepage}{}{% - \@titledetailsnewline\@homepagesymbol\httplink{\homepage}}% + \@titledetailsnewline\@homepagesymbol% + \IfSubStr{\homepage}{https}{% + \httpslink{\homepage}}{% + \httplink{\homepage}}}% \ifdefempty{\twitter}{}{% \@titledetailsnewline\@twittersymbol~\twitter}% \ifdefempty{\github}{}{% @@ -1800,7 +1844,6 @@ setkeys=\kvsetkeys% \ifdefempty{\extrainfo}{}{% \@titledetailsnewline\extrainfo}% } % end \@infocontent - \providecommand{\@makeinfo}{% \newbox{\@infobox}% \savebox{\@infobox}{% @@ -1823,7 +1866,6 @@ setkeys=\kvsetkeys% \vspace*{-\parskip}% \vspace*{-\@aftersecvspace} }% end \providecommand \@makeinfo - \providecommand{\@cvtitleoldstyle}{% % optional picture box \newbox{\@picbox} @@ -1842,12 +1884,15 @@ setkeys=\kvsetkeys% }% end ifundef photoname }% end savebox picbox \settowidth\@titlepicwidth{\usebox{\@picbox}} - \setlength\@titlenamewidth{\textwidth-\@titlesepwidth-\@titlepicwidth} +\setlength\@titlenamewidth{\textwidth-\@titlesepwidth-\@titlepicwidth} + \setheadlinetypetitle\par \begin{minipage}[b]{\@titlenamewidth}% + \ifdefstring{\@headlinetype}{name}{\setheadlinetypename}{% \firstnamestyle{\firstname}\ % \familynamestyle{\familyname}% \ifdefempty{\acadtitle}{}{% \\[1.25em]\acadtitlestyle{\acadtitle}}% + } \end{minipage}% % optional photo \usebox{\@picbox}% @@ -1865,7 +1910,6 @@ setkeys=\kvsetkeys% \par \begin{addmargin}[\komacvinfocolextrawidth]{0pt} } % end \@cvtitleoldstyle - \AtEndDocument{% \end{addmargin} } @@ -1875,18 +1919,16 @@ setkeys=\kvsetkeys% %\label{subsub:oldstyle-sections} % \begin{macrocode} \setcounter{secnumdepth}{0} - \RedeclareSectionCommand [ beforeskip=\@beforesecvspace, afterskip=\@aftersecvspace, font=\color{@seccolor}\sectionfont ]{section} - \RedeclareSectionCommand [ - beforeskip=\@beforesecvspace, - afterskip=\@aftersecvspace, + beforeskip=\@beforesubsecvspace, + afterskip=\@aftersubsecvspace, font=\color{@subseccolor}\subsectionfont ]{subsection} % \end{macrocode} @@ -1902,7 +1944,6 @@ setkeys=\kvsetkeys% {#3} & \RaggedRight\hintstyle{#2}% \end{tabular}\\[#1]% } - \renewcommand*{\cvdoubleitem}[5][\@afterelementsvspace]{% \cvitem[#1]{#4}{% \begin{minipage}[t]{\@dbitemmaincolwidth}#3\end{minipage}% diff --git a/Master/texmf-dist/source/latex/komacv/komacv.ins b/Master/texmf-dist/source/latex/komacv/komacv.ins index 02f16db379b..54e2fca81ec 100644 --- a/Master/texmf-dist/source/latex/komacv/komacv.ins +++ b/Master/texmf-dist/source/latex/komacv/komacv.ins @@ -1,4 +1,4 @@ -%% Copyright (C) 2014-2017 by Salome Södergran (salome.soedergran@gmx.ch) +%% Copyright (C) 2014-2021 by Salome Södergran (salome.soedergran@gmx.ch) %% %% This work may be distributed and/or modified under the conditions of %% the LaTeX Project Public License, either version 1.3 of this license @@ -23,7 +23,7 @@ This is a generated file. -Copyright (C) 2014-2017 by Salome Södergran (salome.soedergran@gmx.ch) +Copyright (C) 2014-2021 by Salome Södergran (salome.soedergran@gmx.ch) This file may be distributed and/or modified under the conditions of the LaTeX Project Public License, either version 1.3 of this license |