mirror of
https://github.com/moderncv/moderncv.git
synced 2026-02-06 10:05:19 +01:00
Merge branch 'revive-orphaned-sections' into tweakable_orphaned_sections
This commit is contained in:
commit
621debdcdb
55 changed files with 3660 additions and 1753 deletions
27
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
27
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
|
|
@ -0,0 +1,27 @@
|
||||||
|
---
|
||||||
|
name: Bug report
|
||||||
|
about: Create a report to help us improve
|
||||||
|
title: ''
|
||||||
|
labels: ''
|
||||||
|
assignees: ''
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Describe the bug**
|
||||||
|
A clear and concise description of what the bug is.
|
||||||
|
|
||||||
|
**Expected Behavior**
|
||||||
|
|
||||||
|
|
||||||
|
**Actual Behavior**
|
||||||
|
|
||||||
|
|
||||||
|
**Minimum Working Example to Reproduce the Problem**
|
||||||
|
|
||||||
|
**Specifications**
|
||||||
|
- moderncv version and source:
|
||||||
|
- LaTeX compiler (pdfLaTeX, XeLaTeX, etc.) and version:
|
||||||
|
- Platform (operating system, LaTeX editor, etc.):
|
||||||
|
|
||||||
|
**Additional context**
|
||||||
|
Add any other context about the problem here.
|
||||||
20
.github/ISSUE_TEMPLATE/feature_request.md
vendored
Normal file
20
.github/ISSUE_TEMPLATE/feature_request.md
vendored
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
---
|
||||||
|
name: Feature request
|
||||||
|
about: Suggest an idea for this project
|
||||||
|
title: ''
|
||||||
|
labels: ''
|
||||||
|
assignees: ''
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Is your feature request related to a problem? Please describe.**
|
||||||
|
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
||||||
|
|
||||||
|
**Describe the solution you'd like**
|
||||||
|
A clear and concise description of what you want to happen.
|
||||||
|
|
||||||
|
**Describe alternatives you've considered**
|
||||||
|
A clear and concise description of any alternative solutions or features you've considered.
|
||||||
|
|
||||||
|
**Additional context**
|
||||||
|
Add any other context or screenshots about the feature request here.
|
||||||
27
.github/workflows/build-pdf.yml
vendored
27
.github/workflows/build-pdf.yml
vendored
|
|
@ -1,26 +1,35 @@
|
||||||
name: Build template
|
name: Build template
|
||||||
on: [push, pull_request]
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
pull_request:
|
||||||
|
registry_package:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build-template:
|
build-template:
|
||||||
name: Build template
|
name: Build template
|
||||||
runs-on: ubuntu-20.04
|
runs-on: ubuntu-latest
|
||||||
|
container:
|
||||||
|
image: thomasweise/docker-texlive-full:latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Install TeX Live
|
|
||||||
run: sudo apt update && sudo apt install texlive-full fonts-font-awesome
|
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Build pdf
|
- name: Build pdf
|
||||||
run: latexmk -pdflua ./template.tex
|
run: latexmk -pdflua ./template.tex
|
||||||
- name: Scan log
|
|
||||||
run: texloganalyser -w ./template.log
|
|
||||||
- name: Upload pdf
|
- name: Upload pdf
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: template.pdf
|
name: template.pdf
|
||||||
path: ./template.pdf
|
path: ./template.pdf
|
||||||
|
|
||||||
- name: Upload log
|
- name: Upload log
|
||||||
uses: actions/upload-artifact@v2
|
if: ${{ always() }}
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: template.log
|
name: template.log
|
||||||
path: ./template.log
|
path: ./template.log
|
||||||
|
|
|
||||||
2
.gitignore
vendored
2
.gitignore
vendored
|
|
@ -7,6 +7,8 @@
|
||||||
*.log
|
*.log
|
||||||
*.out
|
*.out
|
||||||
*.synctex.gz
|
*.synctex.gz
|
||||||
|
*.xdv
|
||||||
|
*.toc
|
||||||
|
|
||||||
# template.tex output
|
# template.tex output
|
||||||
# move to *.pdf once manual is done
|
# move to *.pdf once manual is done
|
||||||
|
|
|
||||||
532
CHANGELOG
532
CHANGELOG
|
|
@ -1,368 +1,413 @@
|
||||||
Release: next
|
version next
|
||||||
|
- Change moderncvcolors.tex to a .sty file for MikTeX compatibility (#199)
|
||||||
|
- Fix error when omitting the photo in contemporary style (#201)
|
||||||
|
- Fix spacing between first and last name (#204)
|
||||||
|
- Include social icons in cover letter for styles classic, fancy and banking (#170)
|
||||||
|
- Update Oldstyle to use symbols instead of marvosym (#209)
|
||||||
|
- Fix spacing between first and last name again (#220)
|
||||||
|
- Make header details flush against sides for casual, classic, and contemporary
|
||||||
|
styles (#229)
|
||||||
- partially fix orphaned section headers for singualar use of \section and \subsection
|
- partially fix orphaned section headers for singualar use of \section and \subsection
|
||||||
commands and give users the new adjustable lengths \cvsectionstretchability
|
commands and give users the new adjustable lengths \cvsectionstretchability
|
||||||
and \subsectionstretchability. In case \section and \subsection are used
|
and \subsectionstretchability. In case \section and \subsection are used
|
||||||
directly one after the other, an orphaned section header might still occur.
|
directly one after the other, an orphaned section header might still occur.
|
||||||
This is structural and should be solved by \newpage instead of increasing
|
This is structural and should be solved by \newpage instead of increasing
|
||||||
\cvsectionstretchability. Closes #10.
|
\cvsectionstretchability (#10/#226).
|
||||||
|
|
||||||
|
|
||||||
|
version 2.4.1 (18 Jul 2024)
|
||||||
|
- Fix commons/colors.tex not found in package (#194)
|
||||||
|
|
||||||
|
version 2.4.0 (08 Jul 2024)
|
||||||
|
- Rewrote user guide, thanks to David Seus (#58, #106, #169).
|
||||||
|
- Fixed "Underfull \hbox (badness 10000)" warning in \makecvtitle (#162).
|
||||||
|
- Fixed unnecessary academicons warning when academicons aren't used (#161).
|
||||||
|
- Fixed page counts unnecessarily linking to the last page of the PDF (#159).
|
||||||
|
- Added support for an optional signature in the cover letter (#157).
|
||||||
|
- Added support for non-ASCII characters in links (#155).
|
||||||
|
- Added option to force a homepage link to use HTTP rather than HTTPS (#154).
|
||||||
|
- Passed unicode option directly to hyperref to avoid conflicts with the
|
||||||
|
inclusion of hyperref by other packages (#148).
|
||||||
|
- Fixed the sender block on the cover letter in banking style (#146).
|
||||||
|
- Added option to classic style to align header elements at the top (#144).
|
||||||
|
- Added Twitch, YouTube, TikTok, Instagram, SoundCloud, Steam, Xbox, PlayStation
|
||||||
|
and Battle.net social icons (#131).
|
||||||
|
- Removed extra dash in PDF metadata when CV title is empty (#116).
|
||||||
|
- Added support for an optional subject line in the cover letter (#114).
|
||||||
|
- Added Discord social icon (#112).
|
||||||
|
- Replace instances of ~~~ in codebase with \hspace to be more compatible with
|
||||||
|
babel for Spanish (#109).
|
||||||
|
- Added Codeberg and Mastodon social icons (#107).
|
||||||
|
- New \social options: arXiv, INSPIRE (#185)
|
||||||
- Systematize colors and make them user adjustable. See documentation for details.
|
- Systematize colors and make them user adjustable. See documentation for details.
|
||||||
this requires the \moderncvcolor to be issued BEFORE \moderncvstyle.
|
This requires the \moderncvcolor to be issued BEFORE \moderncvstyle (#151).
|
||||||
- all styles: make the head options 'details' and 'nodetails' available to the user. (previously they were hidden). Olystyle does not respond too well to nodetails.
|
- all styles: make the head options 'details' and 'nodetails' available to the user. (previously they were hidden). Oldstyle does not respond too well to nodetails (#150).
|
||||||
- casual style: make the head options 'alternate', 'details' and 'nodetails' available to the user. (previously they were hidden).
|
- casual style: make the head options 'alternate', 'details' and 'nodetails' available to the user. (previously they were hidden) (#150).
|
||||||
- fix Researcher ID (still) doesn't display Issue #29.
|
- Setting \listitemsymbolspace allows custom spacing between list symbol and text item (for \cvlistitem and \cvlistdoubleitem) (#74).
|
||||||
- make options 'symbols' and 'nosymbols' available to all styles to toggle whether
|
- Introducing \cvtripleitem command for items in three columns. Closing feature request #174.
|
||||||
symbols should be used or not. Include symbols in oldstyle by default.
|
- Fixed wrong cvlistitem vspace caused by multiline section titles in fancy style (#69).
|
||||||
- migrate older newcommand syntax in moderncvcollection.sty to the xparse syntax.
|
|
||||||
|
version 2.3.1 (21 Feb 2022)
|
||||||
|
- Fix duplicate GitLab icon (#105).
|
||||||
|
- Revert using detokenize in social links (#97).
|
||||||
|
- Fix broken compilation in classic style (#96).
|
||||||
|
|
||||||
|
version 2.3.0 (16 Dec 2021)
|
||||||
|
- Remove font loading from class (#87).
|
||||||
|
- Add Matrix and Signal icon (#84).
|
||||||
|
- Improved symbol loading (#84).
|
||||||
|
|
||||||
|
version: 2.2.0 (28 Jul 2021)
|
||||||
|
- Remove dot in \cventry when using moderncvbodyi.
|
||||||
|
|
||||||
|
- Remove http baseurl in hyperref.
|
||||||
|
- Change font encoding to use fontspec with Latin Modern for LuaTeX and XeTeX,
|
||||||
|
else inputenc / fontenc / lmodern (https://tex.stackexchange.com/a/496643).
|
||||||
|
- Add birthdate field command.
|
||||||
|
- Add Social entries for WhatsApp, Signal and Matrix.
|
||||||
|
- Fix Researcher ID not showing (#29).
|
||||||
|
- Make options "symbols" and "nosymbols" available to all styles to toggle
|
||||||
|
whether symbols should be used or not. Include symbols in oldstyle by default.
|
||||||
|
- Migrate older newcommand syntax in moderncvcollection.sty to xparse syntax.
|
||||||
- Fix resumé typo in template. Is now résumé.
|
- Fix resumé typo in template. Is now résumé.
|
||||||
- remove loading lmodern fonts in all styles as they can produce issues with
|
- Various other minor fixes.
|
||||||
german characters, see https://tex.stackexchange.com/questions/496630/lualatex-problems-with-german-characters.
|
|
||||||
- remove loading inputenc package by default. Only load the package when pdflatex is
|
|
||||||
used.
|
|
||||||
|
|
||||||
version 2.1.0 (21 Jan 2021)
|
version 2.1.0 (21 Jan 2021)
|
||||||
- maintainer change: now team maintained (https://github.com/moderncv), since
|
- Maintainer change: now team maintained (https://github.com/moderncv), since
|
||||||
original repository is basically dead since 2016.
|
original repository has been basically dead since 2016.
|
||||||
- new \social options: Xing, Skype, GitLab, Bitbucket, stack overflow, ORCID,
|
- New \social options: Xing, Skype, GitLab, Bitbucket, stack overflow, ORCID,
|
||||||
ResearcherID, ResearchGate, Telegram and Google Scholar
|
ResearcherID, ResearchGate, Telegram and Google Scholar.
|
||||||
- hyperlinks in phone numbers
|
- Hyperlinks in phone numbers.
|
||||||
- switch from l3regex to expl3
|
- Switch from l3regex to expl3.
|
||||||
- new skill matrix feature
|
- New skill matrix feature.
|
||||||
- move to fonawesome5 package
|
- Move to fontawesome5 package.
|
||||||
- default to https
|
- Default to https.
|
||||||
|
|
||||||
version 2.0.0 (28 Jul 2015)
|
version 2.0.0 (28 Jul 2015)
|
||||||
- refactored the code into heads, body, foot and icon substyles. All styles
|
- Refactored the code into heads, body, foot and icon substyles. All styles
|
||||||
(classic, casual, banking and oldstyle) are just a combination of these and
|
(classic, casual, banking and oldstyle) are just a combination of these and
|
||||||
some font selection. Mixing substyles (e.g., the banking header with the
|
some font selection. Mixing substyles (e.g., the banking header with the
|
||||||
classic body) is now trivial by using the \moderncvhead, \moderncvbody,
|
classic body) is now trivial by using the \moderncvhead, \moderncvbody,
|
||||||
\moderncvfoot and \moderncvicons commands. Each of these take a substyle number
|
\moderncvfoot and \moderncvicons commands. Each of these take a substyle
|
||||||
as argument. \moderncvcolor takes a color name as argument.
|
number as argument. \moderncvcolor takes a color name as argument.
|
||||||
- added a new style, "fancy".
|
- Added a new style: fancy.
|
||||||
- added an optional argument to \moderncvstyle to specify style options, i.e.
|
- Added an optional argument to \moderncvstyle to specify style options, i.e.
|
||||||
\moderncvstyle[options]{style}. Below is a list of the available options per
|
\moderncvstyle[options]{style}. Below is a list of the available options per
|
||||||
style:
|
style:
|
||||||
* classic
|
* classic
|
||||||
> to specify of one's name should appear left or right at the top: "left"
|
> to specify where at the top one's name should appear: "left" (default) or
|
||||||
(default) or "right;
|
"right;
|
||||||
* casual
|
* casual
|
||||||
> to specify of one's name should appear left or right at the top: "left"
|
> to specify where at the top one's name should appear: "left" (default) or
|
||||||
(default) or "right;
|
"right;
|
||||||
* banking
|
* banking
|
||||||
> to specify how the section- and subsectionrules should be set:
|
> to specify how the section and subsection rules should be set:
|
||||||
"fullrules", "shortrules", "mixedrules" (default; full rules for sections,
|
"fullrules", "shortrules", "mixedrules" (default; full rules for sections,
|
||||||
short rules for subsections), "centered" (fullrules with centered title)
|
short rules for subsections), "centered" (fullrules with centered title)
|
||||||
and "norules" (norules, small caps font);
|
and "norules" (norules, small caps font);
|
||||||
> to specify how the body should be aligned: left" (default), "center" or
|
> to specify how the body should be aligned: left" (default), "center" or
|
||||||
"right";
|
"right";
|
||||||
* oldstyle & fancy
|
* oldstyle & fancy
|
||||||
n/a
|
> n/a
|
||||||
- added a new color variant: "burgundy".
|
- Added a new color variant: "burgundy".
|
||||||
- corrected the color of \addressstyle to match the one effectively used
|
- Corrected \addressstyle color to match the one effectively used (color2).
|
||||||
(color2).
|
- Adjusted the bibliography spacing to handle entries with or without labels.
|
||||||
- adjusted the bibliography spacing to handle entries with or without labels.
|
- Added a check on the emptiness of \title when setting the hyperref document
|
||||||
- added a check on the emptyness of \title when setting the hyperref document
|
|
||||||
properties.
|
properties.
|
||||||
|
|
||||||
version 1.5.1 (29 Apr 2013)
|
version 1.5.1 (29 Apr 2013)
|
||||||
- made sure that XeLaTeX or LuaLaTeX is in use before loading the awesome icon
|
- Made sure that XeTeX or LuaTeX is in use before loading the awesome icon set
|
||||||
set and if not, revert to the marvosym icon set.
|
and if not, revert to the marvosym icon set.
|
||||||
|
|
||||||
version 1.5.0 (23 Apr 2013)
|
version 1.5.0 (23 Apr 2013)
|
||||||
- added a command to showcase social accounts in one's personal information:
|
- Added a command to showcase social accounts in one's personal information:
|
||||||
\social. The command currently handles automatically LinkedIn, Twitter and
|
\social. The command currently handles LinkedIn, Twitter and Github accounts
|
||||||
Github accounts, and other links can be provided explicitly.
|
automatically, and other links can be provided explicitly.
|
||||||
- added a new icon set: "awesome" (using the icons from the Font Awesome font).
|
- Added a new icon set: "awesome" (using the icons from the Font Awesome font).
|
||||||
- set the "awesome" icon set as the default for the "casual" and "banking"
|
- Set the "awesome" icon set as the default for the casual and banking styles
|
||||||
style variants (can be changed back with \moderncvicons{marvosym}).
|
(can be changed back with \moderncvicons{marvosym}).
|
||||||
- forced all the icons of the "letters" icon set to be of the same width, for
|
- Forced all the icons of the "letters" icon set to be of the same width, for
|
||||||
alignment purpose.
|
alignment purposes.
|
||||||
- added a letter icon ("W") for the homepage of the "letters" icon set.
|
- Added a letter icon ("W") for the homepage of the "letters" icon set.
|
||||||
- forced some white space between the main text and the footer of the "casual"
|
- Forced some whitespace between the main text and the footer of the casual
|
||||||
style variant.
|
style.
|
||||||
- removed the rule below the headings of the cvcolumns environment.
|
- Removed the rule below the headings of the cvcolumns environment.
|
||||||
|
|
||||||
version 1.4.0 (28 Mar 2013)
|
version 1.4.0 (28 Mar 2013)
|
||||||
- deprecated \phone, \mobile and \fax in favour of \phone[<type>], where <type>
|
- Deprecated \phone, \mobile and \fax in favour of \phone[<type>], where <type>
|
||||||
can be "fixed" (default), "mobile" or "fax". As part of the change, one can now
|
can be "fixed" (default), "mobile" or "fax". As part of the change, one can
|
||||||
use each of these multiple times, to e.g. display multiple mobile phone numbers.
|
now use each of these multiple times, e.g. to display multiple mobile phone
|
||||||
- deprecated \firstname and \familyname in favour of \name{<first>}{<last>}.
|
numbers.
|
||||||
- added a new mechanism to select amongs different possible icon sets:
|
- Deprecated \firstname and \familyname in favour of \name{<first>}{<last>}.
|
||||||
|
- Added a new mechanism to select amongs different possible icon sets:
|
||||||
\moderncvicons{<iconsetname>}, where <iconsetname> can be "marvosym" (used by
|
\moderncvicons{<iconsetname>}, where <iconsetname> can be "marvosym" (used by
|
||||||
default in the "banking", "casual" and "classic" style variants) or "letters"
|
default in the banking, casual and classic styles) or "letters" (used by
|
||||||
(used by default in the "oldstyle" style variant). \moderncvicons should
|
default in the oldstyle style). \moderncvicons should always be called after
|
||||||
always be called after \moderncvstyle in order to override the style variants
|
\moderncvstyle in order to override the styles' defaults.
|
||||||
defaults.
|
- Added a command to control the font of the page numbering: \pagenumberfont, as
|
||||||
- added a command to control the font of the page numbering: \pagenumberfont,
|
requested by fr1a1nky (launchpad question #224496).
|
||||||
as requested by fr1a1nky (launchpad question #224496).
|
- Removed the use of the suffix package.
|
||||||
- removed the use of the suffix package.
|
|
||||||
|
|
||||||
version 1.3.0 (09 Feb 2013)
|
version 1.3.0 (09 Feb 2013)
|
||||||
- added a new environment to create multiple columns: cvcolumns. Each column
|
- Added a new environment to create multiple columns: cvcolumns. Each column is
|
||||||
is then created by \cvcolumn[width]{header}{content}, where the optional width
|
then created by \cvcolumn[width]{header}{content}, where the optional width is
|
||||||
is given as a fraction of the total width (between 0 and 1). The header and
|
given as a fraction of the total width (between 0 and 1). The header and
|
||||||
content are robust and can contain any paragraph command (e.g., a nest itemize
|
content are robust and can contain any paragraph command (e.g., a nested
|
||||||
environment).
|
itemize environment).
|
||||||
- added a macro (\pdfpagemode) to control what is visible upon opening compiled
|
- Added a macro (\pdfpagemode) to control what is visible upon opening compiled
|
||||||
pdfs (assuming pdf reader support), as suggested by U. Stöhr.
|
PDFs (assuming PDF reader support), as suggested by U. Stöhr.
|
||||||
Possible values include: "UseNone" (only the document), "UseThumbs" (show
|
Possible values include: "UseNone" (only the document), "UseThumbs" (show
|
||||||
thumbnails), "UseOutlines" (show bookmarks) and "FullScreen" (open in
|
thumbnails), "UseOutlines" (show bookmarks) and "FullScreen" (open in
|
||||||
fullscreen mode).
|
fullscreen mode).
|
||||||
- added a 3rd, fully optional (can be omitted or left blank) argument to
|
- Added a 3rd, fully optional (can be omitted or left blank) argument to
|
||||||
\address to specify a country, as requested on launchpad (launchpad bug
|
\address to specify a country, as requested on launchpad (launchpad bug
|
||||||
#1063995).
|
#1063995).
|
||||||
- compacted list environments further.
|
- Compacted list environments further.
|
||||||
- replaced the use of the xargs package by the xparse one.
|
- Replaced the use of the xargs package by the xparse one.
|
||||||
|
|
||||||
version 1.2.1 (04 Dec 2012)
|
version 1.2.1 (04 Dec 2012)
|
||||||
- fixed a regression bug introduced in version 1.2.0 in the header of the
|
- Fixed a regression bug introduced in v1.2.0 in the header of the banking style
|
||||||
"banking" style when no title is used, as reported on tex.stackexchange
|
when no title is used, as reported on tex.stackexchange (question #85427).
|
||||||
(question #85427).
|
|
||||||
|
|
||||||
version 1.2.0 (31 Oct 2012)
|
version 1.2.0 (31 Oct 2012)
|
||||||
- updated the "banking" style header to include the option to show a title.
|
- Updated the banking style header to include the option to show a title.
|
||||||
- set the values of \arrayrulewidth and \doublerulesep to their standard values
|
- Set the values of \arrayrulewidth and \doublerulesep to their standard values
|
||||||
(0.4pt and 2pt resp.) to enable the drawing of rules in tabulars and arrays by
|
(0.4pt and 2pt, respectively) to enable the drawing of rules in tabulars and
|
||||||
default.
|
arrays by default.
|
||||||
- modified the code of \makecvtitle and \makelettertitle of the "casual" style
|
- Modified the code of \makecvtitle and \makelettertitle of the casual style to
|
||||||
to avoid it to cause horizontal alignment issues after and before itself.
|
avoid it causing horizontal alignment issues before and after itself.
|
||||||
- corrected a bug in \makelettertitle of most styles that displayed the current
|
- Corrected a bug in \makelettertitle of most styles that displayed the current
|
||||||
date (\today) instead of the date given through the \date command, as reported
|
date (\today) instead of the date given through the \date command, as reported
|
||||||
by B. Schlimmchen and S. Fnord.
|
by B. Schlimmchen and S. Fnord.
|
||||||
- removed the need to set pdfpagelabels=false when loading hyperref, by putting
|
- Removed the need to set pdfpagelabels=false when loading hyperref by putting
|
||||||
\pagenumbering{arabic} (to define \thepage) before loading hyperref, as figured
|
\pagenumbering{arabic} (to define \thepage) before loading hyperref, as
|
||||||
out by J. Wolf.
|
figured out by J. Wolf.
|
||||||
- corrected the line wrapping of \cvlistitem of the "banking" style.
|
- Corrected the line wrapping of \cvlistitem of the banking style.
|
||||||
- corrected a bug in \makecvtitle and \makelettertitle of the "banking" style.
|
- Corrected a bug in \makecvtitle and \makelettertitle of the banking style.
|
||||||
- removed an unwanted space in the footer of the "casual" style.
|
- Removed an unwanted space in the footer of the casual style.
|
||||||
- moved the font style definitions to moderncv.cls for better readability
|
- Moved the font style definitions to moderncv.cls for better readability
|
||||||
(moderncv.cls is meant to be a sort of header file, implementing only some
|
(moderncv.cls is meant to be a sort of header file, implementing only some
|
||||||
macros shared by all styles and defining the macros that the style files need
|
macros shared by all styles and defining the macros that the style files need
|
||||||
to implement).
|
to implement).
|
||||||
|
|
||||||
version 1.1.3 (10 Aug 2012)
|
version 1.1.3 (10 Aug 2012)
|
||||||
- corrected a longstanding issue causing hyperref to issue two warnings
|
- Corrected a long-standing issue causing hyperref to issue two warnings about
|
||||||
regarding its "pdfpagelabels" option, as pointed out and solved by P. Leifeld
|
its "pdfpagelabels" option, as pointed out and solved by P. Leifeld (launchpad
|
||||||
(launchpad bug #1035466).
|
bug #1035466).
|
||||||
|
|
||||||
version 1.1.2 (09 Aug 2012)
|
version 1.1.2 (09 Aug 2012)
|
||||||
- fixed a regression bug introduced in version 1.0.0 in the footer of the
|
- Fixed a regression bug introduced in v1.0.0 in the footer of the casual style,
|
||||||
"casual" style, as discovered on tex.stackexchange (question #66316).
|
as discovered on tex.stackexchange (question #66316).
|
||||||
|
|
||||||
version 1.1.1 (30 Jul 2012)
|
version 1.1.1 (30 Jul 2012)
|
||||||
- fixed a compatibility issue introduced in version 1.0.0 when
|
- Fixed a compatibility issue introduced in v1.0.0 when \maketitlenamewidth was
|
||||||
\maketitlenamewidth was renamed to \makecvtitlenamewidth, as reported by Peppe
|
renamed to \makecvtitlenamewidth, as reported by Peppe on launchpad (launchpad
|
||||||
on launchpad (launchpad bug #1030802). The template now correctly uses
|
bug #1030802). The template now correctly uses \makecvtitlenamewidth, and
|
||||||
\makecvtitlenamewidth, and \maketitlenamewidth was created as an alias for
|
\maketitlenamewidth was created as an alias forbackward compatibility.
|
||||||
backward compatibility.
|
|
||||||
|
|
||||||
version 1.1.0 (29 Jul 2012)
|
version 1.1.0 (29 Jul 2012)
|
||||||
- fixed the switching from letter to resume, correcting spacing errors when a
|
- Fixed the switching from letter to resume, correcting spacing errors when a
|
||||||
letter is typeset before the resume, as noticed by U. Gabor.
|
letter is typeset before the resume, as noticed by U. Gabor.
|
||||||
- fixed the vertical alignment of the footers, as reported by T. Homa.
|
- Fixed the vertical alignment of the footers, as reported by T. Homa. Footers
|
||||||
Footers are now aligned to the bottom and the letter and cv footers are
|
are now aligned to the bottom and the letter and CV footers are perfectly
|
||||||
perfectly aligned in the "casual" style.
|
aligned in the casual style.
|
||||||
- prepared moderncv for fontspec font loading (still commented in code).
|
- Prepared moderncv for fontspec font loading (still commented out in code).
|
||||||
- changed the handling of the "sans" and "roman" class options, to be reflected
|
- Changed the handling of the "sans" and "roman" class options, to be reflected
|
||||||
at the beginning of the document and override style font choices.
|
at the beginning of the document and override style font choices.
|
||||||
- turned unicode support in hyperref on by default.
|
- Turned unicode support in hyperref on by default.
|
||||||
- tweaked the use of \textbullet to avoid the fall-back to Computer Modern
|
- Tweaked the use of \textbullet to avoid a fallback to Computer Modern fonts
|
||||||
fonts and prepared the use of symbols from the MarVoSym font for fontspec
|
and prepared the use of symbols from the MarVoSym font for fontspec (LuaTeX or
|
||||||
(LauLaTeX or XeLaTeX).
|
XeTeX).
|
||||||
- tweaked the \subsectionfill of the "banking" style to distribute extra space
|
- Tweaked the \subsectionfill of the banking style to distribute extra space
|
||||||
evenly between leaders.
|
evenly between leaders.
|
||||||
- added two options to change the "Enclosure" string used for the letter
|
- Added two options to change the "Enclosure" string used for the letter
|
||||||
enclosure: either specify another string as optional argument to \enclosure,
|
enclosure: either specify another string as an optional argument to \enclosure
|
||||||
or redefine \enclname, as suggested by D. Wille.
|
or redefine \enclname, as suggested by D. Wille.
|
||||||
|
|
||||||
version 1.0.0 (26 Mar 2012)
|
version 1.0.0 (26 Mar 2012)
|
||||||
- added commands to generate letters for every resume style: \recipient, \date,
|
- Added commands to generate letters for every resume style: \recipient, \date,
|
||||||
\opening, \closing, \enclosure, \makelettertitle and \makeletterclosing. The
|
\opening, \closing, \enclosure, \makelettertitle and \makeletterclosing. The
|
||||||
old \maketitle and \makefooter commands are now deprecated and replaced by
|
old \maketitle and \makefooter commands are now deprecated and replaced by
|
||||||
\makecvtitle and \makecvfooter.
|
\makecvtitle and \makecvfooter.
|
||||||
- changed the alignment algorithm for the personal data display in the oldstyle
|
- Changed the alignment algorithm for the personal data display in the oldstyle
|
||||||
style, as to align on the baseline of the first line with the surrounding text.
|
style, to align on the baseline of the first line with the surrounding text.
|
||||||
|
|
||||||
version 0.19.0 (06 Feb 2012)
|
version 0.19.0 (06 Feb 2012)
|
||||||
- reintroduced the ability to force the width reserved to display the name
|
- Reintroduced the ability to force the width reserved to display the name in
|
||||||
in the resume header for the classic style (\maketitlenamewidth).
|
the resume header for the classic style (\maketitlenamewidth).
|
||||||
- improved the pdf metadata, as reported by S. Wunsch (launchpad bug #922476).
|
- Improved the PDF metadata, as reported by S. Wunsch (launchpad bug #922476).
|
||||||
- fixed a footersymbol bug in the casual style when no mobile number was given,
|
- Fixed a \footersymbol bug in the casual style when no mobile number was given,
|
||||||
as reported by S. Wunsch (launchpad bug #922470).
|
as reported by S. Wunsch (launchpad bug #922470).
|
||||||
- fixed a display bug when an address was given without postcode/city, as
|
- Fixed a display bug when an address was given without postcode/city, as
|
||||||
reported by O. Shaneh (launchpad bug #670263).
|
reported by O. Shaneh (launchpad bug #670263).
|
||||||
|
|
||||||
version 0.18.0 (05 Feb 2012)
|
version 0.18.0 (05 Feb 2012)
|
||||||
- corrected the handling of pdf bookmarks, as suggested on stackexchange by
|
- Corrected the handling of PDF bookmarks, as suggested on stackexchange by
|
||||||
U. Fischer.
|
U. Fischer.
|
||||||
- improved the spacing between sections and subsections by using \addvspace
|
- Improved the spacing between sections and subsections by using \addvspace
|
||||||
instead of \vspace.
|
instead of \vspace.
|
||||||
- corrected the spacing between entries with nested itemize environments
|
- Corrected the spacing between entries with nested itemize environments
|
||||||
(temporary solution working only for single line items).
|
(temporary solution working only for single line items).
|
||||||
- added a check in the oldstyle style for an empty 4th argument in the
|
- Added a check in the oldstyle style for an empty 4th argument in the
|
||||||
\cvdoubleitem definition, to avoid printing a colon without preceding label.
|
\cvdoubleitem definition to avoid printing a colon without a preceding label.
|
||||||
- added a new style on top of classic, casual and oldstyle: banking.
|
- Added a new style on top of classic, casual and oldstyle: banking.
|
||||||
|
|
||||||
version 0.17.0 (25 Jan 2012)
|
version 0.17.0 (25 Jan 2012)
|
||||||
- changed the footer algorithm of style casual to avoid starting lines with
|
- Changed the footer algorithm of the casual style to avoid starting lines with
|
||||||
the footer symbol.
|
the footer symbol.
|
||||||
- aligned the space before and after the title across styles.
|
- Aligned the space before and after the title across styles.
|
||||||
- added an optional title to the casual style.
|
- Added an optional title to the casual style.
|
||||||
- changed the definition of the font styles to avoid undesired extra spacing.
|
- Changed the definition of the font styles to avoid undesired extra spacing.
|
||||||
- added a Spanish template, kindly provided by I. Buitrón.
|
- Added a Spanish template, kindly provided by I. Buitrón.
|
||||||
- corrected the vertical misalignment between the page number and the center
|
- Corrected the vertical misalignment between the page number and the center
|
||||||
footer in the casual style.
|
footer in the casual style.
|
||||||
|
|
||||||
version 0.16.0 (15 Jan 2012)
|
version 0.16.0 (15 Jan 2012)
|
||||||
- added starred versions of \section and \subsection (that are identical to
|
- Added starred versions of \section and \subsection that are identical to their
|
||||||
their non-starred version, to e.g. enable biblatex support as requested by
|
non-starred versions (e.g. to enable BibLaTeX support) as requested by
|
||||||
S. Verberkt (launchpad bug #913102).
|
S. Verberkt (launchpad bug #913102).
|
||||||
- corrected a misalignment of the colored rule in front of the section titles
|
- Corrected a misalignment of the colored rule in front of the section titles in
|
||||||
in the classic and casual styles, as reported by P. Neidhardt (launchpad bug
|
the classic and casual styles, as reported by P. Neidhardt (launchpad bug
|
||||||
#915910).
|
#915910).
|
||||||
|
|
||||||
version 0.15.1 (23 December 2011)
|
version 0.15.1 (23 December 2011)
|
||||||
- corrected a bug in the classic style causing the address font and color not
|
- Corrected a bug in the classic style causing the address font and color to not
|
||||||
being carried over newlines, as reported by J. Smith.
|
be carried over newlines, as reported by J. Smith.
|
||||||
|
|
||||||
version 0.15.0 (19 December 2011)
|
version 0.15.0 (19 December 2011)
|
||||||
- corrected list spacing.
|
- Corrected list spacing.
|
||||||
- corrected inconsistent use of sans serif fonts in roman layout option.
|
- Corrected inconsistent use of sans serif fonts in roman layout option.
|
||||||
- the lmodern fonts are now automatically loaded only if installed on the
|
- The lmodern fonts are now automatically loaded only if they're installed on
|
||||||
system. The "nolmodern" option is now therefore obsolete.
|
the system. The "nolmodern" option is now therefore obsolete.
|
||||||
- complete code refactoring separating themes in separate styles and colors.
|
- Completed code refactoring separating themes in separate styles and colors.
|
||||||
- renamed \cvline to \cvitem, \cvlanguage to \cvitemwithcomment and \cvcomputer
|
- Renamed \cvline to \cvitem, \cvlanguage to \cvitemwithcomment and \cvcomputer
|
||||||
to \cvdoubleitem (the old command name still work and redirect to the new ones,
|
to \cvdoubleitem (the old command names still work and redirect to the new
|
||||||
but are deprecated).
|
ones, but are deprecated).
|
||||||
- removed the arbitrary minipage widths of skill proficiency vs comment in
|
- Removed the arbitrary minipage widths of skill proficiency vs comment in
|
||||||
\cvitemwithcomments. The skill proficiency is now typeset exactly as given
|
\cvitemwithcomments. The skill proficiency is now typeset exactly as given
|
||||||
(i.e. one one line if no linebreaks are implicitly given) and the comment uses
|
(i.e. one one line if no linebreaks are implicitly given) and the comment uses
|
||||||
the remaining horizontal space.
|
the remaining horizontal space.
|
||||||
- changed the optional argument of \cvlistitem and \cvlistdoubleitem to specify
|
- Changed the optional argument of \cvlistitem and \cvlistdoubleitem to specify
|
||||||
the vertical skip after the item (as for \cvitem, cvitemwithcomments, etc).
|
the vertical skip after the item (as for \cvitem, \cvitemwithcomments, etc).
|
||||||
The way to change the list symbol is to redefine \listitemsymbol.
|
The way to change the list symbol is to redefine \listitemsymbol.
|
||||||
- added a new style on top of classic and casual: oldstyle.
|
- Added a new style on top of classic and casual: oldstyle.
|
||||||
- loaded the microtype package to improve typography.
|
- Loaded the microtype package to improve typography.
|
||||||
|
|
||||||
version 0.14.0 (04 December 2011)
|
version 0.14.0 (04 December 2011)
|
||||||
- added support for CJK, thanks to the help of P. D'Apice.
|
- Added support for CJK, thanks to the help of P. D'Apice.
|
||||||
- the use of \recomputelengths after modifying any length in the preamble is
|
- The use of \recomputelengths after modifying any length in the preamble is now
|
||||||
now unnecessary; \recomputelength is automatically called at the start of the
|
unnecessary; \recomputelength is automatically called at the start of the
|
||||||
document.
|
document.
|
||||||
|
|
||||||
version 0.13.1 (11 November 2011)
|
version 0.13.1 (11 November 2011)
|
||||||
- corrected a bug introduced by v0.13 in the classic style when no \photo is
|
- Corrected a bug introduced by v0.13 in the classic style when no \photo is
|
||||||
used, as reported by S. Gislais (launchpad bug #888702).
|
used, as reported by S. Gislais (launchpad bug #888702).
|
||||||
|
|
||||||
version 0.13.0 (06 November 2011)
|
version 0.13.0 (06 November 2011)
|
||||||
- added a "black" color option to render the resume in black & white, as
|
- Added a "black" color option to render the resume in black & white, as
|
||||||
suggested by F. Bicarri.
|
suggested by F. Bicarri.
|
||||||
- removed the pdflatex option when loading hyperref to enable other engines
|
- Removed the pdflatex option when loading hyperref to enable other engines
|
||||||
(e.g., dvips, xetex), leftover from the v 0.11 cleanup, as reported by
|
(e.g., dvips, XeTeX), leftover from the v0.11 cleanup, as reported by
|
||||||
K. Amaterasu and P. Mavrogiorgos (launchpad bugs #754693 and #859834).
|
K. Amaterasu and P. Mavrogiorgos (launchpad bugs #754693 and #859834).
|
||||||
- added a "purple" color option, as proposed by B. Ravel.
|
- Added a "purple" color option, as proposed by B. Ravel.
|
||||||
- added a 3rd optional argument to the \photo command to control the thickness
|
- Added a 3rd optional argument to the \photo command to control the thickness
|
||||||
of the framebox. Setting it to 0pt will disable the frame around the photo, as
|
of the framebox. Setting it to 0pt will disable the frame around the photo, as
|
||||||
requested by T. Krennwallner (launchpad bug #664568).
|
requested by T. Krennwallner (launchpad bug #664568).
|
||||||
|
|
||||||
version 0.12.0 (03 August 2010)
|
version 0.12.0 (03 August 2010)
|
||||||
- prevented pagebreaks after sections and subsections (launchpad bug #409902),
|
- Prevented pagebreaks after sections and subsections (launchpad bug #409902),
|
||||||
as originally reported by C. Gaspoz and fixed by launchpad user tentotwo).
|
as originally reported by C. Gaspoz and fixed by launchpad user tentotwo.
|
||||||
|
|
||||||
version 0.11.0 (20 July 2010)
|
version 0.11.0 (20 July 2010)
|
||||||
- removed the \ifpdf check when loading the graphicx package, as graphicx does
|
- Removed the \ifpdf check when loading the graphicx package, as graphicx
|
||||||
does check internally and this was preventing proper functionning with xelatex
|
already does this check internally. This was preventing proper functioning
|
||||||
and luatex, as reported by A. Trautmann. The same check was also removed
|
with XeTeX and LuaTeX, as reported by A. Trautmann. The same check was also
|
||||||
everywhere else in the document (i.e. when loading the color and hyperref
|
removed everywhere else in the document (i.e. when loading the color and
|
||||||
packages).
|
hyperref packages).
|
||||||
|
|
||||||
version 0.10.0 (13 June 2010)
|
version 0.10.0 (13 June 2010)
|
||||||
- fixed a compatibility issue with the natbib package (natbib uses \section*
|
- Fixed a compatibility issue with the natbib package (natbib uses \section* to
|
||||||
to format the bibliography title, while only \section was defined by
|
format the bibliography title, while only \section was defined by moderncv),
|
||||||
moderncv), as reported on launchpad (launchpad bug #393920).
|
as reported on launchpad (launchpad bug #393920).
|
||||||
- fixed a compatibility issues with (any package relying on) the etoolbox
|
- Fixed compatibility issues with (any package relying on) the etoolbox package,
|
||||||
package, due to the double definition of \AtEndPreamble, as reported by
|
due to the double definition of \AtEndPreamble, as reported by D. Becker.
|
||||||
D. Becker.
|
|
||||||
|
|
||||||
version 0.9.0 (31 May 2010)
|
version 0.9.0 (31 May 2010)
|
||||||
- added support for the itemize, enumerate and description environments.
|
- Added support for the itemize, enumerate and description environments.
|
||||||
|
|
||||||
version 0.8.0 (24 May 2010)
|
version 0.8.0 (24 May 2010)
|
||||||
- added support for multibib. Also modified the template to illustrate how to
|
- Added support for multibib. Also modified the template to illustrate how to
|
||||||
show labels in the bibliography, as requested by Tom D. R. and Stefan K.
|
show labels in the bibliography, as requested by Tom D. R. and Stefan K.
|
||||||
- added a command to indicate your personal homepage (\homepage{url}), as
|
- Added a command to indicate your personal homepage (\homepage{url}), as
|
||||||
requested by J. de Jong and A. Pairet.
|
requested by J. de Jong and A. Pairet.
|
||||||
- corrected an alignment bug for text following a \quote with no immediate
|
- Corrected an alignment bug for text following a \quote with no immediate
|
||||||
\section, as kindly reported by J. Vermeulen and L. Saliou.
|
\section, as kindly reported by J. Vermeulen and L. Saliou.
|
||||||
- corrected a spacing bug when no blank line (or \par) is left after
|
- Corrected a spacing bug when no blank line (or \par) is left after \maketitle.
|
||||||
\maketitle. Thanks to A. Menzel for reporting the strange behaviour.
|
Thanks to A. Menzel for reporting the strange behaviour.
|
||||||
- corrected the alignment of the extrainfo title part when no picture was
|
- Corrected the alignment of the \extrainfo title part when no picture was used,
|
||||||
used, as reported by M. Bana.
|
as reported by M. Bana.
|
||||||
- corrected the missplacement of pdf bookmarks as noticed by L. Fortunato.
|
- Corrected the misplacement of PDF bookmarks as noticed by L. Fortunato.
|
||||||
- corrected several bugs linked to the code for checking for empty arguments
|
- Corrected several bugs linked to the code for checking for empty arguments in
|
||||||
in \cventry, as reported by B. Ekran (launchpad bug #268768), L. Păncescu and
|
\cventry, as reported by B. Ekran (launchpad bug #268768), L. Păncescu and
|
||||||
E. Gregorio.
|
E. Gregorio.
|
||||||
|
|
||||||
version 0.7.0 (17 June 2008)
|
version 0.7.0 (17 June 2008)
|
||||||
- corrected an outstanding spacing bug (space between cvlines longer
|
- Corrected an outstanding spacing bug where the space between cvlines was
|
||||||
than 1 line).
|
longer than 1 line.
|
||||||
- removed the need to use \closesection and \emptysection as internal
|
- Removed the need to use \closesection and \emptysection as internal tabulars
|
||||||
tabulars are now always closed. This allows she use of bibliography packages
|
are now always closed. This allows the use of bibliography packages such as
|
||||||
such as bibunits. Thanks to S. Busch for pointing out the incompatibility and
|
bibunits. Thanks to S. Busch for pointing out the incompatibility and helping
|
||||||
helping testing out the bug correction.
|
test out the bug correction.
|
||||||
- changed the definition of \photo: the first (optional) argument should
|
- Changed the definition of \photo: the first (optional) argument should give
|
||||||
give the desired width of the picture, instead of its height
|
the desired width of the picture, instead of its height
|
||||||
- corrected an alignment bug for \cvlistitems longer than 1 line, as
|
- Corrected an alignment bug for \cvlistitems longer than 1 line, as reported by
|
||||||
reported by S. Nikolopoulos.
|
S. Nikolopoulos.
|
||||||
- deprecated the commands \sethintscolumnlength and \sethintscolumntowidth.
|
- Deprecated the commands \sethintscolumnlength and \sethintscolumntowidth.
|
||||||
Instead, just set \hintscolumnwidth to the desired length by using the regular
|
Instead, just set \hintscolumnwidth to the desired length by using the regular
|
||||||
\setlength or \settowidth commands, and call \recomputelengths.
|
\setlength or \settowidth commands, and call \recomputelengths.
|
||||||
- added the ability to control the width of the name placeholder in the
|
- Added the ability to control the width of the name placeholder in the classic
|
||||||
classic theme, by setting the length \maketitlenamewidth. Again, don't forget
|
theme, by setting the length \maketitlenamewidth. Again, don't forget to call
|
||||||
to call \recomputelengths afterward.
|
\recomputelengths afterward.
|
||||||
|
|
||||||
version 0.6.0 (28 May 2007)
|
version 0.6.0 (28 May 2007)
|
||||||
- corrected some spacing bugs and cleaned up the code.
|
- Corrected some spacing bugs and cleaned up the code.
|
||||||
- corrected a bug in the bibliography file of the examples spotted by
|
- Corrected a bug in the bibliography file of the examples spotted by U. Stöhr.
|
||||||
|
- Added color variants to the classic and casual styles, as suggested by
|
||||||
U. Stöhr.
|
U. Stöhr.
|
||||||
- added color variants to the classic and casual style, as suggested by
|
- Added a page counter for resumes running longer than 1 page, as requested by
|
||||||
U. Stöhr.
|
|
||||||
- added a page counter for resumes running longer than 1 page, as requested by
|
|
||||||
A. Martin. It can be disabled by the command \nopagenumbers{}.
|
A. Martin. It can be disabled by the command \nopagenumbers{}.
|
||||||
- added commands to include a mobile phone and fax number.
|
- Added commands to include a mobile phone and fax number.
|
||||||
- made the symbols used for the phone number, the email, ... customizable.
|
- Made the symbols used for the phone number, the email etc. customizable. To
|
||||||
To modify those symbols, just redefine \phonesymbol, emailsymbol, ...
|
modify those symbols, just redefine \phonesymbol, \emailsymbol etc.
|
||||||
- corrected the pdf information given to hyperref as pointed out by
|
- Corrected the PDF information given to hyperref as pointed out by C. Knuepfer.
|
||||||
C. Knuepfer.
|
- Rewrote the examples.
|
||||||
- rewrote the examples.
|
|
||||||
|
|
||||||
version 0.5.0 (9 September 2006)
|
version 0.5.0 (9 September 2006)
|
||||||
- added a \photo command to display a picture. That command takes the name of
|
- Added a \photo command to display a picture. This command takes the name of
|
||||||
the file with the picture as argument, and the desired height as optional
|
the file with the picture as a required argument and the desired height as an
|
||||||
argument.
|
optional argument.
|
||||||
- implemented the needed commands to make moderncv compatible with BibTeX, as
|
- Implemented the needed commands to make moderncv compatible with BibTeX, as
|
||||||
suggested by J. Lie. This makes it possible to display one's publications,
|
suggested by J. Lie. This makes it possible to display one's publications,
|
||||||
stored in the BibTeX file 'publications.bib'
|
stored in the BibTeX file "publications.bib" by using:
|
||||||
by using:
|
|
||||||
\nocite{*}
|
\nocite{*}
|
||||||
\bibliographystyle{plain}
|
\bibliographystyle{plain}
|
||||||
\bibliography{publications}
|
\bibliography{publications}
|
||||||
As usual, the name of the section title can be changed by redefining the
|
As usual, the name of the section title can be changed by redefining \refname.
|
||||||
command \refname.
|
- Added the \today command, useful for example if one needs to add the date the
|
||||||
- added the \today command, useful for example if one need to add the date the
|
resume was produced with:
|
||||||
resumé was produced with
|
|
||||||
\closesection{}
|
\closesection{}
|
||||||
\vfill{\hfill{\scriptsize Produced \today.}}
|
\vfill{\hfill{\scriptsize Produced \today.}}
|
||||||
at the end of your CV, as suggested by F. Hammann.
|
at the end of your CV, as suggested by F. Hammann.
|
||||||
|
|
||||||
version 0.4.0 (2 May 2006)
|
version 0.4.0 (2 May 2006)
|
||||||
- removed the dependency on the geometry package, so that users can now invoke
|
- Removed the dependency on the geometry package so that users can now invoke it
|
||||||
it themselve, and easily change the geometry of the page.
|
themselves and easily change the geometry of the page.
|
||||||
|
|
||||||
version 0.3.0 (10 April 2006)
|
version 0.3.0 (10 April 2006)
|
||||||
- moderncv now uses the 'longtable' class, allowing cv sections to split
|
- Moderncv now uses the longtable class, allowing CV sections to split across
|
||||||
across multiple pages.
|
multiple pages.
|
||||||
- the different lengths used by moderncv are now customizable! In particular,
|
- The different lengths used by moderncv are now customizable! In particular,
|
||||||
the first column (the one containing the date in the examples), can now be set
|
the first column (the one containing the date in the examples) can now be set
|
||||||
to any width, for people needing a smaller or larger one. To do that, either
|
to any width, for people needing a smaller or larger one. To do that, either
|
||||||
use
|
use
|
||||||
\sethintscolumnlength{<length>},
|
\sethintscolumnlength{<length>},
|
||||||
|
|
@ -371,33 +416,32 @@ version 0.3.0 (10 April 2006)
|
||||||
where <string> is a string of the desired length (usually, the longest string
|
where <string> is a string of the desired length (usually, the longest string
|
||||||
that has to appear in the column). Thanks to A. Pöge for pointing out the need
|
that has to appear in the column). Thanks to A. Pöge for pointing out the need
|
||||||
of such a feature.
|
of such a feature.
|
||||||
- added the command \emptysection{}, which makes it possible to start a
|
- Added the command \emptysection{}, which makes it possible to start an unnamed
|
||||||
section without name. In combination with \closesection{}, this makes it
|
section. In combination with \closesection{}, this makes it possible to drop
|
||||||
possible to drop out of the layout of moderncv, and come back to it later.
|
out of the layout of moderncv, and come back to it later. This should make the
|
||||||
This should make the inclusion of arbitrary elements not covered by moderncv
|
inclusion of arbitrary elements not covered by moderncv code possible.
|
||||||
code possible.
|
- Corrected a spacing problem in the \cventry command, as pointed out and solved
|
||||||
- corrected a spacing problem in the cventry command, as pointed out and
|
by B. Eßmann.
|
||||||
solved by B. Eßmann.
|
|
||||||
|
|
||||||
version 0.2.0 (6 March 2006)
|
version 0.2.0 (6 March 2006)
|
||||||
- rewrite of the code to have the styles (fonts, colours, headers and footers)
|
- Rewrite of the code to have the styles (fonts, colours, headers and footers)
|
||||||
be defined in different files than the class. The styles are now defined in a
|
be defined in different files than the class. The styles are now defined in a
|
||||||
separate file per style, named moderncvstyle<style_name>. It should now be
|
separate file per style, named moderncvstyle<style_name>. It should now be
|
||||||
easy to write your own style, starting from moderncvstyleempty.sty. If you
|
easy to write your own style, starting from moderncvstyleempty.sty. If you
|
||||||
feel you have created a nice style, just email it to me and I'll include it in
|
feel you have created a nice style, just email it to me and I'll include it in
|
||||||
the next version.
|
the next version.
|
||||||
- due to the previous point, styles are now loaded by the command
|
- Due to the previous point, styles are now loaded by the command
|
||||||
\moderncvstyle{style_name}. I couldn't figure out a way to preserve the old
|
\moderncvstyle{style_name}. I couldn't figure out a way to preserve the old
|
||||||
"casual" and "classic" class options, so these are now broken! Use
|
"casual" and "classic" class options, so these are now broken! Use
|
||||||
\moderncvstyle{casual} or \moderncvstyle{classic} at the beginning of your
|
\moderncvstyle{casual} or \moderncvstyle{classic} at the beginning of your
|
||||||
document. This should be the only incompatibility with version 0.1.
|
document. This should be the only incompatibility with v0.1.
|
||||||
- added class option "nolmodern" for people without the latin modern fonts.
|
- Added class option "nolmodern" for people without the Latin Modern fonts.
|
||||||
- corrected some English mistakes in the examples. Thanks to M. H. Prager for
|
- Corrected some English mistakes in the examples. Thanks to M. H. Prager for
|
||||||
pointing them out.
|
pointing them out.
|
||||||
- added a \cvlistitem to produce items with a bullet (or whatever is defined
|
- Added a \cvlistitem to produce items with a bullet (or whatever is defined in
|
||||||
in \listitemsymbol), and renamed \cvresume to \cvlistdoubleitem for
|
\listitemsymbol), and renamed \cvresume to \cvlistdoubleitem for consistency
|
||||||
consistency purpose. For compatibility reasons, the command \cvresume still
|
purposes. For compatibility reasons, the command \cvresume still works, but
|
||||||
works, but should be avoided.
|
should be avoided.
|
||||||
|
|
||||||
version 0.1.0 (1 March 2006)
|
version 0.1.0 (1 March 2006)
|
||||||
- first release.
|
- First release.
|
||||||
|
|
|
||||||
27
KNOWN_BUGS
27
KNOWN_BUGS
|
|
@ -1,15 +1,12 @@
|
||||||
- When using the "fancy" style, undesired space is added between the bibliography
|
- moderncv is incompatible with biber.
|
||||||
head and the first entry, as well as after the last entry
|
- moderncv is incompatible with BibLaTeX.
|
||||||
- Moderncv is incompatible with biblatex.
|
- moderncv is incompatible with babel in Spanish.
|
||||||
- Footnotes generates errors (though the output seem correct when running with
|
|
||||||
"-interaction=nonstopmode")
|
- Skill matrices don't break automatically in fancy style.
|
||||||
- When using CJK, the last \clearpage required for fancyhdr to work properly kills
|
- Long names break the oldstyle style and possibly other styles (needs testing).
|
||||||
the "lastpage" counter, hence also the page numbering.
|
- Long URLs in classic style can make the name break line. Fixed width for the address part must be implemented.
|
||||||
- Moderncv produces an error ("lonely \item--perhaps a missing list environment")
|
- When using the fancy style, undesired space is added between the bibliography head and the first entry, as well as after the last entry.
|
||||||
when used with bibentry, through the output is actually correct. Amongst other,
|
- Footnotes generate errors, but the output seems correct when running with "-interaction=nonstopmode"
|
||||||
this causes compilation by LyX to stop.
|
- When using CJK, the last \clearpage required for the fancyhdr package to work properly kills the "lastpage" counter, and therefore also the page numbering.
|
||||||
- The space after a cventry gets eaten up when the last argument contains a nested
|
- moderncv produces an error "lonely \item--perhaps a missing list environment" when used with the bibentry package, though the output is actually correct. Among other things, this causes compilation by LyX to stop.
|
||||||
itemize environment. An ugly hack and incomplete solution was implemented by
|
- The space after a \cventry gets eaten up when the last argument contains a nested itemize environment. An ugly hack and incomplete solution was implemented by including a \strut in every item label, but this doesn't solve the problem for multi-line items. Ideally, the \strut should end the item, but there seems to be no way to do this.
|
||||||
including a \strut in every item label, but this doesn't solve the problem for
|
|
||||||
multi-line items. Ideally, the strut should end the item, but there seems to be
|
|
||||||
no way to do this.
|
|
||||||
|
|
|
||||||
41
README.md
41
README.md
|
|
@ -1,17 +1,44 @@
|
||||||
# moderncv
|
# moderncv
|
||||||
|
|
||||||
|
[](https://github.com/moderncv/moderncv/actions/workflows/build-pdf.yml)
|
||||||
|
[](https://www.ctan.org/pkg/moderncv)
|
||||||
|
[](https://matrix.to/#/#moderncv:matrix.org)
|
||||||
|
|
||||||
## A modern curriculum vitae class for LaTeX
|
## A modern curriculum vitae class for LaTeX
|
||||||
|
|
||||||
**moderncv** provides a documentclass for typesetting curricula vitae in various styles. Moderncv aims to be both straightforward to use and customizable, providing five ready-made styles (classic, casual, banking, oldstyle and fancy) and allowing one to define his own by modifying colors, fonts, icons, etc.
|
The `moderncv` package provides a document class for typesetting applications (curricula vitae and cover letters) in various styles. `moderncv` aims to be both straightforward to use and customizable, providing five ready-made styles (classic, casual, banking, oldstyle and fancy) and allowing you to define your own by modifying colors, fonts, icons, etc.
|
||||||
|
|
||||||
Most commands are defined in such a way that arguments are optional.
|
## Getting started
|
||||||
|
|
||||||
Until a decent manual is written, one can always look in the `template.tex` file for an example. It can be compiled to pdf via `latexmk -pdf ./template.tex`.
|
### Installation
|
||||||
|
`moderncv` should already be included in your installed LaTeX distribution.
|
||||||
|
If not, you can get the tarball of the package from [CTAN](https://www.ctan.org/pkg/moderncv).
|
||||||
|
Alternatively, you can also build the package from source by cloning the its [GitHub repository](https://github.com/moderncv/moderncv) and compiling the included LaTeX files:
|
||||||
|
```
|
||||||
|
latexmk -pdf ./template.tex manual/moderncv_userguide.tex
|
||||||
|
```
|
||||||
|
|
||||||
|
### Usage
|
||||||
|
To get started on your own CV, use and modify the template file `template.tex`.
|
||||||
|
The user guide can be found in the folder `manual` and contains additional information on what the document class offers.
|
||||||
|
Take a look at it to see if this package suits your needs.
|
||||||
|
|
||||||
|
If you are using the [`academicons`](https://ctan.org/tex-archive/fonts/academicons) package in the template, you will need to use a Xe(La)TeX or Lua(La)TeX engine to render the icons. Otherwise, an alternative icon package will be used automatically.
|
||||||
|
|
||||||
|
## Development
|
||||||
|
|
||||||
|
As the main goal is to keep this package alive, it is maintained in a loosely structured team.
|
||||||
|
You can contact us in our matrix room [moderncv:matrix.org](https://matrix.to/#/#moderncv:matrix.org), feel free to join if you have questions or want to contribute.
|
||||||
|
Development takes place at [github.com/moderncv/moderncv](https://github.com/moderncv/moderncv).
|
||||||
|
|
||||||
## Licence
|
## Licence
|
||||||
moderncv is licensed under the [LPPL-1.3c](https://spdx.org/licenses/LPPL-1.3c.html).
|
|
||||||
|
`moderncv` is licensed under the [LPPL-1.3c](https://spdx.org/licenses/LPPL-1.3c.html).
|
||||||
|
|
||||||
## Origin
|
## Origin
|
||||||
Original author: Xavier Danaux <xdanaux@gmail.com><br/>
|
|
||||||
Original repository: https://github.com/xdanaux/moderncv<br/>
|
Original author: Xavier Danaux <xdanaux@gmail.com>
|
||||||
This repository is a fork aiming to maintain moderncv inside CTAN, since upstream is dead since 2016.
|
<br/>
|
||||||
|
Original repository: https://github.com/xdanaux/moderncv
|
||||||
|
|
||||||
|
This repository is a fork aiming to maintain `moderncv` inside CTAN, since upstream has been dead since 2016.
|
||||||
|
|
|
||||||
|
|
@ -9,10 +9,10 @@ TARBALL=moderncv-$VERSION.tar
|
||||||
rm -f $TARBALL $TARBALL.gz
|
rm -f $TARBALL $TARBALL.gz
|
||||||
|
|
||||||
# create tar with all files in git repo
|
# create tar with all files in git repo
|
||||||
git archive HEAD > $TARBALL
|
git archive --prefix=moderncv/ HEAD > $TARBALL
|
||||||
|
|
||||||
# remove git specific files
|
# remove git specific files
|
||||||
tar -f $TARBALL --delete .github/ .gitignore create-release-tarball.sh
|
tar -f $TARBALL --delete moderncv/.github/ moderncv/.gitignore moderncv/create-release-tarball.sh
|
||||||
|
|
||||||
# compress
|
# compress
|
||||||
gzip $TARBALL
|
gzip $TARBALL
|
||||||
|
|
|
||||||
Binary file not shown.
File diff suppressed because it is too large
Load diff
161
moderncv.cls
161
moderncv.cls
|
|
@ -1,5 +1,5 @@
|
||||||
%% start of file `moderncv.cls'.
|
%% start of file `moderncv.cls'.
|
||||||
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
|
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
|
||||||
%
|
%
|
||||||
% This work may be distributed and/or modified under the
|
% This work may be distributed and/or modified under the
|
||||||
% conditions of the LaTeX Project Public License version 1.3c,
|
% conditions of the LaTeX Project Public License version 1.3c,
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
% identification
|
% identification
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
\NeedsTeXFormat{LaTeX2e}
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
\ProvidesClass{moderncv}[2021/01/21 v2.1.0 modern curriculum vitae and letter document class]
|
\ProvidesClass{moderncv}[2024-07-18 v2.4.1 modern curriculum vitae and letter document class]
|
||||||
|
|
||||||
|
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
|
|
@ -83,8 +83,8 @@
|
||||||
% color
|
% color
|
||||||
\RequirePackage[table]{xcolor}
|
\RequirePackage[table]{xcolor}
|
||||||
|
|
||||||
% font loading
|
% tex compiler checking for symbol loading
|
||||||
\RequirePackage{ifxetex,ifluatex}
|
\RequirePackage{iftex}
|
||||||
\newif\ifxetexorluatex
|
\newif\ifxetexorluatex
|
||||||
\ifxetex
|
\ifxetex
|
||||||
\xetexorluatextrue
|
\xetexorluatextrue
|
||||||
|
|
@ -96,43 +96,17 @@
|
||||||
\fi
|
\fi
|
||||||
\fi
|
\fi
|
||||||
|
|
||||||
% do not use inputenc and do not automatically load lmodern to avoid problems with German
|
|
||||||
% charactes, see
|
|
||||||
% https://tex.stackexchange.com/questions/496630/lualatex-problems-with-german-characters
|
|
||||||
\ifxetexorluatex
|
|
||||||
% \RequirePackage{fontspec}
|
|
||||||
% \defaultfontfeatures{Ligatures=TeX}
|
|
||||||
% \RequirePackage{unicode-math}
|
|
||||||
% \setmainfont{Latin Modern}
|
|
||||||
% \setsansfont{Latin Modern Sans}
|
|
||||||
% \setmathfont{Latin Modern Math}
|
|
||||||
% \ifluatex
|
|
||||||
% \usepackage{luatextra}
|
|
||||||
% \usepackage{lualatex-math} %loads fontspec
|
|
||||||
% \usepackage{shellesc} % fix a bug for lualatex shellescape
|
|
||||||
% \fi
|
|
||||||
\else
|
|
||||||
\RequirePackage[utf8]{inputenc}
|
|
||||||
% \RequirePackage[utf8]{inputenx}
|
|
||||||
% %additions for utf8
|
|
||||||
% \input{ix-utf8enc.dfu}
|
|
||||||
\RequirePackage[T1]{fontenc}
|
|
||||||
% loading lmodern can cause issues with certain special characters. avoid.
|
|
||||||
% \IfFileExists{lmodern.sty}%
|
|
||||||
% {\RequirePackage{lmodern}}%
|
|
||||||
% {}
|
|
||||||
% \fi
|
|
||||||
\fi
|
|
||||||
% hyper links (hyperref is loaded at the end of the preamble to pass options required by loaded packages such as CJK)
|
% hyper links (hyperref is loaded at the end of the preamble to pass options required by loaded packages such as CJK)
|
||||||
\newcommand*\pdfpagemode{UseNone}% do not show thumbnails or bookmarks on opening (on supporting browsers); set \pdfpagemode to "UseOutlines" to show bookmarks
|
\newcommand*\pdfpagemode{UseNone}% do not show thumbnails or bookmarks on opening (on supporting browsers); set \pdfpagemode to "UseOutlines" to show bookmarks
|
||||||
\RequirePackage{url}
|
\RequirePackage{url}
|
||||||
\urlstyle{tt}
|
\urlstyle{tt}
|
||||||
\AtEndPreamble{
|
\AtEndPreamble{
|
||||||
\pagenumbering{arabic}% has to be issued before loading hyperref, as to set \thepage and hence to avoid hyperref issuing a warning and setting pdfpagelabels=false
|
\pagenumbering{arabic}% has to be issued before loading hyperref, as to set \thepage and hence to avoid hyperref issuing a warning and setting pdfpagelabels=false
|
||||||
\RequirePackage[unicode]{hyperref}% unicode is required for unicode pdf metadata
|
\PassOptionsToPackage{unicode}{hyperref}
|
||||||
|
\RequirePackage{hyperref}
|
||||||
\hypersetup{
|
\hypersetup{
|
||||||
breaklinks,
|
breaklinks,
|
||||||
baseurl = http://,
|
|
||||||
pdfborder = 0 0 0,
|
pdfborder = 0 0 0,
|
||||||
pdfpagemode = \pdfpagemode,
|
pdfpagemode = \pdfpagemode,
|
||||||
pdfstartpage = 1,
|
pdfstartpage = 1,
|
||||||
|
|
@ -141,10 +115,16 @@
|
||||||
bookmarksopen = true,
|
bookmarksopen = true,
|
||||||
bookmarksdepth= 2,% to show sections and subsections
|
bookmarksdepth= 2,% to show sections and subsections
|
||||||
pdfauthor = {\@firstname{}~\@lastname{}},
|
pdfauthor = {\@firstname{}~\@lastname{}},
|
||||||
pdftitle = {\@firstname{}~\@lastname{}\notblank{\@title}{ -- \@title}{}},
|
pdftitle =
|
||||||
|
{\@firstname{}~\@lastname{}\expandafter\notblank\expandafter{\@title}{ -- \@title}{}}, %\notblank does not expand argument automatically
|
||||||
pdfsubject = {R\'{e}sum\'{e} of \@firstname{}~\@lastname{}},
|
pdfsubject = {R\'{e}sum\'{e} of \@firstname{}~\@lastname{}},
|
||||||
pdfkeywords = {\@firstname{}~\@lastname{}, curriculum vit\ae{}, r\'{e}sum\'{e}}}}
|
pdfkeywords = {\@firstname{}~\@lastname{}, curriculum vit\ae{}, r\'{e}sum\'{e}}}}
|
||||||
|
|
||||||
|
% pdftex not using pdfmanagement-testphase requires T1 font encoding in order to handle links containing special characters somewhat properly
|
||||||
|
\ifpdftex
|
||||||
|
\IfPDFManagementActiveTF{}{\RequirePackage[T1]{fontenc}}
|
||||||
|
\fi
|
||||||
|
|
||||||
% graphics
|
% graphics
|
||||||
\RequirePackage{graphicx}
|
\RequirePackage{graphicx}
|
||||||
|
|
||||||
|
|
@ -165,9 +145,9 @@
|
||||||
\@ifundefined{r@lastpage}{}{%
|
\@ifundefined{r@lastpage}{}{%
|
||||||
\ifthenelse{\pageref{lastpage}>1}{%
|
\ifthenelse{\pageref{lastpage}>1}{%
|
||||||
\newlength{\pagenumberwidth}%
|
\newlength{\pagenumberwidth}%
|
||||||
\settowidth{\pagenumberwidth}{\color{color2}\addressfont\itshape\strut\thepage/\pageref{lastpage}}%
|
\settowidth{\pagenumberwidth}{\color{color2}\pagenumberfont\strut\thepage/\pageref{lastpage}}%
|
||||||
\fancypagestyle{plain}{%
|
\fancypagestyle{plain}{%
|
||||||
\fancyfoot[r]{\parbox[b]{\pagenumberwidth}{\color{color2}\pagenumberfont\strut\thepage/\pageref{lastpage}}}}% the parbox is required to ensure alignment with a possible center footer (e.g., as in the casual style)
|
\fancyfoot[r]{\parbox[b]{\pagenumberwidth}{\color{color2}\pagenumberfont\strut\thepage/\protect\NoHyper\pageref{lastpage}\protect\endNoHyper}}}% the parbox is required to ensure alignment with a possible center footer (e.g., as in the casual style)
|
||||||
\pagestyle{plain}}{}}\fi}%
|
\pagestyle{plain}}{}}\fi}%
|
||||||
\AtEndDocument{\label{lastpage}}}
|
\AtEndDocument{\label{lastpage}}}
|
||||||
\pagestyle{plain}
|
\pagestyle{plain}
|
||||||
|
|
@ -258,8 +238,9 @@
|
||||||
\newcommand*{\email}[1]{\def\@email{#1}}
|
\newcommand*{\email}[1]{\def\@email{#1}}
|
||||||
|
|
||||||
% defines one's home page (optional)
|
% defines one's home page (optional)
|
||||||
% usage: \homepage{<url>}
|
% usage: \homepage[<optional protocol>]{<url>}
|
||||||
\newcommand*{\homepage}[1]{\def\@homepage{#1}}
|
% where <optional protocol> should be either "https" (default) or "http"
|
||||||
|
\NewDocumentCommand{\homepage}{O{https}m}{\def\@homepageprotocol{#1}\def\@homepage{#2}}
|
||||||
|
|
||||||
% adds a fixed/mobile/fax number to one's personal information (optional)
|
% adds a fixed/mobile/fax number to one's personal information (optional)
|
||||||
% usage: \phone[<optional type>]{<number>}
|
% usage: \phone[<optional type>]{<number>}
|
||||||
|
|
@ -278,7 +259,37 @@
|
||||||
|
|
||||||
% adds a social link to one's personal information (optional)
|
% adds a social link to one's personal information (optional)
|
||||||
% usage: \social[<optional type>][<optional url>]{<account name>}
|
% usage: \social[<optional type>][<optional url>]{<account name>}
|
||||||
% where <optional type> should be either "linkedin", "xing", "twitter", "github", "gitlab", "bitbucket" or "skype"
|
% where <optional type> should be either:
|
||||||
|
% - "linkedin"
|
||||||
|
% - "xing"
|
||||||
|
% - "twitter"
|
||||||
|
% - "mastodon"
|
||||||
|
% - "github"
|
||||||
|
% - "gitlab"
|
||||||
|
% - "stackoverflow"
|
||||||
|
% - "bitbucket"
|
||||||
|
% - "skype"
|
||||||
|
% - "orcid"
|
||||||
|
% - "researchgate"
|
||||||
|
% - "researcherid"
|
||||||
|
% - "telegram"
|
||||||
|
% - "whatsapp"
|
||||||
|
% - "signal"
|
||||||
|
% - "matrix"
|
||||||
|
% - "googlescholar"
|
||||||
|
% - "codeberg"
|
||||||
|
% - "discord"
|
||||||
|
% - "twitch"
|
||||||
|
% - "youtube"
|
||||||
|
% - "tiktok"
|
||||||
|
% - "instagram"
|
||||||
|
% - "soundcloud"
|
||||||
|
% - "steam
|
||||||
|
% - "xbox"
|
||||||
|
% - "playstation"
|
||||||
|
% - "battlenet"
|
||||||
|
% - "arxiv"
|
||||||
|
% - "inspire"
|
||||||
\collectionnew{socials}
|
\collectionnew{socials}
|
||||||
\NewDocumentCommand{\social}{O{}O{}m}{%
|
\NewDocumentCommand{\social}{O{}O{}m}{%
|
||||||
\ifthenelse{\equal{#2}{}}%
|
\ifthenelse{\equal{#2}{}}%
|
||||||
|
|
@ -286,6 +297,7 @@
|
||||||
\ifthenelse{\equal{#1}{linkedin}} {\collectionadd[linkedin]{socials} {\protect\httpslink[#3]{www.linkedin.com/in/#3}}} {}%
|
\ifthenelse{\equal{#1}{linkedin}} {\collectionadd[linkedin]{socials} {\protect\httpslink[#3]{www.linkedin.com/in/#3}}} {}%
|
||||||
\ifthenelse{\equal{#1}{xing}} {\collectionadd[xing]{socials} {\protect\httpslink[#3]{www.xing.com/profile/#3}}} {}%
|
\ifthenelse{\equal{#1}{xing}} {\collectionadd[xing]{socials} {\protect\httpslink[#3]{www.xing.com/profile/#3}}} {}%
|
||||||
\ifthenelse{\equal{#1}{twitter}} {\collectionadd[twitter]{socials} {\protect\httpslink[#3]{twitter.com/#3}}} {}%
|
\ifthenelse{\equal{#1}{twitter}} {\collectionadd[twitter]{socials} {\protect\httpslink[#3]{twitter.com/#3}}} {}%
|
||||||
|
\ifthenelse{\equal{#1}{mastodon}} {\collectionadd[mastodon]{socials} {\protect\httpslink[#3]{#3}}} {}%
|
||||||
\ifthenelse{\equal{#1}{github}} {\collectionadd[github]{socials} {\protect\httpslink[#3]{github.com/#3}}} {}%
|
\ifthenelse{\equal{#1}{github}} {\collectionadd[github]{socials} {\protect\httpslink[#3]{github.com/#3}}} {}%
|
||||||
\ifthenelse{\equal{#1}{gitlab}} {\collectionadd[gitlab]{socials} {\protect\httpslink[#3]{gitlab.com/#3}}} {}%
|
\ifthenelse{\equal{#1}{gitlab}} {\collectionadd[gitlab]{socials} {\protect\httpslink[#3]{gitlab.com/#3}}} {}%
|
||||||
\ifthenelse{\equal{#1}{stackoverflow}}{\collectionadd[stackoverflow]{socials}{\protect\httpslink[#3]{stackoverflow.com/users/#3}}} {}%
|
\ifthenelse{\equal{#1}{stackoverflow}}{\collectionadd[stackoverflow]{socials}{\protect\httpslink[#3]{stackoverflow.com/users/#3}}} {}%
|
||||||
|
|
@ -298,7 +310,20 @@
|
||||||
\ifthenelse{\equal{#1}{whatsapp}} {\collectionadd[whatsapp]{socials} {\protect\httpslink[#3]{wa.me/#3}}} {}%
|
\ifthenelse{\equal{#1}{whatsapp}} {\collectionadd[whatsapp]{socials} {\protect\httpslink[#3]{wa.me/#3}}} {}%
|
||||||
\ifthenelse{\equal{#1}{signal}} {\collectionadd[signal]{socials} {#3}} {}%
|
\ifthenelse{\equal{#1}{signal}} {\collectionadd[signal]{socials} {#3}} {}%
|
||||||
\ifthenelse{\equal{#1}{matrix}} {\collectionadd[matrix]{socials} {\httpslink[#3]{matrix.to/\#/#3}}} {}%
|
\ifthenelse{\equal{#1}{matrix}} {\collectionadd[matrix]{socials} {\httpslink[#3]{matrix.to/\#/#3}}} {}%
|
||||||
\ifthenelse{\equal{#1}{googlescholar}}{\collectionadd[googlescholar]{socials}{\protect\httpslink[#3]{scholar.google.com/citations?user=#3}}} {}% {}%
|
\ifthenelse{\equal{#1}{googlescholar}}{\collectionadd[googlescholar]{socials}{\protect\httpslink[#3]{scholar.google.com/citations?user=#3}}} {}%
|
||||||
|
\ifthenelse{\equal{#1}{codeberg}} {\collectionadd[codeberg]{socials} {\protect\httpslink[#3]{codeberg.org/#3}}} {}%
|
||||||
|
\ifthenelse{\equal{#1}{discord}} {\collectionadd[discord]{socials} {#3}} {}%
|
||||||
|
\ifthenelse{\equal{#1}{twitch}} {\collectionadd[twitch]{socials} {\protect\httpslink[#3]{twitch.tv/#3}}} {}%
|
||||||
|
\ifthenelse{\equal{#1}{youtube}} {\collectionadd[youtube]{socials} {\protect\httpslink[#3]{youtube.com/#3}}} {}%
|
||||||
|
\ifthenelse{\equal{#1}{tiktok}} {\collectionadd[tiktok]{socials} {\protect\httpslink[#3]{tiktok.com/@#3}}} {}%
|
||||||
|
\ifthenelse{\equal{#1}{instagram}} {\collectionadd[instagram]{socials} {\protect\httpslink[#3]{instagram.com/#3}}} {}%
|
||||||
|
\ifthenelse{\equal{#1}{soundcloud}} {\collectionadd[soundcloud]{socials} {\protect\httpslink[#3]{soundcloud.com/#3}}} {}%
|
||||||
|
\ifthenelse{\equal{#1}{steam}} {\collectionadd[steam]{socials} {\protect\httpslink[#3]{steamcommunity.com/id/#3}}} {}%
|
||||||
|
\ifthenelse{\equal{#1}{xbox}} {\collectionadd[xbox]{socials} {\protect\httpslink[#3]{account.xbox.com/profile?gamertag=#3}}} {}%
|
||||||
|
\ifthenelse{\equal{#1}{playstation}} {\collectionadd[playstation]{socials} {#3}} {}%
|
||||||
|
\ifthenelse{\equal{#1}{battlenet}} {\collectionadd[battlenet]{socials} {#3}} {}%
|
||||||
|
\ifthenelse{\equal{#1}{arxiv}} {\collectionadd[arxiv]{socials} {\protect\httpslink[#3]{arxiv.org/a/#3}}} {}%
|
||||||
|
\ifthenelse{\equal{#1}{inspire}} {\collectionadd[inspire]{socials} {\protect\httpslink[#3]{inspirehep.net/authoris/#3}}} {}%
|
||||||
}
|
}
|
||||||
{\collectionadd[#1]{socials}{\protect\httpslink[#3]{#2}}}}%
|
{\collectionadd[#1]{socials}{\protect\httpslink[#3]{#2}}}}%
|
||||||
|
|
||||||
|
|
@ -339,6 +364,7 @@
|
||||||
\newcommand*{\linkedinsocialsymbol} {}
|
\newcommand*{\linkedinsocialsymbol} {}
|
||||||
\newcommand*{\xingsocialsymbol} {}
|
\newcommand*{\xingsocialsymbol} {}
|
||||||
\newcommand*{\twittersocialsymbol} {}
|
\newcommand*{\twittersocialsymbol} {}
|
||||||
|
\newcommand*{\mastodonsocialsymbol} {}
|
||||||
\newcommand*{\githubsocialsymbol} {}
|
\newcommand*{\githubsocialsymbol} {}
|
||||||
\newcommand*{\gitlabsocialsymbol} {}
|
\newcommand*{\gitlabsocialsymbol} {}
|
||||||
\newcommand*{\stackoverflowsocialsymbol}{}
|
\newcommand*{\stackoverflowsocialsymbol}{}
|
||||||
|
|
@ -352,6 +378,19 @@
|
||||||
\newcommand*{\whatsappsocialsymbol} {}
|
\newcommand*{\whatsappsocialsymbol} {}
|
||||||
\newcommand*{\matrixsocialsymbol} {}
|
\newcommand*{\matrixsocialsymbol} {}
|
||||||
\newcommand*{\signalsocialsymbol} {}
|
\newcommand*{\signalsocialsymbol} {}
|
||||||
|
\newcommand*{\codebergsocialsymbol} {}
|
||||||
|
\newcommand*{\discordsocialsymbol} {}
|
||||||
|
\newcommand*{\twitchsocialsymbol} {}
|
||||||
|
\newcommand*{\youtubesocialsymbol} {}
|
||||||
|
\newcommand*{\tiktoksocialsymbol} {}
|
||||||
|
\newcommand*{\instagramsocialsymbol} {}
|
||||||
|
\newcommand*{\soundcloudsocialsymbol} {}
|
||||||
|
\newcommand*{\steamsocialsymbol} {}
|
||||||
|
\newcommand*{\xboxsocialsymbol} {}
|
||||||
|
\newcommand*{\playstationsocialsymbol} {}
|
||||||
|
\newcommand*{\battlenetsocialsymbol} {}
|
||||||
|
\newcommand*{\arxivsocialsymbol} {}
|
||||||
|
\newcommand*{\inspiresocialsymbol} {}
|
||||||
|
|
||||||
% other
|
% other
|
||||||
%------
|
%------
|
||||||
|
|
@ -498,6 +537,8 @@
|
||||||
|
|
||||||
% styles
|
% styles
|
||||||
\newcommand*{\namestyle}[1]{{\namefont#1}}
|
\newcommand*{\namestyle}[1]{{\namefont#1}}
|
||||||
|
\NewDocumentCommand{\firstnamestyle}{+m}{{\namefont#1}}
|
||||||
|
\NewDocumentCommand{\lastnamestyle}{+m}{{\namefont#1}}
|
||||||
\newcommand*{\titlestyle}[1]{{\titlefont#1}}
|
\newcommand*{\titlestyle}[1]{{\titlefont#1}}
|
||||||
\newcommand*{\addressstyle}[1]{{\addressfont#1}}
|
\newcommand*{\addressstyle}[1]{{\addressfont#1}}
|
||||||
\newcommand*{\quotestyle}[1]{{\quotefont#1}}
|
\newcommand*{\quotestyle}[1]{{\quotefont#1}}
|
||||||
|
|
@ -549,12 +590,16 @@
|
||||||
% usage: \cvdoubleitem[spacing]{header1}{text1}{header2}{text2}
|
% usage: \cvdoubleitem[spacing]{header1}{text1}{header2}{text2}
|
||||||
\newcommand*{\cvdoubleitem}[5][.25em]{}
|
\newcommand*{\cvdoubleitem}[5][.25em]{}
|
||||||
|
|
||||||
|
% makes a resume line 3 headers and their corresponding text
|
||||||
|
% usage: \cvtripleitem[spacing]{header1}{text1}{header2}{text2}{header3}{text3}
|
||||||
|
\newcommand*{\cvtripleitem}[7][.1em]{}
|
||||||
|
|
||||||
% makes a resume line with a list item
|
% makes a resume line with a list item
|
||||||
% usage: \cvlistitem[label]{item}
|
% usage: \cvlistitem[spacing]{item}
|
||||||
\newcommand*{\cvlistitem}[2][\listitemsymbol]{}
|
\newcommand*{\cvlistitem}[2][\listitemsymbol]{}
|
||||||
|
|
||||||
% makes a resume line with 2 list items
|
% makes a resume line with 2 list items
|
||||||
% usage: \cvlistdoubleitem[label]{item1}{item2}
|
% usage: \cvlistdoubleitem[spacing]{item1}{item2}
|
||||||
\newcommand*{\cvlistdoubleitem}[3][\listitemsymbol]{}
|
\newcommand*{\cvlistdoubleitem}[3][\listitemsymbol]{}
|
||||||
|
|
||||||
% makes a typical resume job / education entry
|
% makes a typical resume job / education entry
|
||||||
|
|
@ -567,32 +612,46 @@
|
||||||
|
|
||||||
% makes a generic hyperlink
|
% makes a generic hyperlink
|
||||||
% usage: \link[optional text]{link}
|
% usage: \link[optional text]{link}
|
||||||
\newcommand*{\link}[2][]{%
|
% uses pdfmanagement-testphase when available, which provides url encoding of special characters
|
||||||
|
\NewDocumentCommand{\link}{O{}m}{%
|
||||||
|
\IfPDFManagementActiveTF{%
|
||||||
|
\ifthenelse{\equal{#1}{}}%
|
||||||
|
{\hrefurl[urlencode]{#2}{#2}}%
|
||||||
|
{\hrefurl[urlencode]{#2}{#1}}}{%
|
||||||
\ifthenelse{\equal{#1}{}}%
|
\ifthenelse{\equal{#1}{}}%
|
||||||
{\href{#2}{#2}}%
|
{\href{#2}{#2}}%
|
||||||
{\href{#2}{\detokenize{#1}}}}
|
{\href{#2}{#1}}}}
|
||||||
|
|
||||||
% makes a http hyperlink
|
% makes a http hyperlink
|
||||||
% usage: \httplink[optional text]{link}
|
% usage: \httplink[optional text]{link}
|
||||||
\newcommand*{\httplink}[2][]{%
|
% uses pdfmanagement-testphase when available, which provides url encoding of special characters
|
||||||
|
\NewDocumentCommand{\httplink}{O{}m}{%
|
||||||
|
\IfPDFManagementActiveTF{%
|
||||||
|
\ifthenelse{\equal{#1}{}}%
|
||||||
|
{\hrefurl[urlencode]{http://#2}{#2}}%
|
||||||
|
{\hrefurl[urlencode]{http://#2}{#1}}}{%
|
||||||
\ifthenelse{\equal{#1}{}}%
|
\ifthenelse{\equal{#1}{}}%
|
||||||
{\href{http://#2}{#2}}%
|
{\href{http://#2}{#2}}%
|
||||||
{\href{http://#2}{\detokenize{#1}}}}
|
{\href{http://#2}{#1}}}}
|
||||||
|
|
||||||
|
|
||||||
% makes an https hyperlink
|
% makes an https hyperlink
|
||||||
% usage: \httpslink[optional text]{link}
|
% usage: \httpslink[optional text]{link}
|
||||||
\newcommand*{\httpslink}[2][]{%
|
% uses pdfmanagement-testphase when available, which provides url encoding of special characters
|
||||||
|
\NewDocumentCommand{\httpslink}{O{}m}{%
|
||||||
|
\IfPDFManagementActiveTF{%
|
||||||
|
\ifthenelse{\equal{#1}{}}%
|
||||||
|
{\hrefurl[urlencode]{https://#2}{#2}}%
|
||||||
|
{\hrefurl[urlencode]{https://#2}{#1}}}{%
|
||||||
\ifthenelse{\equal{#1}{}}%
|
\ifthenelse{\equal{#1}{}}%
|
||||||
{\href{https://#2}{#2}}%
|
{\href{https://#2}{#2}}%
|
||||||
{\href{https://#2}{\detokenize{#1}}}}
|
{\href{https://#2}{#1}}}}
|
||||||
|
|
||||||
% makes an email hyperlink
|
% makes an email hyperlink
|
||||||
% usage: \emaillink[optional text]{link}
|
% usage: \emaillink[optional text]{link}
|
||||||
\newcommand*{\emaillink}[2][]{%
|
\newcommand*{\emaillink}[2][]{%
|
||||||
\ifthenelse{\equal{#1}{}}%
|
\ifthenelse{\equal{#1}{}}%
|
||||||
{\href{mailto:#2}{#2}}%
|
{\href{mailto:#2}{#2}}%
|
||||||
{\href{mailto:#2}{\detokenize{#1}}}}
|
{\href{mailto:#2}{#1}}}
|
||||||
|
|
||||||
% makes a tel hyperlink
|
% makes a tel hyperlink
|
||||||
% usage: \tellink[optional text]{link}
|
% usage: \tellink[optional text]{link}
|
||||||
|
|
@ -769,8 +828,10 @@
|
||||||
% elements
|
% elements
|
||||||
\newcommand*{\recipient}[2]{\def\@recipientname{#1}\def\@recipientaddress{#2}}
|
\newcommand*{\recipient}[2]{\def\@recipientname{#1}\def\@recipientaddress{#2}}
|
||||||
\renewcommand*{\date}[1]{\def\@date{#1}}\date{\today}
|
\renewcommand*{\date}[1]{\def\@date{#1}}\date{\today}
|
||||||
|
\newcommand*{\subject}[1]{\def\@subject{#1}}
|
||||||
\newcommand*{\opening}[1]{\def\@opening{#1}}
|
\newcommand*{\opening}[1]{\def\@opening{#1}}
|
||||||
\newcommand*{\closing}[1]{\def\@closing{#1}}
|
\newcommand*{\closing}[1]{\def\@closing{#1}}
|
||||||
|
\newcommand*{\signature}[2]{\def\@signature{\includegraphics[scale=#1]{#2}}}
|
||||||
\newcommand*{\enclosure}[2][]{%
|
\newcommand*{\enclosure}[2][]{%
|
||||||
% if an optional argument is provided, use it to redefine \enclname
|
% if an optional argument is provided, use it to redefine \enclname
|
||||||
\ifthenelse{\equal{#1}{}}{}{\renewcommand*{\enclname}{#1}}%
|
\ifthenelse{\equal{#1}{}}{}{\renewcommand*{\enclname}{#1}}%
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
%% start of file `moderncvbodyi.sty'.
|
%% start of file `moderncvbodyi.sty'.
|
||||||
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
|
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
|
||||||
%
|
%
|
||||||
% This work may be distributed and/or modified under the
|
% This work may be distributed and/or modified under the
|
||||||
% conditions of the LaTeX Project Public License version 1.3c,
|
% conditions of the LaTeX Project Public License version 1.3c,
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
% identification
|
% identification
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
\NeedsTeXFormat{LaTeX2e}
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
\ProvidesPackage{moderncvbodyi}[2021/01/21 v2.1.0 modern curriculum vitae and letter body variant: 1]
|
\ProvidesPackage{moderncvbodyi}[2024-07-18 v2.4.1 modern curriculum vitae and letter body variant: 1]
|
||||||
|
|
||||||
|
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
|
|
@ -29,9 +29,9 @@
|
||||||
\renewcommand*{\hintfont}{}
|
\renewcommand*{\hintfont}{}
|
||||||
|
|
||||||
% styles
|
% styles
|
||||||
\renewcommand*{\sectionstyle}[1]{{\sectionfont\textcolor{color1}{#1}}}
|
\renewcommand*{\sectionstyle}[1]{{\sectionfont\textcolor{sectioncolor}{#1}}}
|
||||||
\renewcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{color1}{#1}}}
|
\renewcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{subsectioncolor}{#1}}}
|
||||||
\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{color0}{#1}}}
|
\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{hintstylecolor}{#1}}}
|
||||||
|
|
||||||
|
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
|
|
@ -44,11 +44,14 @@
|
||||||
\@initializelength{\maincolumnwidth}
|
\@initializelength{\maincolumnwidth}
|
||||||
% used by \cvdoubleitem
|
% used by \cvdoubleitem
|
||||||
\@initializelength{\doubleitemcolumnwidth}
|
\@initializelength{\doubleitemcolumnwidth}
|
||||||
|
% used by \cvtripleitem
|
||||||
|
\@initializelength{\tripleitemcolumnwidth}
|
||||||
% used by \cvlistitem
|
% used by \cvlistitem
|
||||||
\@initializelength{\listitemsymbolwidth} \settowidth{\listitemsymbolwidth}{\listitemsymbol}
|
\@initializelength{\listitemsymbolwidth} \settowidth{\listitemsymbolwidth}{\listitemsymbol}
|
||||||
\@initializelength{\listitemcolumnwidth}
|
\@initializelength{\listitemcolumnwidth}
|
||||||
% used by \cvlistdoubleitem
|
% used by \cvlistdoubleitem
|
||||||
\@initializelength{\listdoubleitemcolumnwidth}
|
\@initializelength{\listdoubleitemcolumnwidth}
|
||||||
|
\@initializelength{\listitemsymbolspace} \setlength{\listitemsymbolspace}{0pt}
|
||||||
% default moderncv \photo (change the definition such that by default the photo and its box align with the section bars
|
% default moderncv \photo (change the definition such that by default the photo and its box align with the section bars
|
||||||
\RenewDocumentCommand{\photo}{O{\hintscolumnwidth-0.8pt-2\fboxsep}O{0.4pt}m}{\def\@photowidth{#1}\def\@photoframewidth{#2}\def\@photo{#3}}%
|
\RenewDocumentCommand{\photo}{O{\hintscolumnwidth-0.8pt-2\fboxsep}O{0.4pt}m}{\def\@photowidth{#1}\def\@photoframewidth{#2}\def\@photo{#3}}%
|
||||||
|
|
||||||
|
|
@ -59,6 +62,8 @@
|
||||||
\setlength{\listitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth}%
|
\setlength{\listitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth}%
|
||||||
\setlength{\doubleitemcolumnwidth}{\maincolumnwidth-\hintscolumnwidth-\separatorcolumnwidth-\separatorcolumnwidth}%
|
\setlength{\doubleitemcolumnwidth}{\maincolumnwidth-\hintscolumnwidth-\separatorcolumnwidth-\separatorcolumnwidth}%
|
||||||
\setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}%
|
\setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}%
|
||||||
|
\setlength{\tripleitemcolumnwidth}{\maincolumnwidth-2\hintscolumnwidth-3\separatorcolumnwidth}%
|
||||||
|
\setlength{\tripleitemcolumnwidth}{0.33\tripleitemcolumnwidth}%
|
||||||
\setlength{\listdoubleitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}%
|
\setlength{\listdoubleitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}%
|
||||||
\setlength{\listdoubleitemcolumnwidth}{0.5\listdoubleitemcolumnwidth}%
|
\setlength{\listdoubleitemcolumnwidth}{0.5\listdoubleitemcolumnwidth}%
|
||||||
\recompute@cvskillmatrix@lengths
|
\recompute@cvskillmatrix@lengths
|
||||||
|
|
@ -83,7 +88,7 @@
|
||||||
\par\addvspace{2.5ex}%
|
\par\addvspace{2.5ex}%
|
||||||
\phantomsection{}% reset the anchor for hyperrefs
|
\phantomsection{}% reset the anchor for hyperrefs
|
||||||
\addcontentsline{toc}{section}{#2}%
|
\addcontentsline{toc}{section}{#2}%
|
||||||
\cvitem[0ex]{\strut\raggedleft\raisebox{\baseletterheight}{\color{color1}\rule{\hintscolumnwidth}{0.95ex}}}{\strut\sectionstyle{#2}}%
|
\cvitem[0ex]{\strut\raggedleft\raisebox{\baseletterheight}{\color{bodyrulecolor}\rule{\hintscolumnwidth}{0.95ex}}}{\strut\sectionstyle{#2}}%
|
||||||
\par\nobreak\addvspace{1ex}\@afterheading}% to avoid a pagebreak after the heading
|
\par\nobreak\addvspace{1ex}\@afterheading}% to avoid a pagebreak after the heading
|
||||||
|
|
||||||
\RenewDocumentCommand{\subsection}{sm}{%
|
\RenewDocumentCommand{\subsection}{sm}{%
|
||||||
|
|
@ -108,15 +113,28 @@
|
||||||
\hspace*{\separatorcolumnwidth}%
|
\hspace*{\separatorcolumnwidth}%
|
||||||
\begin{minipage}[t]{\doubleitemcolumnwidth}#5\end{minipage}}}
|
\begin{minipage}[t]{\doubleitemcolumnwidth}#5\end{minipage}}}
|
||||||
|
|
||||||
|
\renewcommand*{\cvtripleitem}[7][.1em]{%
|
||||||
|
\cvitem[#1]{#2}{%
|
||||||
|
\begin{minipage}[t]{\tripleitemcolumnwidth}#3\end{minipage}%
|
||||||
|
\hfill% fill of \separatorcolumnwidth
|
||||||
|
\begin{minipage}[t]{\hintscolumnwidth}\raggedleft\hintstyle{#4}\end{minipage}%
|
||||||
|
\hspace*{\separatorcolumnwidth}%
|
||||||
|
\begin{minipage}[t]{\tripleitemcolumnwidth}#5\end{minipage}%
|
||||||
|
\hspace*{\separatorcolumnwidth}%
|
||||||
|
\begin{minipage}[t]{\hintscolumnwidth}\raggedleft\hintstyle{#6}\end{minipage}%
|
||||||
|
\hspace*{\separatorcolumnwidth}%
|
||||||
|
\begin{minipage}[t]{\tripleitemcolumnwidth}#7\end{minipage}}}
|
||||||
|
|
||||||
|
|
||||||
\renewcommand*{\cvlistitem}[2][.25em]{%
|
\renewcommand*{\cvlistitem}[2][.25em]{%
|
||||||
\cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listitemcolumnwidth}#2\end{minipage}}}
|
\cvitem[#1]{}{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listitemcolumnwidth-\listitemsymbolspace}#2\end{minipage}}}
|
||||||
|
|
||||||
\renewcommand*{\cvlistdoubleitem}[3][.25em]{%
|
\renewcommand*{\cvlistdoubleitem}[3][.25em]{%
|
||||||
\cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listdoubleitemcolumnwidth}#2\end{minipage}%
|
\cvitem[#1]{}{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listdoubleitemcolumnwidth-\listitemsymbolspace}#2\end{minipage}%
|
||||||
\hfill% fill of \separatorcolumnwidth
|
\hfill% fill of \separatorcolumnwidth
|
||||||
\ifthenelse{\equal{#3}{}}%
|
\ifthenelse{\equal{#3}{}}%
|
||||||
{}%
|
{}%
|
||||||
{\listitemsymbol\begin{minipage}[t]{\listdoubleitemcolumnwidth}#3\end{minipage}}}}
|
{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listdoubleitemcolumnwidth-\listitemsymbolspace}#3\end{minipage}}}}
|
||||||
|
|
||||||
\renewcommand*{\cventry}[7][.25em]{%
|
\renewcommand*{\cventry}[7][.25em]{%
|
||||||
\cvitem[#1]{#2}{%
|
\cvitem[#1]{#2}{%
|
||||||
|
|
@ -124,7 +142,7 @@
|
||||||
\ifthenelse{\equal{#4}{}}{}{, {\slshape#4}}%
|
\ifthenelse{\equal{#4}{}}{}{, {\slshape#4}}%
|
||||||
\ifthenelse{\equal{#5}{}}{}{, #5}%
|
\ifthenelse{\equal{#5}{}}{}{, #5}%
|
||||||
\ifthenelse{\equal{#6}{}}{}{, #6}%
|
\ifthenelse{\equal{#6}{}}{}{, #6}%
|
||||||
.\strut%
|
\strut%
|
||||||
\ifx&%
|
\ifx&%
|
||||||
\else{\newline{}\begin{minipage}[t]{\linewidth}\small#7\end{minipage}}\fi}}
|
\else{\newline{}\begin{minipage}[t]{\linewidth}\small#7\end{minipage}}\fi}}
|
||||||
|
|
||||||
|
|
@ -173,13 +191,14 @@
|
||||||
\recomputecvlengths%
|
\recomputecvlengths%
|
||||||
\setlength{\parskip}{6\p@}}
|
\setlength{\parskip}{6\p@}}
|
||||||
|
|
||||||
\renewcommand*{\makeletterclosing}{
|
\renewcommand*{\makeletterclosing}{%
|
||||||
\@closing\\[3em]%
|
\@closing\ifthenelse{\isundefined{\@signature}}{\\[3em]}{\\[1em]}% shrink space when signature is set
|
||||||
|
\ifthenelse{\isundefined{\@signature}}{}{{\@signature\\}}
|
||||||
{\bfseries\@firstname~\@lastname}%
|
{\bfseries\@firstname~\@lastname}%
|
||||||
\ifthenelse{\isundefined{\@enclosure}}{}{%
|
\ifthenelse{\isundefined{\@enclosure}}{}{%
|
||||||
\\%
|
\\%
|
||||||
\vfil%
|
\vfil%
|
||||||
{\color{color2}\itshape\enclname: \@enclosure}}%
|
{\color{letterclosingcolor}\itshape\enclname: \@enclosure}}%
|
||||||
\vfil}
|
\vfil}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
%% start of file `moderncvbodyiii.sty'.
|
%% start of file `moderncvbodyiii.sty'.
|
||||||
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
|
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
|
||||||
%
|
%
|
||||||
% This work may be distributed and/or modified under the
|
% This work may be distributed and/or modified under the
|
||||||
% conditions of the LaTeX Project Public License version 1.3c,
|
% conditions of the LaTeX Project Public License version 1.3c,
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
% identification
|
% identification
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
\NeedsTeXFormat{LaTeX2e}
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
\ProvidesPackage{moderncvbodyiii}[2021/01/21 v2.1.0 modern curriculum vitae and letter body variant: 3]
|
\ProvidesPackage{moderncvbodyiii}[2024-07-18 v2.4.1 modern curriculum vitae and letter body variant: 3]
|
||||||
|
|
||||||
% rules type options: "fullrules", "shortrules", "mixedrules" (default) or "norules"
|
% rules type options: "fullrules", "shortrules", "mixedrules" (default) or "norules"
|
||||||
\@initializeif{\if@fullrules}\@fullrulesfalse
|
\@initializeif{\if@fullrules}\@fullrulesfalse
|
||||||
|
|
@ -61,16 +61,16 @@
|
||||||
\renewcommand*{\sectionstyle}[1]{{%
|
\renewcommand*{\sectionstyle}[1]{{%
|
||||||
\if@center\centering\else%
|
\if@center\centering\else%
|
||||||
\if@right\raggedleft\fi\fi%
|
\if@right\raggedleft\fi\fi%
|
||||||
\sectionfont\textcolor{color1}{#1}%
|
\sectionfont\textcolor{sectioncolor}{#1}%
|
||||||
\if@shortrules\else%
|
\if@shortrules\else%
|
||||||
\par\fi}}
|
\par\fi}}
|
||||||
\renewcommand*{\subsectionstyle}[1]{{%
|
\renewcommand*{\subsectionstyle}[1]{{%
|
||||||
\if@center\centering\else%
|
\if@center\centering\else%
|
||||||
\if@right\raggedleft\fi\fi%
|
\if@right\raggedleft\fi\fi%
|
||||||
\subsectionfont\textcolor{color1}{#1}%
|
\subsectionfont\textcolor{subsectioncolor}{#1}%
|
||||||
\if@shortrules\else\if@mixedrules\else%
|
\if@shortrules\else\if@mixedrules\else%
|
||||||
\par\fi\fi}}
|
\par\fi\fi}}
|
||||||
\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{color0}{#1}}}
|
\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{hintstylecolor}{#1}}}
|
||||||
|
|
||||||
|
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
|
|
@ -83,11 +83,14 @@
|
||||||
\@initializelength{\maincolumnwidth}
|
\@initializelength{\maincolumnwidth}
|
||||||
% used by \cvdoubleitem
|
% used by \cvdoubleitem
|
||||||
\@initializelength{\doubleitemcolumnwidth}
|
\@initializelength{\doubleitemcolumnwidth}
|
||||||
|
% used by \cvtripleitem
|
||||||
|
\@initializelength{\tripleitemcolumnwidth}
|
||||||
% used by \cvlistitem
|
% used by \cvlistitem
|
||||||
\@initializelength{\listitemsymbolwidth} \settowidth{\listitemsymbolwidth}{\listitemsymbol}
|
\@initializelength{\listitemsymbolwidth} \settowidth{\listitemsymbolwidth}{\listitemsymbol}
|
||||||
\@initializelength{\listitemcolumnwidth}
|
\@initializelength{\listitemcolumnwidth}
|
||||||
% used by \cvlistdoubleitem
|
% used by \cvlistdoubleitem
|
||||||
\@initializelength{\listdoubleitemcolumnwidth}
|
\@initializelength{\listdoubleitemcolumnwidth}
|
||||||
|
\@initializelength{\listitemsymbolspace} \setlength{\listitemsymbolspace}{0pt}
|
||||||
|
|
||||||
% commands
|
% commands
|
||||||
\renewcommand*{\recomputecvbodylengths}{%
|
\renewcommand*{\recomputecvbodylengths}{%
|
||||||
|
|
@ -96,6 +99,8 @@
|
||||||
\setlength{\listitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth}%
|
\setlength{\listitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth}%
|
||||||
\setlength{\doubleitemcolumnwidth}{\maincolumnwidth-\separatorcolumnwidth}%
|
\setlength{\doubleitemcolumnwidth}{\maincolumnwidth-\separatorcolumnwidth}%
|
||||||
\setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}%
|
\setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}%
|
||||||
|
\setlength{\tripleitemcolumnwidth}{\maincolumnwidth-2\separatorcolumnwidth}%
|
||||||
|
\setlength{\tripleitemcolumnwidth}{0.33\tripleitemcolumnwidth}%
|
||||||
\setlength{\listdoubleitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}%
|
\setlength{\listdoubleitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}%
|
||||||
\setlength{\listdoubleitemcolumnwidth}{0.5\listdoubleitemcolumnwidth}%
|
\setlength{\listdoubleitemcolumnwidth}{0.5\listdoubleitemcolumnwidth}%
|
||||||
\recompute@cvskillmatrix@lengths
|
\recompute@cvskillmatrix@lengths
|
||||||
|
|
@ -143,14 +148,14 @@
|
||||||
\newcommand*{\sectionrule}{}
|
\newcommand*{\sectionrule}{}
|
||||||
\newcommand*{\subsectionrule}{}
|
\newcommand*{\subsectionrule}{}
|
||||||
\if@fullrules%
|
\if@fullrules%
|
||||||
\renewcommand*{\sectionrule}{\par\nobreak\vspace*{-.7\baselineskip}\leavevmode{\color{color1}\leaders\hbox{\rule{1pt}{0.4pt}}\hfill\kern0pt}}
|
\renewcommand*{\sectionrule}{\par\nobreak\vspace*{-.7\baselineskip}\leavevmode{\color{bodyrulecolor}\leaders\hbox{\rule{1pt}{0.4pt}}\hfill\kern0pt}}
|
||||||
\renewcommand*{\subsectionrule}{\par\nobreak\vspace*{-.7\baselineskip}\leavevmode{\color{color1}\xleaders\hbox to 0.35em{\scriptsize.}\hfill}}\fi% different subsectionrules will not be perfectly aligned, but remaining space at the end of the fill will be distributed evenly between leaders, so it will be barely visible}
|
\renewcommand*{\subsectionrule}{\par\nobreak\vspace*{-.7\baselineskip}\leavevmode{\color{bodyrulecolor}\xleaders\hbox to 0.35em{\scriptsize.}\hfill}}\fi% different subsectionrules will not be perfectly aligned, but remaining space at the end of the fill will be distributed evenly between leaders, so it will be barely visible}
|
||||||
\if@shortrules%
|
\if@shortrules%
|
||||||
\renewcommand*{\sectionrule}{\leavevmode{\color{color1}\leaders\hbox{\rule{1pt}{0.4pt}}\hfill\kern0pt}}
|
\renewcommand*{\sectionrule}{\leavevmode{\color{bodyrulecolor}\leaders\hbox{\rule{1pt}{0.4pt}}\hfill\kern0pt}}
|
||||||
\renewcommand*{\subsectionrule}{\leavevmode{\color{color1}\xleaders\hbox to 0.35em{\scriptsize.}\hfill}}\fi% different subsectionrules will not be perfectly aligned, but remaining space at the end of the fill will be distributed evenly between leaders, so it will be barely visible}}
|
\renewcommand*{\subsectionrule}{\leavevmode{\color{bodyrulecolor}\xleaders\hbox to 0.35em{\scriptsize.}\hfill}}\fi% different subsectionrules will not be perfectly aligned, but remaining space at the end of the fill will be distributed evenly between leaders, so it will be barely visible}}
|
||||||
\if@mixedrules%
|
\if@mixedrules%
|
||||||
\renewcommand*{\sectionrule}{\par\nobreak\vspace*{-.7\baselineskip}\leavevmode{\color{color1}\leaders\hbox{\rule{1pt}{0.4pt}}\hfill\kern0pt}}
|
\renewcommand*{\sectionrule}{\par\nobreak\vspace*{-.7\baselineskip}\leavevmode{\color{bodyrulecolor}\leaders\hbox{\rule{1pt}{0.4pt}}\hfill\kern0pt}}
|
||||||
\renewcommand*{\subsectionrule}{\leavevmode{\color{color1}\xleaders\hbox to 0.35em{\scriptsize.}\hfill}}\fi% different subsectionrules will not be perfectly aligned, but remaining space at the end of the fill will be distributed evenly between leaders, so it will be barely visible}}
|
\renewcommand*{\subsectionrule}{\leavevmode{\color{bodyrulecolor}\xleaders\hbox to 0.35em{\scriptsize.}\hfill}}\fi% different subsectionrules will not be perfectly aligned, but remaining space at the end of the fill will be distributed evenly between leaders, so it will be barely visible}}
|
||||||
\if@norules%
|
\if@norules%
|
||||||
\renewcommand*{\sectionrule}{}
|
\renewcommand*{\sectionrule}{}
|
||||||
\renewcommand*{\subsectionrule}{}\fi
|
\renewcommand*{\subsectionrule}{}\fi
|
||||||
|
|
@ -165,16 +170,24 @@
|
||||||
\begin{minipage}[t]{\doubleitemcolumnwidth}\ifstrempty{#4}{}{\hintstyle{#4}: }#5\end{minipage}%
|
\begin{minipage}[t]{\doubleitemcolumnwidth}\ifstrempty{#4}{}{\hintstyle{#4}: }#5\end{minipage}%
|
||||||
\par\addvspace{#1}}
|
\par\addvspace{#1}}
|
||||||
|
|
||||||
|
\renewcommand*{\cvtripleitem}[7][.1em]{%
|
||||||
|
\begin{minipage}[t]{\tripleitemcolumnwidth}\hintstyle{#2}: #3\end{minipage}%
|
||||||
|
\hfill% fill of \separatorcolumnwidth
|
||||||
|
\begin{minipage}[t]{\tripleitemcolumnwidth}\hintstyle{#4}: #5\end{minipage}%
|
||||||
|
\hfill% fill of \separatorcolumnwidth
|
||||||
|
\begin{minipage}[t]{\tripleitemcolumnwidth}\ifstrempty{#6}{}{\hintstyle{#6}: }#7\end{minipage}%
|
||||||
|
\par\addvspace{#1}}
|
||||||
|
|
||||||
\renewcommand*{\cvlistitem}[2][.25em]{%
|
\renewcommand*{\cvlistitem}[2][.25em]{%
|
||||||
\listitemsymbol\begin{minipage}[t]{\listitemcolumnwidth}#2\end{minipage}%
|
\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listitemcolumnwidth-\listitemsymbolspace}#2\end{minipage}%
|
||||||
\par\addvspace{#1}}
|
\par\addvspace{#1}}
|
||||||
|
|
||||||
\renewcommand*{\cvlistdoubleitem}[3][.25em]{%
|
\renewcommand*{\cvlistdoubleitem}[3][.25em]{%
|
||||||
\cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listdoubleitemcolumnwidth}#2\end{minipage}%
|
\cvitem[#1]{}{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listdoubleitemcolumnwidth-\listitemsymbolspace}#2\end{minipage}%
|
||||||
\hfill% fill of \separatorcolumnwidth
|
\hfill% fill of \separatorcolumnwidth
|
||||||
\ifstrempty{#3}%
|
\ifstrempty{#3}%
|
||||||
{}%
|
{}%
|
||||||
{\listitemsymbol\begin{minipage}[t]{\listdoubleitemcolumnwidth}#3\end{minipage}}}}
|
{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listdoubleitemcolumnwidth-\listitemsymbolspace}#3\end{minipage}}}}
|
||||||
|
|
||||||
\renewcommand*{\cventry}[7][.25em]{
|
\renewcommand*{\cventry}[7][.25em]{
|
||||||
\begin{tabular*}{\maincolumnwidth}{l@{\extracolsep{\fill}}r}%
|
\begin{tabular*}{\maincolumnwidth}{l@{\extracolsep{\fill}}r}%
|
||||||
|
|
@ -241,13 +254,14 @@
|
||||||
\recomputecvbodylengths%
|
\recomputecvbodylengths%
|
||||||
\setlength{\parskip}{6\p@}}
|
\setlength{\parskip}{6\p@}}
|
||||||
|
|
||||||
\renewcommand*{\makeletterclosing}{
|
\renewcommand*{\makeletterclosing}{%
|
||||||
\@closing\\[3em]%
|
\@closing\ifthenelse{\isundefined{\@signature}}{\\[3em]}{\\[1em]}% shrink space when signature is set
|
||||||
|
\ifthenelse{\isundefined{\@signature}}{}{{\@signature\\}}
|
||||||
{\bfseries\@firstname~\@lastname}%
|
{\bfseries\@firstname~\@lastname}%
|
||||||
\ifthenelse{\isundefined{\@enclosure}}{}{%
|
\ifthenelse{\isundefined{\@enclosure}}{}{%
|
||||||
\\%
|
\\%
|
||||||
\vfil%
|
\vfil%
|
||||||
{\color{color2}\itshape\enclname: \@enclosure}}%
|
{\color{letterclosingcolor}\itshape\enclname: \@enclosure}}%
|
||||||
\vfil}
|
\vfil}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
%% start of file `moderncvbodyiv.sty'.
|
%% start of file `moderncvbodyiv.sty'.
|
||||||
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
|
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
|
||||||
%
|
%
|
||||||
% This work may be distributed and/or modified under the
|
% This work may be distributed and/or modified under the
|
||||||
% conditions of the LaTeX Project Public License version 1.3c,
|
% conditions of the LaTeX Project Public License version 1.3c,
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
% identification
|
% identification
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
\NeedsTeXFormat{LaTeX2e}
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
\ProvidesPackage{moderncvbodyiv}[2021/01/21 v2.1.0 modern curriculum vitae and letter body variant: 4]
|
\ProvidesPackage{moderncvbodyiv}[2024-07-18 v2.4.1 modern curriculum vitae and letter body variant: 4]
|
||||||
|
|
||||||
|
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
|
|
@ -29,9 +29,9 @@
|
||||||
\renewcommand*{\hintfont}{\bfseries}
|
\renewcommand*{\hintfont}{\bfseries}
|
||||||
|
|
||||||
% styles
|
% styles
|
||||||
\renewcommand*{\sectionstyle}[1]{{\sectionfont\textcolor{color1}{#1}}}
|
\renewcommand*{\sectionstyle}[1]{{\sectionfont\textcolor{sectioncolor}{#1}}}
|
||||||
\renewcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{color1}{#1}}}
|
\renewcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{subsectioncolor}{#1}}}
|
||||||
\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{color0}{#1}}}
|
\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{hintstylecolor}{#1}}}
|
||||||
|
|
||||||
|
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
|
|
@ -49,6 +49,10 @@
|
||||||
\@initializelength{\listitemcolumnwidth}
|
\@initializelength{\listitemcolumnwidth}
|
||||||
% used by \cvlistdoubleitem
|
% used by \cvlistdoubleitem
|
||||||
\@initializelength{\listdoubleitemcolumnwidth}
|
\@initializelength{\listdoubleitemcolumnwidth}
|
||||||
|
% used by \cvtripleitem
|
||||||
|
\@initializelength{\tripleitemcolumnwidth}
|
||||||
|
\@initializelength{\listitemsymbolspace} \setlength{\listitemsymbolspace}{0pt}
|
||||||
|
|
||||||
|
|
||||||
% commands
|
% commands
|
||||||
\renewcommand*{\recomputecvbodylengths}{%
|
\renewcommand*{\recomputecvbodylengths}{%
|
||||||
|
|
@ -57,6 +61,8 @@
|
||||||
\setlength{\listitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth}%
|
\setlength{\listitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth}%
|
||||||
\setlength{\doubleitemcolumnwidth}{\maincolumnwidth-\separatorcolumnwidth}%
|
\setlength{\doubleitemcolumnwidth}{\maincolumnwidth-\separatorcolumnwidth}%
|
||||||
\setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}%
|
\setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}%
|
||||||
|
\setlength{\tripleitemcolumnwidth}{\maincolumnwidth-2\separatorcolumnwidth}%
|
||||||
|
\setlength{\tripleitemcolumnwidth}{0.33\tripleitemcolumnwidth}%
|
||||||
\setlength{\listdoubleitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}%
|
\setlength{\listdoubleitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}%
|
||||||
\setlength{\listdoubleitemcolumnwidth}{0.5\listdoubleitemcolumnwidth}%
|
\setlength{\listdoubleitemcolumnwidth}{0.5\listdoubleitemcolumnwidth}%
|
||||||
\recompute@cvskillmatrix@lengths
|
\recompute@cvskillmatrix@lengths
|
||||||
|
|
@ -97,15 +103,23 @@
|
||||||
\begin{minipage}[t]{\doubleitemcolumnwidth}\ifthenelse{\equal{#4}{}}{}{\hintstyle{#4}: }#5\end{minipage}%
|
\begin{minipage}[t]{\doubleitemcolumnwidth}\ifthenelse{\equal{#4}{}}{}{\hintstyle{#4}: }#5\end{minipage}%
|
||||||
\par\addvspace{#1}}
|
\par\addvspace{#1}}
|
||||||
|
|
||||||
|
\renewcommand*{\cvtripleitem}[7][.1em]{%
|
||||||
|
\begin{minipage}[t]{\tripleitemcolumnwidth}\hintstyle{#2}: #3\end{minipage}%
|
||||||
|
\hfill% fill of \separatorcolumnwidth
|
||||||
|
\begin{minipage}[t]{\tripleitemcolumnwidth}\hintstyle{#4}: #5\end{minipage}%
|
||||||
|
\hfill% fill of \separatorcolumnwidth
|
||||||
|
\begin{minipage}[t]{\tripleitemcolumnwidth}\ifthenelse{\equal{#6}{}}{}{\hintstyle{#6}: }#7\end{minipage}%
|
||||||
|
\par\addvspace{#1}}
|
||||||
|
|
||||||
\renewcommand*{\cvlistitem}[2][.25em]{%
|
\renewcommand*{\cvlistitem}[2][.25em]{%
|
||||||
\cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listitemcolumnwidth}#2\end{minipage}}}
|
\cvitem[#1]{}{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listitemcolumnwidth-\listitemsymbolspace}#2\end{minipage}}}
|
||||||
|
|
||||||
\renewcommand*{\cvlistdoubleitem}[3][.25em]{%
|
\renewcommand*{\cvlistdoubleitem}[3][.25em]{%
|
||||||
\cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listdoubleitemcolumnwidth}#2\end{minipage}%
|
\cvitem[#1]{}{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listdoubleitemcolumnwidth-\listitemsymbolspace}#2\end{minipage}%
|
||||||
\hfill% fill of \separatorcolumnwidth
|
\hfill% fill of \separatorcolumnwidth
|
||||||
\ifthenelse{\equal{#3}{}}%
|
\ifthenelse{\equal{#3}{}}%
|
||||||
{}%
|
{}%
|
||||||
{\listitemsymbol\begin{minipage}[t]{\listdoubleitemcolumnwidth}#3\end{minipage}}}}
|
{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listdoubleitemcolumnwidth-\listitemsymbolspace}#3\end{minipage}}}}
|
||||||
|
|
||||||
\@initializebox{\cventryyearbox}
|
\@initializebox{\cventryyearbox}
|
||||||
\@initializelength{\cventrytitleboxwidth}
|
\@initializelength{\cventrytitleboxwidth}
|
||||||
|
|
@ -180,13 +194,14 @@
|
||||||
\recomputecvbodylengths%
|
\recomputecvbodylengths%
|
||||||
\setlength{\parskip}{6\p@}}
|
\setlength{\parskip}{6\p@}}
|
||||||
|
|
||||||
\renewcommand*{\makeletterclosing}{
|
\renewcommand*{\makeletterclosing}{%
|
||||||
\@closing\\[3em]%
|
\@closing\ifthenelse{\isundefined{\@signature}}{\\[3em]}{\\[1em]}% shrink space when signature is set
|
||||||
|
\ifthenelse{\isundefined{\@signature}}{}{{\@signature\\}}
|
||||||
{\bfseries\@firstname~\@lastname}%
|
{\bfseries\@firstname~\@lastname}%
|
||||||
\ifthenelse{\isundefined{\@enclosure}}{}{%
|
\ifthenelse{\isundefined{\@enclosure}}{}{%
|
||||||
\\%
|
\\%
|
||||||
\vfil%
|
\vfil%
|
||||||
{\color{color2}\itshape\enclname: \@enclosure}}%
|
{\color{letterclosingcolor}\itshape\enclname: \@enclosure}}%
|
||||||
\vfil}
|
\vfil}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
%% start of file `moderncvbodyv.sty'.
|
%% start of file `moderncvbodyv.sty'.
|
||||||
%% Copyright 2015-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
|
%% Copyright 2015-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
|
||||||
%
|
%
|
||||||
% This work may be distributed and/or modified under the
|
% This work may be distributed and/or modified under the
|
||||||
% conditions of the LaTeX Project Public License version 1.3c,
|
% conditions of the LaTeX Project Public License version 1.3c,
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
% identification
|
% identification
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
\NeedsTeXFormat{LaTeX2e}
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
\ProvidesPackage{moderncvbodyv}[2021/01/21 v2.1.0 modern curriculum vitae and letter body variant: 5]
|
\ProvidesPackage{moderncvbodyv}[2024-07-18 v2.4.1 modern curriculum vitae and letter body variant: 5]
|
||||||
|
|
||||||
|
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
|
|
@ -34,9 +34,9 @@
|
||||||
\renewcommand*{\hintfont}{\bfseries}
|
\renewcommand*{\hintfont}{\bfseries}
|
||||||
|
|
||||||
% styles
|
% styles
|
||||||
\renewcommand*{\sectionstyle}[1]{{\sectionfont\textcolor{color1}{#1}}}
|
\renewcommand*{\sectionstyle}[1]{{\sectionfont\textcolor{sectioncolor}{#1}}}
|
||||||
\renewcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{color1}{#1}}}
|
\renewcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{subsectioncolor}{#1}}}
|
||||||
\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{color0}{#1}}}
|
\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{hintstylecolor}{#1}}}
|
||||||
|
|
||||||
% lengths
|
% lengths
|
||||||
% used by \cvitem (and all children command)
|
% used by \cvitem (and all children command)
|
||||||
|
|
@ -46,6 +46,8 @@
|
||||||
\@initializelength{\maincolumnwidth}
|
\@initializelength{\maincolumnwidth}
|
||||||
% used by \cvdoubleitem
|
% used by \cvdoubleitem
|
||||||
\@initializelength{\doubleitemcolumnwidth}
|
\@initializelength{\doubleitemcolumnwidth}
|
||||||
|
% used by \cvtripleitem
|
||||||
|
\@initializelength{\tripleitemcolumnwidth}
|
||||||
% used by \cvlistitem
|
% used by \cvlistitem
|
||||||
\@initializelength{\listitemsymbolwidth} \settowidth{\listitemsymbolwidth}{\listitemsymbol}
|
\@initializelength{\listitemsymbolwidth} \settowidth{\listitemsymbolwidth}{\listitemsymbol}
|
||||||
\@initializelength{\listitemcolumnwidth}
|
\@initializelength{\listitemcolumnwidth}
|
||||||
|
|
@ -53,6 +55,7 @@
|
||||||
% used by \cvlistdoubleitem
|
% used by \cvlistdoubleitem
|
||||||
\@initializelength{\listdoubleitemcolumnwidth}
|
\@initializelength{\listdoubleitemcolumnwidth}
|
||||||
%\@initializelength{\listdoubleitemmaincolumnwidth}
|
%\@initializelength{\listdoubleitemmaincolumnwidth}
|
||||||
|
\@initializelength{\listitemsymbolspace} \setlength{\listitemsymbolspace}{0pt}
|
||||||
|
|
||||||
% commands
|
% commands
|
||||||
\@initializecommand{\recomputecvbodylengths}{%
|
\@initializecommand{\recomputecvbodylengths}{%
|
||||||
|
|
@ -61,6 +64,8 @@
|
||||||
\setlength{\listitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth}%
|
\setlength{\listitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth}%
|
||||||
\setlength{\doubleitemcolumnwidth}{\maincolumnwidth-\separatorcolumnwidth}%
|
\setlength{\doubleitemcolumnwidth}{\maincolumnwidth-\separatorcolumnwidth}%
|
||||||
\setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}%
|
\setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}%
|
||||||
|
\setlength{\tripleitemcolumnwidth}{\maincolumnwidth-2\separatorcolumnwidth}%
|
||||||
|
\setlength{\tripleitemcolumnwidth}{0.33\tripleitemcolumnwidth}%
|
||||||
\setlength{\listdoubleitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}%
|
\setlength{\listdoubleitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}%
|
||||||
\setlength{\listdoubleitemcolumnwidth}{0.5\listdoubleitemcolumnwidth}%
|
\setlength{\listdoubleitemcolumnwidth}{0.5\listdoubleitemcolumnwidth}%
|
||||||
\recompute@cvskillmatrix@lengths
|
\recompute@cvskillmatrix@lengths
|
||||||
|
|
@ -82,7 +87,8 @@
|
||||||
\addvspace{2.5ex}%
|
\addvspace{2.5ex}%
|
||||||
\phantomsection{}% reset the anchor for hyperrefs
|
\phantomsection{}% reset the anchor for hyperrefs
|
||||||
\addcontentsline{toc}{section}{#2}%
|
\addcontentsline{toc}{section}{#2}%
|
||||||
\noindent\rlap{\@cvitem{\raggedleft\sectionstyle{#2}}{}}%
|
% minipage for correct spacing with multiline sections #69
|
||||||
|
\noindent\rlap{\@cvitem{\begin{minipage}[t][1ex]{\hintscolumnwidth}\raggedleft\sectionstyle{#2}\end{minipage}}{}}%
|
||||||
\nobreak\@afterheading\@aftersectiontrue\ignorespaces}
|
\nobreak\@afterheading\@aftersectiontrue\ignorespaces}
|
||||||
|
|
||||||
%\@initializeif{\if@aftersubsection}\@aftersubsectionfalse%
|
%\@initializeif{\if@aftersubsection}\@aftersubsectionfalse%
|
||||||
|
|
@ -94,7 +100,8 @@
|
||||||
\par\ignorespaces\fi%
|
\par\ignorespaces\fi%
|
||||||
\phantomsection{}% reset the anchor for hyperrefs
|
\phantomsection{}% reset the anchor for hyperrefs
|
||||||
\addcontentsline{toc}{subsection}{#2}%
|
\addcontentsline{toc}{subsection}{#2}%
|
||||||
\noindent\rlap{\@cvitem{\if@aftersection\else\@moderncvstrut{4pt}{24pt}\fi\raggedleft\subsectionstyle{#2}}{}}%
|
% minipage for correct spacing with multiline subsections #69
|
||||||
|
\noindent\rlap{\@cvitem{\begin{minipage}[t][1ex]{\hintscolumnwidth}\if@aftersection\else\@moderncvstrut{4pt}{24pt}\fi\raggedleft\subsectionstyle{#2}\end{minipage}}{}}%
|
||||||
\nobreak\@afterheading\@aftersectiontrue\ignorespaces}
|
\nobreak\@afterheading\@aftersectiontrue\ignorespaces}
|
||||||
|
|
||||||
\renewcommand*{\cvitem}[3][.5ex]{%
|
\renewcommand*{\cvitem}[3][.5ex]{%
|
||||||
|
|
@ -110,7 +117,7 @@
|
||||||
|
|
||||||
% underlying command to implement \cvitem, \subsection and \section
|
% underlying command to implement \cvitem, \subsection and \section
|
||||||
\newcommand*{\@cvitem}[3][.5ex]{%
|
\newcommand*{\@cvitem}[3][.5ex]{%
|
||||||
\arrayrulecolor{color1}%
|
\arrayrulecolor{bodyrulecolor}%
|
||||||
\setlength\arrayrulewidth{\separatorrulewidth}%
|
\setlength\arrayrulewidth{\separatorrulewidth}%
|
||||||
\if@aftersection\else%
|
\if@aftersection\else%
|
||||||
\vspace*{-\separatorrulewidth}\fi% HACK; I don't understand where the space is coming from, nor what it's exact value is :(
|
\vspace*{-\separatorrulewidth}\fi% HACK; I don't understand where the space is coming from, nor what it's exact value is :(
|
||||||
|
|
@ -128,15 +135,23 @@
|
||||||
\hfill% fill of \separatorcolumnwidth
|
\hfill% fill of \separatorcolumnwidth
|
||||||
\begin{minipage}[t]{\doubleitemcolumnwidth}\ifthenelse{\equal{#4}{}}{}{\hintstyle{#4}: }#5\end{minipage}}}
|
\begin{minipage}[t]{\doubleitemcolumnwidth}\ifthenelse{\equal{#4}{}}{}{\hintstyle{#4}: }#5\end{minipage}}}
|
||||||
|
|
||||||
|
\renewcommand*{\cvtripleitem}[7][.1ex]{%
|
||||||
|
\@cvitem[#1]{}{%
|
||||||
|
\begin{minipage}[t]{\tripleitemcolumnwidth}\hintstyle{#2}: #3\end{minipage}%
|
||||||
|
\hfill% fill of \separatorcolumnwidth
|
||||||
|
\begin{minipage}[t]{\tripleitemcolumnwidth}\hintstyle{#4}: #5\end{minipage}%
|
||||||
|
\hfill% fill of \separatorcolumnwidth
|
||||||
|
\begin{minipage}[t]{\tripleitemcolumnwidth}\ifthenelse{\equal{#6}{}}{}{\hintstyle{#6}: }#7\end{minipage}}}
|
||||||
|
|
||||||
\renewcommand*{\cvlistitem}[2][.5ex]{%
|
\renewcommand*{\cvlistitem}[2][.5ex]{%
|
||||||
\@cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listitemcolumnwidth}#2\end{minipage}}}
|
\@cvitem[#1]{}{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listitemcolumnwidth-\listitemsymbolspace}#2\end{minipage}}}
|
||||||
|
|
||||||
\renewcommand*{\cvlistdoubleitem}[3][.5ex]{%
|
\renewcommand*{\cvlistdoubleitem}[3][.5ex]{%
|
||||||
\@cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listdoubleitemcolumnwidth}#2\end{minipage}%
|
\@cvitem[#1]{}{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listdoubleitemcolumnwidth-\listitemsymbolspace}#2\end{minipage}%
|
||||||
\hfill% fill of \separatorcolumnwidth
|
\hfill% fill of \separatorcolumnwidth
|
||||||
\ifthenelse{\equal{#3}{}}%
|
\ifthenelse{\equal{#3}{}}%
|
||||||
{}%
|
{}%
|
||||||
{\listitemsymbol\begin{minipage}[t]{\listdoubleitemcolumnwidth}#3\end{minipage}}}}
|
{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listdoubleitemcolumnwidth-\listitemsymbolspace}#3\end{minipage}}}}
|
||||||
|
|
||||||
\@initializebox{\cventryyearbox}
|
\@initializebox{\cventryyearbox}
|
||||||
\@initializelength{\cventrytitleboxwidth}
|
\@initializelength{\cventrytitleboxwidth}
|
||||||
|
|
@ -176,7 +191,7 @@
|
||||||
{%
|
{%
|
||||||
\bibliographyhead{\refname}%
|
\bibliographyhead{\refname}%
|
||||||
% \small%
|
% \small%
|
||||||
\arrayrulecolor{color1}%
|
\arrayrulecolor{bodyrulecolor}%
|
||||||
\setlength\arrayrulewidth{\separatorrulewidth}%
|
\setlength\arrayrulewidth{\separatorrulewidth}%
|
||||||
\noindent%
|
\noindent%
|
||||||
\begin{tabular}[t]{@{}p{\hintscolumnwidth}@{\hspace{\separatorcolumnwidth}}|@{\hspace{\separatorcolumnwidth}}p{\maincolumnwidth}@{}}%
|
\begin{tabular}[t]{@{}p{\hintscolumnwidth}@{\hspace{\separatorcolumnwidth}}|@{\hspace{\separatorcolumnwidth}}p{\maincolumnwidth}@{}}%
|
||||||
|
|
@ -217,13 +232,14 @@
|
||||||
\recomputecvbodylengths%
|
\recomputecvbodylengths%
|
||||||
\setlength{\parskip}{6\p@}}
|
\setlength{\parskip}{6\p@}}
|
||||||
|
|
||||||
\renewcommand*{\makeletterclosing}{
|
\renewcommand*{\makeletterclosing}{%
|
||||||
\@closing\\[3em]%
|
\@closing\ifthenelse{\isundefined{\@signature}}{\\[3em]}{\\[1em]}% shrink space when signature is set
|
||||||
|
\ifthenelse{\isundefined{\@signature}}{}{{\@signature\\}}
|
||||||
{\bfseries \@firstname~\@lastname}%
|
{\bfseries \@firstname~\@lastname}%
|
||||||
\ifthenelse{\isundefined{\@enclosure}}{}{%
|
\ifthenelse{\isundefined{\@enclosure}}{}{%
|
||||||
\\%
|
\\%
|
||||||
\vfill%
|
\vfill%
|
||||||
{\color{color2}\itshape\enclname: \@enclosure}}}
|
{\color{letterclosingcolor}\itshape\enclname: \@enclosure}}}
|
||||||
|
|
||||||
|
|
||||||
\endinput
|
\endinput
|
||||||
|
|
|
||||||
203
moderncvbodyvi.sty
Normal file
203
moderncvbodyvi.sty
Normal file
|
|
@ -0,0 +1,203 @@
|
||||||
|
%% start of file `moderncvbodyvi.sty'.
|
||||||
|
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
|
||||||
|
%% Copyright 2023 Javier Lopez-Gomez (javier.lopez.gomez@proton.me).
|
||||||
|
%
|
||||||
|
% This work may be distributed and/or modified under the
|
||||||
|
% conditions of the LaTeX Project Public License version 1.3c,
|
||||||
|
% available at http://www.latex-project.org/lppl/.
|
||||||
|
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% identification
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
|
\ProvidesPackage{moderncvbodyvi}[2023/11/21 v2.0.0 modern curriculum vitae and letter body variant: 6]
|
||||||
|
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% required packages
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
\RequirePackage{moderncvverticaltimeline}
|
||||||
|
% No customization currently exists for `modercvbodyvi`; just reuse
|
||||||
|
% `moderncvbodyi`. We might consider supporting a short table format (only skill
|
||||||
|
% name and rating) in the future.
|
||||||
|
\RequirePackage[moderncvbodyi,circle]{moderncvskillmatrix}
|
||||||
|
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% overall body definition
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% fonts
|
||||||
|
\renewcommand*{\sectionfont}{\Large\upshape\bfseries}
|
||||||
|
\renewcommand*{\subsectionfont}{\large\mdseries\upshape}
|
||||||
|
\renewcommand*{\hintfont}{}
|
||||||
|
|
||||||
|
% styles
|
||||||
|
\renewcommand*{\sectionstyle}[1]{{\sectionfont\textcolor{color1}{#1}}}
|
||||||
|
\renewcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{color1}{#1}}}
|
||||||
|
\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{color0}{#1}}}
|
||||||
|
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% resume body definition
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% lengths
|
||||||
|
% used by \cvitem (and all children command)
|
||||||
|
\@initializelength{\hintscolumnwidth} \setlength{\hintscolumnwidth}{0.175\textwidth}
|
||||||
|
\@initializelength{\separatorcolumnwidth} \setlength{\separatorcolumnwidth}{0.025\textwidth}
|
||||||
|
\@initializelength{\maincolumnwidth}
|
||||||
|
% used by \cvdoubleitem
|
||||||
|
\@initializelength{\doubleitemcolumnwidth}
|
||||||
|
% used by \cvtripleitem
|
||||||
|
\@initializelength{\tripleitemcolumnwidth}
|
||||||
|
% used by \cvlistitem
|
||||||
|
\@initializelength{\listitemsymbolwidth} \settowidth{\listitemsymbolwidth}{\listitemsymbol}
|
||||||
|
\@initializelength{\listitemcolumnwidth}
|
||||||
|
% used by \cvlistdoubleitem
|
||||||
|
\@initializelength{\listdoubleitemcolumnwidth}
|
||||||
|
\@initializelength{\listitemsymbolspace} \setlength{\listitemsymbolspace}{0pt}
|
||||||
|
% default moderncv \photo (change the definition such that by default the photo and its box align with the section bars
|
||||||
|
\RenewDocumentCommand{\photo}{O{\hintscolumnwidth-0.8pt-2\fboxsep}O{0.4pt}m}{\def\@photowidth{#1}\def\@photoframewidth{#2}\def\@photo{#3}}%
|
||||||
|
|
||||||
|
% commands
|
||||||
|
\renewcommand*{\recomputecvbodylengths}{%
|
||||||
|
% body lengths
|
||||||
|
\setlength{\maincolumnwidth}{\textwidth-\leftskip-\rightskip-\separatorcolumnwidth-\hintscolumnwidth}%
|
||||||
|
\setlength{\listitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth}%
|
||||||
|
\setlength{\doubleitemcolumnwidth}{\maincolumnwidth-\hintscolumnwidth-\separatorcolumnwidth-\separatorcolumnwidth}%
|
||||||
|
\setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}%
|
||||||
|
\setlength{\tripleitemcolumnwidth}{\maincolumnwidth-2\hintscolumnwidth-3\separatorcolumnwidth}%
|
||||||
|
\setlength{\tripleitemcolumnwidth}{0.33\tripleitemcolumnwidth}%
|
||||||
|
\setlength{\listdoubleitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}%
|
||||||
|
\setlength{\listdoubleitemcolumnwidth}{0.5\listdoubleitemcolumnwidth}%
|
||||||
|
\recompute@cvskillmatrix@lengths
|
||||||
|
% regular lengths
|
||||||
|
\setlength{\parskip}{0\p@}}
|
||||||
|
|
||||||
|
\@initializelength{\baseletterheight}
|
||||||
|
\settoheight{\baseletterheight}{\sectionstyle{o}}
|
||||||
|
\setlength{\baseletterheight}{\baseletterheight-0.95ex}
|
||||||
|
% The optional argument can be used to place a small icon near the section name.
|
||||||
|
% E.g. `\section[\faBookmark]{Education}`
|
||||||
|
\RenewDocumentCommand{\section}{sO{}m}{%
|
||||||
|
\tl@resetchain%
|
||||||
|
\par\addvspace{2.5ex}%
|
||||||
|
\phantomsection{}% reset the anchor for hyperrefs
|
||||||
|
\addcontentsline{toc}{section}{#3}%
|
||||||
|
\strut\sectionstyle{\textcolor{color1!55!white}{{#2}\rule{.75ex}{0pt}\rule{1pt}{\heightof{#3}}}%
|
||||||
|
\rule{.75ex}{0pt}#3}%
|
||||||
|
\par\nobreak\addvspace{1ex}\@afterheading}% to avoid a pagebreak after the heading
|
||||||
|
|
||||||
|
\RenewDocumentCommand{\subsection}{sm}{%
|
||||||
|
\par\addvspace{1ex}%
|
||||||
|
\phantomsection{}% reset the anchor for hyperrefs
|
||||||
|
\addcontentsline{toc}{subsection}{#2}%
|
||||||
|
\cvitem[0ex]{}{\strut\subsectionstyle{#2}}%
|
||||||
|
\par\nobreak\addvspace{.5ex}\@afterheading}% to avoid a pagebreak after the heading
|
||||||
|
|
||||||
|
\renewcommand*{\cvitem}[3][.25em]{%
|
||||||
|
\begin{tabular}{@{}p{\hintscolumnwidth}@{\hspace{\separatorcolumnwidth}}p{\maincolumnwidth}@{}}%
|
||||||
|
\raggedleft\hintstyle{#2} &{#3}%
|
||||||
|
\end{tabular}%
|
||||||
|
\par\addvspace{#1}}
|
||||||
|
|
||||||
|
\renewcommand*{\cvdoubleitem}[5][.25em]{%
|
||||||
|
\cvitem[#1]{#2}{%
|
||||||
|
\begin{minipage}[t]{\doubleitemcolumnwidth}#3\end{minipage}%
|
||||||
|
\hfill% fill of \separatorcolumnwidth
|
||||||
|
\begin{minipage}[t]{\hintscolumnwidth}\raggedleft\hintstyle{#4}\end{minipage}%
|
||||||
|
\hspace*{\separatorcolumnwidth}%
|
||||||
|
\begin{minipage}[t]{\doubleitemcolumnwidth}#5\end{minipage}}}
|
||||||
|
|
||||||
|
\renewcommand*{\cvtripleitem}[7][.1em]{%
|
||||||
|
\cvitem[#1]{#2}{%
|
||||||
|
\begin{minipage}[t]{\tripleitemcolumnwidth}#3\end{minipage}%
|
||||||
|
\hfill% fill of \separatorcolumnwidth
|
||||||
|
\begin{minipage}[t]{\hintscolumnwidth}\raggedleft\hintstyle{#4}\end{minipage}%
|
||||||
|
\hspace*{\separatorcolumnwidth}%
|
||||||
|
\begin{minipage}[t]{\tripleitemcolumnwidth}#5\end{minipage}%
|
||||||
|
\hspace*{\separatorcolumnwidth}%
|
||||||
|
\begin{minipage}[t]{\hintscolumnwidth}\raggedleft\hintstyle{#6}\end{minipage}%
|
||||||
|
\hspace*{\separatorcolumnwidth}%
|
||||||
|
\begin{minipage}[t]{\tripleitemcolumnwidth}#7\end{minipage}}}
|
||||||
|
|
||||||
|
\renewcommand*{\cvlistitem}[2][.25em]{%
|
||||||
|
\cvitem[#1]{}{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listitemcolumnwidth-\listitemsymbolspace}#2\end{minipage}}}
|
||||||
|
|
||||||
|
\renewcommand*{\cvlistdoubleitem}[3][.25em]{%
|
||||||
|
\cvitem[#1]{}{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listdoubleitemcolumnwidth-\listitemsymbolspace}#2\end{minipage}%
|
||||||
|
\hfill% fill of \separatorcolumnwidth
|
||||||
|
\ifthenelse{\equal{#3}{}}%
|
||||||
|
{}%
|
||||||
|
{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listdoubleitemcolumnwidth-\listitemsymbolspace}#3\end{minipage}}}}
|
||||||
|
|
||||||
|
\renewcommand*{\cventry}[7][.25em]{%
|
||||||
|
\cvitem[#1]{\tl@milestone{#2}}{%
|
||||||
|
{\bfseries#3}%
|
||||||
|
\ifthenelse{\equal{#4}{}}{}{, {\slshape#4}}%
|
||||||
|
\ifthenelse{\equal{#5}{}}{}{, #5}%
|
||||||
|
\ifthenelse{\equal{#6}{}}{}{, #6}%
|
||||||
|
\strut%
|
||||||
|
\ifx&%
|
||||||
|
\else{\newline{}\begin{minipage}[t]{\linewidth}\small#7\end{minipage}}\fi}}
|
||||||
|
|
||||||
|
\@initializebox{\cvitemwithcommentbox}
|
||||||
|
\@initializelength{\cvitemwithcommentskilllength}
|
||||||
|
\@initializelength{\cvitemwithcommentcommentlength}
|
||||||
|
\renewcommand*{\cvitemwithcomment}[4][.25em]{%
|
||||||
|
\savebox{\cvitemwithcommentbox}{{#3}}%
|
||||||
|
\setlength{\cvitemwithcommentskilllength}{\widthof{\usebox{\cvitemwithcommentbox}}}%
|
||||||
|
\setlength{\cvitemwithcommentcommentlength}{\maincolumnwidth-\separatorcolumnwidth-\cvitemwithcommentskilllength}%
|
||||||
|
\cvitem[#1]{#2}{%
|
||||||
|
\begin{minipage}[t]{\cvitemwithcommentskilllength}\usebox{\cvitemwithcommentbox}\end{minipage}%
|
||||||
|
\hfill% fill of \separatorcolumnwidth
|
||||||
|
\begin{minipage}[t]{\cvitemwithcommentcommentlength}\raggedleft\small\itshape#4\end{minipage}}}
|
||||||
|
|
||||||
|
\renewenvironment{thebibliography}[1]%
|
||||||
|
{%
|
||||||
|
\bibliographyhead{\refname}%
|
||||||
|
% \small%
|
||||||
|
\begin{list}{\bibliographyitemlabel}%
|
||||||
|
{%
|
||||||
|
\setlength{\topsep}{0pt}%
|
||||||
|
\setlength{\labelwidth}{\hintscolumnwidth}%
|
||||||
|
\setlength{\labelsep}{\separatorcolumnwidth}%
|
||||||
|
\leftmargin\labelwidth%
|
||||||
|
\advance\leftmargin\labelsep%
|
||||||
|
\@openbib@code%
|
||||||
|
\usecounter{enumiv}%
|
||||||
|
\let\p@enumiv\@empty%
|
||||||
|
\renewcommand\theenumiv{\@arabic\c@enumiv}}%
|
||||||
|
\sloppy%
|
||||||
|
\clubpenalty4000%\@clubpenalty \clubpenalty%
|
||||||
|
\widowpenalty4000%
|
||||||
|
\sfcode`\.\@m%
|
||||||
|
\sfcode `\=1000\relax}%
|
||||||
|
{%
|
||||||
|
\def\@noitemerr{\@latex@warning{Empty `thebibliography' environment}}%
|
||||||
|
\end{list}}
|
||||||
|
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% letter style definition
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% commands
|
||||||
|
\renewcommand*{\recomputeletterbodylengths}{%
|
||||||
|
\recomputecvlengths%
|
||||||
|
\setlength{\parskip}{6\p@}}
|
||||||
|
|
||||||
|
\renewcommand*{\makeletterclosing}{
|
||||||
|
\@closing\ifthenelse{\isundefined{\@signature}}{\\[3em]}{\\[1em]}% shrink space when signature is set
|
||||||
|
\ifthenelse{\isundefined{\@signature}}{}{{\@signature\\}}
|
||||||
|
{\bfseries\@firstname~\@lastname}%
|
||||||
|
\ifthenelse{\isundefined{\@enclosure}}{}{%
|
||||||
|
\\%
|
||||||
|
\vfil%
|
||||||
|
{\color{color2}\itshape\enclname: \@enclosure}}%
|
||||||
|
\vfil}
|
||||||
|
|
||||||
|
|
||||||
|
\endinput
|
||||||
|
|
||||||
|
|
||||||
|
%% end of file `moderncvbodyvi.sty'.
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
%% start of file `moderncvcollection.sty'.
|
%% start of file `moderncvcollection.sty'.
|
||||||
%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
|
%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
|
||||||
%
|
%
|
||||||
% This work may be distributed and/or modified under the
|
% This work may be distributed and/or modified under the
|
||||||
% conditions of the LaTeX Project Public License version 1.3c,
|
% conditions of the LaTeX Project Public License version 1.3c,
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
% identification
|
% identification
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
\NeedsTeXFormat{LaTeX2e}
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
\ProvidesPackage{moderncvcollection}[2021/01/21 v2.1.0 moderncv collections]
|
\ProvidesPackage{moderncvcollection}[2024-07-18 v2.4.1 moderncv collections]
|
||||||
|
|
||||||
|
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
%% start of file `moderncvcolorblack.sty'.
|
%% start of file `moderncvcolorblack.sty'.
|
||||||
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
|
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
|
||||||
%
|
%
|
||||||
% This work may be distributed and/or modified under the
|
% This work may be distributed and/or modified under the
|
||||||
% conditions of the LaTeX Project Public License version 1.3c,
|
% conditions of the LaTeX Project Public License version 1.3c,
|
||||||
|
|
@ -10,15 +10,17 @@
|
||||||
% identification
|
% identification
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
\NeedsTeXFormat{LaTeX2e}
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
\ProvidesPackage{moderncvcolorblack}[2021/01/21 v2.1.0 modern curriculum vitae and letter color scheme: black]
|
\ProvidesPackage{moderncvcolorblack}[2024-07-18 v2.4.1 modern curriculum vitae and letter color scheme: black]
|
||||||
|
|
||||||
|
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
% color scheme definition
|
% color scheme definition
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
\definecolor{color0}{rgb}{0,0,0}% black
|
\usepackage{moderncvcolors}
|
||||||
\definecolor{color1}{rgb}{0,0,0}% black
|
|
||||||
\definecolor{color2}{rgb}{0,0,0}% black
|
\colorlet{color0}{black}% black
|
||||||
|
\colorlet{color1}{black}% black
|
||||||
|
\colorlet{color2}{black}% black
|
||||||
|
|
||||||
|
|
||||||
\endinput
|
\endinput
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
%% start of file `moderncvcolorblue.sty'.
|
%% start of file `moderncvcolorblue.sty'.
|
||||||
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
|
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
|
||||||
%
|
%
|
||||||
% This work may be distributed and/or modified under the
|
% This work may be distributed and/or modified under the
|
||||||
% conditions of the LaTeX Project Public License version 1.3c,
|
% conditions of the LaTeX Project Public License version 1.3c,
|
||||||
|
|
@ -10,15 +10,17 @@
|
||||||
% identification
|
% identification
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
\NeedsTeXFormat{LaTeX2e}
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
\ProvidesPackage{moderncvcolorblue}[2021/01/21 v2.1.0 modern curriculum vitae and letter color scheme: blue]
|
\ProvidesPackage{moderncvcolorblue}[2024-07-18 v2.4.1 modern curriculum vitae and letter color scheme: blue]
|
||||||
|
|
||||||
|
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
% color scheme definition
|
% color scheme definition
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
\definecolor{color0}{rgb}{0,0,0}% black
|
\usepackage{moderncvcolors}
|
||||||
\definecolor{color1}{rgb}{0.22,0.45,0.70}% light blue
|
|
||||||
\definecolor{color2}{rgb}{0.45,0.45,0.45}% dark grey
|
\colorlet{color0}{black}% black
|
||||||
|
\colorlet{color1}{lightblue}% light blue
|
||||||
|
\colorlet{color2}{darkgrey}% dark grey
|
||||||
|
|
||||||
|
|
||||||
\endinput
|
\endinput
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
%% start of file `moderncvcolorburgundy.sty'.
|
%% start of file `moderncvcolorburgundy.sty'.
|
||||||
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
|
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
|
||||||
%
|
%
|
||||||
% This work may be distributed and/or modified under the
|
% This work may be distributed and/or modified under the
|
||||||
% conditions of the LaTeX Project Public License version 1.3c,
|
% conditions of the LaTeX Project Public License version 1.3c,
|
||||||
|
|
@ -10,15 +10,17 @@
|
||||||
% identification
|
% identification
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
\NeedsTeXFormat{LaTeX2e}
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
\ProvidesPackage{moderncvcolorburgundy}[2021/01/21 v2.1.0 modern curriculum vitae and letter color scheme: burgundy]
|
\ProvidesPackage{moderncvcolorburgundy}[2024-07-18 v2.4.1 modern curriculum vitae and letter color scheme: burgundy]
|
||||||
|
|
||||||
|
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
% color scheme definition
|
% color scheme definition
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
\definecolor{color0}{rgb}{0,0,0}% black
|
\usepackage{moderncvcolors}
|
||||||
\definecolor{color1}{rgb}{0.596078,0,0}% burgundy: 139/255 (0.545098) or 152/255 (0.596078)
|
|
||||||
\definecolor{color2}{rgb}{0.45,0.45,0.45}% dark grey
|
\colorlet{color0}{black}% black
|
||||||
|
\colorlet{color1}{burgundy}% burgundy
|
||||||
|
\colorlet{color2}{darkgrey}% dark grey
|
||||||
|
|
||||||
|
|
||||||
\endinput
|
\endinput
|
||||||
|
|
|
||||||
32
moderncvcolorcerulean.sty
Normal file
32
moderncvcolorcerulean.sty
Normal file
|
|
@ -0,0 +1,32 @@
|
||||||
|
%% start of file `moderncvcolorcerulean.sty'.
|
||||||
|
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
|
||||||
|
%% Copyright 2023 Javier Lopez-Gomez (javier.lopez.gomez@proton.me).
|
||||||
|
%
|
||||||
|
% This work may be distributed and/or modified under the
|
||||||
|
% conditions of the LaTeX Project Public License version 1.3c,
|
||||||
|
% available at http://www.latex-project.org/lppl/.
|
||||||
|
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% identification
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
|
\ProvidesPackage{moderncvcolorcerulean}[2023/11/21 v2.0.0 modern curriculum vitae and letter color scheme: cerulean]
|
||||||
|
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% color scheme definition
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
\definecolor{color0}{rgb}{0,0,0}% black
|
||||||
|
\definecolor{color1}{HTML}{0081a7}% cerulean
|
||||||
|
\definecolor{color2}{HTML}{4d908e}% dark cyan
|
||||||
|
\definecolor{headTL}{HTML}{00afb9}% verdigris
|
||||||
|
\colorlet{headBR}{color1}
|
||||||
|
\definecolor{headtext}{HTML}{ffffff}% white
|
||||||
|
\colorlet{headhr}{color2}
|
||||||
|
|
||||||
|
|
||||||
|
\endinput
|
||||||
|
|
||||||
|
|
||||||
|
%% end of file `moderncvcolorcerulean.sty'.
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
%% start of file `moderncvcolorgreen.sty'.
|
%% start of file `moderncvcolorgreen.sty'.
|
||||||
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
|
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
|
||||||
%
|
%
|
||||||
% This work may be distributed and/or modified under the
|
% This work may be distributed and/or modified under the
|
||||||
% conditions of the LaTeX Project Public License version 1.3c,
|
% conditions of the LaTeX Project Public License version 1.3c,
|
||||||
|
|
@ -10,15 +10,17 @@
|
||||||
% identification
|
% identification
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
\NeedsTeXFormat{LaTeX2e}
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
\ProvidesPackage{moderncvcolorgreen}[2021/01/21 v2.1.0 modern curriculum vitae and letter color scheme: green]
|
\ProvidesPackage{moderncvcolorgreen}[2024-07-18 v2.4.1 modern curriculum vitae and letter color scheme: green]
|
||||||
|
|
||||||
|
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
% color scheme definition
|
% color scheme definition
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
\definecolor{color0}{rgb}{0,0,0}% black
|
\usepackage{moderncvcolors}
|
||||||
\definecolor{color1}{rgb}{0.35,0.70,0.30}% green
|
|
||||||
\definecolor{color2}{rgb}{0.45,0.45,0.45}% dark grey
|
\colorlet{color0}{black}% black
|
||||||
|
\colorlet{color1}{green}% green
|
||||||
|
\colorlet{color2}{darkgrey}% dark grey
|
||||||
|
|
||||||
|
|
||||||
\endinput
|
\endinput
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
%% start of file `moderncvcolorgrey.sty'.
|
%% start of file `moderncvcolorgrey.sty'.
|
||||||
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
|
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
|
||||||
%
|
%
|
||||||
% This work may be distributed and/or modified under the
|
% This work may be distributed and/or modified under the
|
||||||
% conditions of the LaTeX Project Public License version 1.3c,
|
% conditions of the LaTeX Project Public License version 1.3c,
|
||||||
|
|
@ -10,15 +10,17 @@
|
||||||
% identification
|
% identification
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
\NeedsTeXFormat{LaTeX2e}
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
\ProvidesPackage{moderncvcolorgrey}[2021/01/21 v2.1.0 modern curriculum vitae and letter color scheme: grey]
|
\ProvidesPackage{moderncvcolorgrey}[2024-07-18 v2.4.1 modern curriculum vitae and letter color scheme: grey]
|
||||||
|
|
||||||
|
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
% color scheme definition
|
% color scheme definition
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
\definecolor{color0}{rgb}{0,0,0}% black
|
\usepackage{moderncvcolors}
|
||||||
\definecolor{color1}{rgb}{0.55,0.55,0.55}% dark grey
|
|
||||||
\definecolor{color2}{rgb}{0.55,0.55,0.55}% dark grey
|
\colorlet{color0}{black}% black
|
||||||
|
\colorlet{color1}{darkgrey}% dark grey
|
||||||
|
\colorlet{color2}{darkgrey}% dark grey
|
||||||
|
|
||||||
|
|
||||||
\endinput
|
\endinput
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
%% start of file `moderncvcolororange.sty'.
|
%% start of file `moderncvcolororange.sty'.
|
||||||
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
|
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
|
||||||
%
|
%
|
||||||
% This work may be distributed and/or modified under the
|
% This work may be distributed and/or modified under the
|
||||||
% conditions of the LaTeX Project Public License version 1.3c,
|
% conditions of the LaTeX Project Public License version 1.3c,
|
||||||
|
|
@ -10,15 +10,17 @@
|
||||||
% identification
|
% identification
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
\NeedsTeXFormat{LaTeX2e}
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
\ProvidesPackage{moderncvcolororange}[2021/01/21 v2.1.0 modern curriculum vitae and letter color scheme: orange]
|
\ProvidesPackage{moderncvcolororange}[2024-07-18 v2.4.1 modern curriculum vitae and letter color scheme: orange]
|
||||||
|
|
||||||
|
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
% color scheme definition
|
% color scheme definition
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
\definecolor{color0}{rgb}{0,0,0}% black
|
\usepackage{moderncvcolors}
|
||||||
\definecolor{color1}{rgb}{0.95,0.55,0.15}% orange
|
|
||||||
\definecolor{color2}{rgb}{0.45,0.45,0.45}% dark grey
|
\colorlet{color0}{black}% black
|
||||||
|
\colorlet{color1}{orange}% orange
|
||||||
|
\colorlet{color2}{darkgrey}% dark grey
|
||||||
|
|
||||||
|
|
||||||
\endinput
|
\endinput
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
%% start of file `moderncvcolorpurple.sty'.
|
%% start of file `moderncvcolorpurple.sty'.
|
||||||
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
|
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
|
||||||
%
|
%
|
||||||
% This work may be distributed and/or modified under the
|
% This work may be distributed and/or modified under the
|
||||||
% conditions of the LaTeX Project Public License version 1.3c,
|
% conditions of the LaTeX Project Public License version 1.3c,
|
||||||
|
|
@ -10,15 +10,17 @@
|
||||||
% identification
|
% identification
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
\NeedsTeXFormat{LaTeX2e}
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
\ProvidesPackage{moderncvcolorpurple}[2021/01/21 v2.1.0 modern curriculum vitae and letter color scheme: purple]
|
\ProvidesPackage{moderncvcolorpurple}[2024-07-18 v2.4.1 modern curriculum vitae and letter color scheme: purple]
|
||||||
|
|
||||||
|
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
% color scheme definition
|
% color scheme definition
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
\definecolor{color0}{rgb}{0,0,0}% black
|
\usepackage{moderncvcolors}
|
||||||
\definecolor{color1}{rgb}{0.50,0.33,0.80}% purple
|
|
||||||
\definecolor{color2}{rgb}{0.45,0.45,0.45}% dark grey
|
\colorlet{color0}{black}% black
|
||||||
|
\colorlet{color1}{purple}% purple
|
||||||
|
\colorlet{color2}{darkgrey}% dark grey
|
||||||
|
|
||||||
|
|
||||||
\endinput
|
\endinput
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
%% start of file `moderncvcolorred.sty'.
|
%% start of file `moderncvcolorred.sty'.
|
||||||
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
|
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
|
||||||
%
|
%
|
||||||
% This work may be distributed and/or modified under the
|
% This work may be distributed and/or modified under the
|
||||||
% conditions of the LaTeX Project Public License version 1.3c,
|
% conditions of the LaTeX Project Public License version 1.3c,
|
||||||
|
|
@ -10,15 +10,17 @@
|
||||||
% identification
|
% identification
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
\NeedsTeXFormat{LaTeX2e}
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
\ProvidesPackage{moderncvcolorred}[2021/01/21 v2.1.0 modern curriculum vitae and letter color scheme: red]
|
\ProvidesPackage{moderncvcolorred}[2024-07-18 v2.4.1 modern curriculum vitae and letter color scheme: red]
|
||||||
|
|
||||||
|
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
% color scheme definition
|
% color scheme definition
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
\definecolor{color0}{rgb}{0,0,0}% black
|
\usepackage{moderncvcolors}
|
||||||
\definecolor{color1}{rgb}{0.95,0.20,0.20}% red
|
|
||||||
\definecolor{color2}{rgb}{0.45,0.45,0.45}% dark grey
|
\colorlet{color0}{black}% black
|
||||||
|
\colorlet{color1}{red}% red
|
||||||
|
\colorlet{color2}{darkgrey}% dark grey
|
||||||
|
|
||||||
|
|
||||||
\endinput
|
\endinput
|
||||||
|
|
|
||||||
51
moderncvcolors.sty
Normal file
51
moderncvcolors.sty
Normal file
|
|
@ -0,0 +1,51 @@
|
||||||
|
%% start of file `moderncvcolors.sty'.
|
||||||
|
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com)
|
||||||
|
%% Copyright 2024-2024 moderncv maintainers (github.com/moderncv).
|
||||||
|
%
|
||||||
|
% This work may be distributed and/or modified under the
|
||||||
|
% conditions of the LaTeX Project Public License version 1.3c,
|
||||||
|
% available at http://www.latex-project.org/lppl/.
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% identification
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
|
\ProvidesPackage{moderncvcolors}[2024-07-18 v2.4.1 modern curriculum vitae and letter base colors]
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% built-in colors
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
\definecolor{black}{RGB}{0, 0, 0}
|
||||||
|
\definecolor{red}{rgb}{0.95, 0.20, 0.20}
|
||||||
|
\definecolor{darkgrey}{rgb}{0.45, 0.45, 0.45}
|
||||||
|
\definecolor{orange}{rgb}{0.95, 0.55, 0.15}
|
||||||
|
\definecolor{burgundy}{rgb}{0.596078, 0, 0}% 139/255 (0.545098) or 152/255 (0.596078)
|
||||||
|
\definecolor{purple}{rgb}{0.50, 0.33, 0.80}
|
||||||
|
\definecolor{lightblue}{rgb}{0.22, 0.45, 0.70}
|
||||||
|
\definecolor{green}{rgb}{0.35, 0.70, 0.30}
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% default colors
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
\@ifundefined{\string\color@default-socialicon-color}{\colorlet{default-socialicon-color}{darkgrey}}{}
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% colors for social icons
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
% \definecolor{weixin}{rgb}{.184, .533, .098}
|
||||||
|
% \definecolor{linkedin}{HTML}{0a66c2}
|
||||||
|
% \definecolor{orcid}{HTML}{a6ce39}
|
||||||
|
% \definecolor{twitter}{RGB}{29, 155, 240}
|
||||||
|
% \definecolor{facebook}{HTML}{1b74e4}
|
||||||
|
% TODO: add more colors
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% custom colors
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
% \definecolor{tsinghua}{HTML}{791CB5}
|
||||||
|
|
||||||
|
%% end of file `moderncvcolors.sty'.
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
%% start of file `moderncvcompatibility.sty'.
|
%% start of file `moderncvcompatibility.sty'.
|
||||||
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
|
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
|
||||||
%
|
%
|
||||||
% This work may be distributed and/or modified under the
|
% This work may be distributed and/or modified under the
|
||||||
% conditions of the LaTeX Project Public License version 1.3c,
|
% conditions of the LaTeX Project Public License version 1.3c,
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
% identification
|
% identification
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
\NeedsTeXFormat{LaTeX2e}
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
\ProvidesPackage{moderncvcompatibility}[2021/01/21 v2.1.0 modern curriculum vitae and letter compatibility patches]
|
\ProvidesPackage{moderncvcompatibility}[2024-07-18 v2.4.1 modern curriculum vitae and letter compatibility patches]
|
||||||
|
|
||||||
|
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
%% start of file `moderncvdebugtools.sty'.
|
%% start of file `moderncvdebugtools.sty'.
|
||||||
%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
|
%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
|
||||||
%
|
%
|
||||||
% This work may be distributed and/or modified under the
|
% This work may be distributed and/or modified under the
|
||||||
% conditions of the LaTeX Project Public License version 1.3c,
|
% conditions of the LaTeX Project Public License version 1.3c,
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
% identification
|
% identification
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
\NeedsTeXFormat{LaTeX2e}
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
\ProvidesPackage{moderncvdebugtools}[2021/01/21 v2.1.0 modern curriculum vitae and letter debug tools]
|
\ProvidesPackage{moderncvdebugtools}[2024-07-18 v2.4.1 modern curriculum vitae and letter debug tools]
|
||||||
|
|
||||||
|
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
%% start of file `moderncvfooti.sty'.
|
%% start of file `moderncvfooti.sty'.
|
||||||
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
|
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
|
||||||
%
|
%
|
||||||
% This work may be distributed and/or modified under the
|
% This work may be distributed and/or modified under the
|
||||||
% conditions of the LaTeX Project Public License version 1.3c,
|
% conditions of the LaTeX Project Public License version 1.3c,
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
% identification
|
% identification
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
\NeedsTeXFormat{LaTeX2e}
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
\ProvidesPackage{moderncvfooti}[2021/01/21 v2.1.0 modern curriculum vitae and letter footer variant: 1]
|
\ProvidesPackage{moderncvfooti}[2024-07-18 v2.4.1 modern curriculum vitae and letter footer variant: 1]
|
||||||
|
|
||||||
|
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
|
|
@ -27,7 +27,7 @@
|
||||||
% symbols
|
% symbols
|
||||||
% footer symbol used to separate footer elements
|
% footer symbol used to separate footer elements
|
||||||
\newcommand*{\footsymbol}{%
|
\newcommand*{\footsymbol}{%
|
||||||
{~~~{\rmfamily\textbullet}~~~}}% the \rmfamily is required to force Latin Modern fonts when using sans serif, as OMS/lmss/m/n is not defined and gets substituted by OMS/cmsy/m/n
|
{\hspace{1em}{\rmfamily\textbullet}\hspace{1em}}}% the \rmfamily is required to force Latin Modern fonts when using sans serif, as OMS/lmss/m/n is not defined and gets substituted by OMS/cmsy/m/n
|
||||||
|
|
||||||
% lengths
|
% lengths
|
||||||
\@initializelength{\footwidth}%
|
\@initializelength{\footwidth}%
|
||||||
|
|
@ -79,7 +79,7 @@
|
||||||
\fancyfoot[c]{%
|
\fancyfoot[c]{%
|
||||||
\parbox[b]{\footwidth}{%
|
\parbox[b]{\footwidth}{%
|
||||||
\centering%
|
\centering%
|
||||||
\color{color2}\addressfont%
|
\color{addresscolor}\addressfont%
|
||||||
\vspace{\baselineskip}% forces a white line to ensure space between main text and footer (as footer height can't be known in advance)
|
\vspace{\baselineskip}% forces a white line to ensure space between main text and footer (as footer height can't be known in advance)
|
||||||
\ifthenelse{\isundefined{\@addressstreet}}{}{\addtofoot[]{\addresssymbol\@addressstreet}%
|
\ifthenelse{\isundefined{\@addressstreet}}{}{\addtofoot[]{\addresssymbol\@addressstreet}%
|
||||||
\ifthenelse{\equal{\@addresscity}{}}{}{\addtofoot[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
|
\ifthenelse{\equal{\@addresscity}{}}{}{\addtofoot[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
|
||||||
|
|
@ -89,7 +89,8 @@
|
||||||
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
|
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
|
||||||
\addtofoot{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
|
\addtofoot{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
|
||||||
\ifthenelse{\isundefined{\@email}}{}{\addtofoot{\emailsymbol\emaillink{\@email}}}%
|
\ifthenelse{\isundefined{\@email}}{}{\addtofoot{\emailsymbol\emaillink{\@email}}}%
|
||||||
\ifthenelse{\isundefined{\@homepage}}{}{\addtofoot{\homepagesymbol\httpslink{\@homepage}}}%
|
\ifthenelse{\isundefined{\@homepage}}{}{\addtofoot{\homepagesymbol%
|
||||||
|
\ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}}%
|
||||||
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
|
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
|
||||||
\addtofoot{\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}%
|
\addtofoot{\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}%
|
||||||
\ifthenelse{\isundefined{\@extrainfo}}{}{\addtofoot{\@extrainfo}}%
|
\ifthenelse{\isundefined{\@extrainfo}}{}{\addtofoot{\@extrainfo}}%
|
||||||
|
|
@ -109,7 +110,7 @@
|
||||||
\fancyfoot[c]{%
|
\fancyfoot[c]{%
|
||||||
\parbox[b]{\footwidth}{%
|
\parbox[b]{\footwidth}{%
|
||||||
\centering%
|
\centering%
|
||||||
\addressfont\color{color2}%
|
\addressfont\color{addresscolor}%
|
||||||
\vspace{\baselineskip}% forces a white line to ensure space between main text and footer (as footer height can't be known in advance)
|
\vspace{\baselineskip}% forces a white line to ensure space between main text and footer (as footer height can't be known in advance)
|
||||||
\vspace{-\baselineskip}% to cancel out the extra vertical space taken by the name (below) and ensure perfect alignment of letter and cv footers
|
\vspace{-\baselineskip}% to cancel out the extra vertical space taken by the name (below) and ensure perfect alignment of letter and cv footers
|
||||||
\strut{\bfseries\upshape\@firstname~\@lastname}\\% the \strut is required to ensure the line is exactly \baselineskip tall
|
\strut{\bfseries\upshape\@firstname~\@lastname}\\% the \strut is required to ensure the line is exactly \baselineskip tall
|
||||||
|
|
@ -121,7 +122,8 @@
|
||||||
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
|
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
|
||||||
\addtofoot{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
|
\addtofoot{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
|
||||||
\ifthenelse{\isundefined{\@email}}{}{\addtofoot{\emailsymbol\emaillink{\@email}}}%
|
\ifthenelse{\isundefined{\@email}}{}{\addtofoot{\emailsymbol\emaillink{\@email}}}%
|
||||||
\ifthenelse{\isundefined{\@homepage}}{}{\addtofoot{\homepagesymbol\httpslink{\@homepage}}}%
|
\ifthenelse{\isundefined{\@homepage}}{}{\addtofoot{\homepagesymbol%
|
||||||
|
\ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}}%
|
||||||
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
|
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
|
||||||
\addtofoot{\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}%
|
\addtofoot{\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}%
|
||||||
\ifthenelse{\isundefined{\@extrainfo}}{}{\addtofoot{\@extrainfo}}%
|
\ifthenelse{\isundefined{\@extrainfo}}{}{\addtofoot{\@extrainfo}}%
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
%% start of file `moderncvheadi.sty'.
|
%% start of file `moderncvheadi.sty'.
|
||||||
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
|
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
|
||||||
%
|
%
|
||||||
% This work may be distributed and/or modified under the
|
% This work may be distributed and/or modified under the
|
||||||
% conditions of the LaTeX Project Public License version 1.3c,
|
% conditions of the LaTeX Project Public License version 1.3c,
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
% identification
|
% identification
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
\NeedsTeXFormat{LaTeX2e}
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
\ProvidesPackage{moderncvheadi}[2021/01/21 v2.1.0 modern curriculum vitae and letter header variant: 1]
|
\ProvidesPackage{moderncvheadi}[2024-07-18 v2.4.1 modern curriculum vitae and letter header variant: 1]
|
||||||
|
|
||||||
% details options: "details" (default) or "nodetails"
|
% details options: "details" (default) or "nodetails"
|
||||||
\@initializeif{\if@details}\@detailsfalse
|
\@initializeif{\if@details}\@detailsfalse
|
||||||
|
|
@ -23,6 +23,11 @@
|
||||||
\@initializeif{\if@right}\@rightfalse
|
\@initializeif{\if@right}\@rightfalse
|
||||||
\DeclareOption{right} {\@leftfalse\@righttrue}
|
\DeclareOption{right} {\@leftfalse\@righttrue}
|
||||||
|
|
||||||
|
% top options: align header elements by their top instead of their bottom
|
||||||
|
% default: bottom
|
||||||
|
\@initializeif{\if@top}\@topfalse
|
||||||
|
\DeclareOption{top}{\@toptrue}
|
||||||
|
|
||||||
\DeclareOption*{}% avoid choking on unknown options
|
\DeclareOption*{}% avoid choking on unknown options
|
||||||
\ExecuteOptions{details,left}
|
\ExecuteOptions{details,left}
|
||||||
\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
|
\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
|
||||||
|
|
@ -43,10 +48,12 @@
|
||||||
\renewcommand*{\quotefont}{\large\slshape}
|
\renewcommand*{\quotefont}{\large\slshape}
|
||||||
|
|
||||||
% styles
|
% styles
|
||||||
\renewcommand*{\namestyle}[1]{{\namefont\textcolor{color0}{#1}}}
|
\renewcommand*{\namestyle}[1]{{\namefont\textcolor{namecolor}{#1}}}
|
||||||
\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{color2}{#1}}}
|
\renewcommand*{\firstnamestyle}[1]{{\namefont\textcolor{firstnamecolor}{#1}}}
|
||||||
\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{color2}{#1}}}
|
\renewcommand*{\lastnamestyle}[1]{{\namefont\textcolor{lastnamecolor}{#1}}}
|
||||||
\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{color1}{#1}}}
|
\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{titlecolor}{#1}}}
|
||||||
|
\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{addresscolor}{#1}}}
|
||||||
|
\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{quotecolor}{#1}}}
|
||||||
|
|
||||||
|
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
|
|
@ -72,7 +79,7 @@
|
||||||
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
|
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
|
||||||
\protected@edef\socialsdetails{\socialsdetails\protect\makenewline\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}%
|
\protected@edef\socialsdetails{\socialsdetails\protect\makenewline\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}%
|
||||||
\savebox{\makecvheaddetailsbox}{%
|
\savebox{\makecvheaddetailsbox}{%
|
||||||
\addressfont\color{color2}%
|
\addressfont\color{addresscolor}%
|
||||||
\if@left\begin{tabular}[b]{@{}r@{}}\fi%
|
\if@left\begin{tabular}[b]{@{}r@{}}\fi%
|
||||||
\if@right\begin{tabular}[b]{@{}l@{}}\fi%
|
\if@right\begin{tabular}[b]{@{}l@{}}\fi%
|
||||||
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
|
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
|
||||||
|
|
@ -81,10 +88,11 @@
|
||||||
\ifthenelse{\isundefined{\@born}}{}{\makenewline\bornsymbol\@born}%
|
\ifthenelse{\isundefined{\@born}}{}{\makenewline\bornsymbol\@born}%
|
||||||
\phonesdetails% needs to be pre-rendered as loops and tabulars seem to conflict
|
\phonesdetails% needs to be pre-rendered as loops and tabulars seem to conflict
|
||||||
\ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}%
|
\ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}%
|
||||||
\ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol\httpslink{\@homepage}}%
|
\ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol%
|
||||||
|
\ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}%
|
||||||
\socialsdetails% needs to be pre-rendered as loops and tabulars seem to conflict
|
\socialsdetails% needs to be pre-rendered as loops and tabulars seem to conflict
|
||||||
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}%
|
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}%
|
||||||
\end{tabular}
|
\end{tabular}%
|
||||||
}\fi%
|
}\fi%
|
||||||
% optional photo (pre-rendering)
|
% optional photo (pre-rendering)
|
||||||
\@initializebox{\makecvheadpicturebox}%
|
\@initializebox{\makecvheadpicturebox}%
|
||||||
|
|
@ -94,13 +102,13 @@
|
||||||
{%
|
{%
|
||||||
\if@left%
|
\if@left%
|
||||||
\hspace*{\separatorcolumnwidth}\fi%
|
\hspace*{\separatorcolumnwidth}\fi%
|
||||||
\color{color1}%
|
\color{pictureframecolor}%
|
||||||
\setlength{\fboxrule}{\@photoframewidth}%
|
\setlength{\fboxrule}{\@photoframewidth}%
|
||||||
\ifdim\@photoframewidth=0pt%
|
\ifdim\@photoframewidth=0pt%
|
||||||
\setlength{\fboxsep}{0pt}\fi%
|
\setlength{\fboxsep}{0pt}\fi%
|
||||||
\framebox{\includegraphics[width=\@photowidth]{\@photo}}}%
|
\framebox{\includegraphics[width=\@photowidth]{\@photo}}%
|
||||||
\if@right%
|
\if@right%
|
||||||
\hspace*{\separatorcolumnwidth}\fi}%
|
\hspace*{\separatorcolumnwidth}\fi}}%
|
||||||
% name and title (pre-rendering)
|
% name and title (pre-rendering)
|
||||||
\@initializelength{\makecvheaddetailswidth}\settowidth{\makecvheaddetailswidth}{\usebox{\makecvheaddetailsbox}}%
|
\@initializelength{\makecvheaddetailswidth}\settowidth{\makecvheaddetailswidth}{\usebox{\makecvheaddetailsbox}}%
|
||||||
\@initializelength{\makecvheadpicturewidth}\settowidth{\makecvheadpicturewidth}{\usebox{\makecvheadpicturebox}}%
|
\@initializelength{\makecvheadpicturewidth}\settowidth{\makecvheadpicturewidth}{\usebox{\makecvheadpicturebox}}%
|
||||||
|
|
@ -112,9 +120,14 @@
|
||||||
\begin{minipage}[b]{\makecvheadnamewidth}%
|
\begin{minipage}[b]{\makecvheadnamewidth}%
|
||||||
\if@left\raggedright\fi%
|
\if@left\raggedright\fi%
|
||||||
\if@right\raggedleft\fi%
|
\if@right\raggedleft\fi%
|
||||||
\namestyle{\@firstname\ \@lastname}%
|
\firstnamestyle{\@firstname\ }\lastnamestyle{\@lastname}%
|
||||||
\ifthenelse{\equal{\@title}{}}{}{\\[1.25em]\titlestyle{\@title}}%
|
\ifthenelse{\equal{\@title}{}}{}{\\[1.25em]\titlestyle{\@title}}%
|
||||||
\end{minipage}}%
|
\end{minipage}}%
|
||||||
|
% raise boxes if top option is set
|
||||||
|
\if@top%
|
||||||
|
\savebox{\makecvheadnamebox}{\raisebox{-\height+\baselineskip}{\usebox{\makecvheadnamebox}}}%
|
||||||
|
\savebox{\makecvheaddetailsbox}{\raisebox{-\height+\baselineskip}{\usebox{\makecvheaddetailsbox}}}%
|
||||||
|
\savebox{\makecvheadpicturebox}{\raisebox{-\height+\baselineskip}{\usebox{\makecvheadpicturebox}}}\fi%
|
||||||
% rendering
|
% rendering
|
||||||
\if@left%
|
\if@left%
|
||||||
\usebox{\makecvheadnamebox}%
|
\usebox{\makecvheadnamebox}%
|
||||||
|
|
@ -126,11 +139,17 @@
|
||||||
\rlap{\usebox{\makecvheaddetailsbox}}% \llap is used to suppress the width of the box, allowing overlap if the value of makecvheadnamewidth is forced
|
\rlap{\usebox{\makecvheaddetailsbox}}% \llap is used to suppress the width of the box, allowing overlap if the value of makecvheadnamewidth is forced
|
||||||
\hfill%
|
\hfill%
|
||||||
\usebox{\makecvheadnamebox}\fi%
|
\usebox{\makecvheadnamebox}\fi%
|
||||||
\\[2.5em]%
|
|
||||||
% optional quote
|
% optional quote
|
||||||
\ifthenelse{\isundefined{\@quote}}%
|
\ifthenelse{\isundefined{\@quote}}%
|
||||||
{}%
|
{\vspace{2.5em}}%
|
||||||
{{\centering\begin{minipage}{\quotewidth}\centering\quotestyle{\@quote}\end{minipage}\\[2.5em]}}%
|
{%
|
||||||
|
\\[2.5em]%
|
||||||
|
{%
|
||||||
|
\centering%
|
||||||
|
\begin{minipage}{\quotewidth}%
|
||||||
|
\centering%
|
||||||
|
\quotestyle{\@quote}%
|
||||||
|
\end{minipage}\\[2.5em]}}%
|
||||||
\par}% to avoid weird spacing bug at the first section if no blank line is left after \makecvhead
|
\par}% to avoid weird spacing bug at the first section if no blank line is left after \makecvhead
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -150,7 +169,7 @@
|
||||||
% optional detailed information
|
% optional detailed information
|
||||||
\if@details%
|
\if@details%
|
||||||
\raggedleft%
|
\raggedleft%
|
||||||
\addressfont\textcolor{color2}{%
|
\addressfont\textcolor{addresscolor}{%
|
||||||
{\bfseries\upshape\@firstname~\@lastname}\@firstdetailselementfalse%
|
{\bfseries\upshape\@firstname~\@lastname}\@firstdetailselementfalse%
|
||||||
% optional detailed information
|
% optional detailed information
|
||||||
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
|
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
|
||||||
|
|
@ -159,9 +178,12 @@
|
||||||
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
|
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
|
||||||
\makenewline\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}%
|
\makenewline\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}%
|
||||||
\ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}%
|
\ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}%
|
||||||
\ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol\httpslink{\@homepage}}%
|
\ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol%
|
||||||
|
\ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}%
|
||||||
|
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
|
||||||
|
\makenewline\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}%
|
||||||
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}\fi%
|
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}\fi%
|
||||||
\end{minipage}\\[1em]
|
\end{minipage}\\[2em]
|
||||||
% recipient block
|
% recipient block
|
||||||
\begin{minipage}[t]{.5\textwidth}
|
\begin{minipage}[t]{.5\textwidth}
|
||||||
\raggedright%
|
\raggedright%
|
||||||
|
|
@ -173,6 +195,8 @@
|
||||||
\hfill% US style
|
\hfill% US style
|
||||||
% \\[1em]% UK style
|
% \\[1em]% UK style
|
||||||
\@date\\[2em]% US informal style: "January 1, 1900"; UK formal style: "01/01/1900"
|
\@date\\[2em]% US informal style: "January 1, 1900"; UK formal style: "01/01/1900"
|
||||||
|
% optional subject
|
||||||
|
\ifthenelse{\isundefined{\@subject}}{}{{\bfseries\@subject\\[2em]}}
|
||||||
% opening
|
% opening
|
||||||
\raggedright%
|
\raggedright%
|
||||||
\@opening\\[1.5em]%
|
\@opening\\[1.5em]%
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
%% start of file `moderncvheadii.sty'.
|
%% start of file `moderncvheadii.sty'.
|
||||||
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
|
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
|
||||||
%
|
%
|
||||||
% This work may be distributed and/or modified under the
|
% This work may be distributed and/or modified under the
|
||||||
% conditions of the LaTeX Project Public License version 1.3c,
|
% conditions of the LaTeX Project Public License version 1.3c,
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
% identification
|
% identification
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
\NeedsTeXFormat{LaTeX2e}
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
\ProvidesPackage{moderncvheadii}[2021/01/21 v2.1.0 modern curriculum vitae and letter header variant: 2]
|
\ProvidesPackage{moderncvheadii}[2024-07-18 v2.4.1 modern curriculum vitae and letter header variant: 2]
|
||||||
|
|
||||||
% details options: "details" or "nodetails" (default)
|
% details options: "details" or "nodetails" (default)
|
||||||
\@initializeif{\if@details}\@detailsfalse
|
\@initializeif{\if@details}\@detailsfalse
|
||||||
|
|
@ -47,14 +47,14 @@
|
||||||
\renewcommand*{\quotefont}{\large\slshape}
|
\renewcommand*{\quotefont}{\large\slshape}
|
||||||
|
|
||||||
% styles
|
% styles
|
||||||
\renewcommand*{\namestyle}[1]{{\namefont\textcolor{color0}{#1}}}
|
\renewcommand*{\namestyle}[1]{{\namefont\textcolor{lastnamecolor}{#1}}}
|
||||||
\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{color2}{#1}}}
|
\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{titlecolor}{#1}}}
|
||||||
\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{color2}{#1}}}
|
\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{addresscolor}{#1}}}
|
||||||
\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{color1}{#1}}}
|
\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{quotecolor}{#1}}}
|
||||||
|
|
||||||
% commands
|
% commands
|
||||||
\@initializecommand{\makeheaddetailssymbol}{%
|
\@initializecommand{\makeheaddetailssymbol}{%
|
||||||
{~~~{\rmfamily\textbullet}~~~}}% the \rmfamily is required to force Latin Modern fonts when using sans serif, as OMS/lmss/m/n is not defined and gets substituted by OMS/cmsy/m/n
|
{\hspace{1em}{\rmfamily\textbullet}\hspace{1em}}}% the \rmfamily is required to force Latin Modern fonts when using sans serif, as OMS/lmss/m/n is not defined and gets substituted by OMS/cmsy/m/n
|
||||||
% internal command to add an element to the footer
|
% internal command to add an element to the footer
|
||||||
% it collects the elements in a temporary box, and checks when to flush the box
|
% it collects the elements in a temporary box, and checks when to flush the box
|
||||||
\@initializebox{\makeheaddetailsbox}%
|
\@initializebox{\makeheaddetailsbox}%
|
||||||
|
|
@ -110,7 +110,7 @@
|
||||||
\setlength\fboxrule{\@photoframewidth}%
|
\setlength\fboxrule{\@photoframewidth}%
|
||||||
\ifdim\@photoframewidth=0pt%
|
\ifdim\@photoframewidth=0pt%
|
||||||
\setlength{\fboxsep}{0pt}\fi%
|
\setlength{\fboxsep}{0pt}\fi%
|
||||||
{\color{color1}\framebox{\includegraphics[width=\@photowidth]{\@photo}}}}}%
|
{\color{pictureframecolor}\framebox{\includegraphics[width=\@photowidth]{\@photo}}}}}%
|
||||||
% name (pre-rendering)
|
% name (pre-rendering)
|
||||||
\@initializelength{\makecvheadpicturewidth}%
|
\@initializelength{\makecvheadpicturewidth}%
|
||||||
\settowidth{\makecvheadpicturewidth}{\usebox{\makecvheadpicturebox}}%
|
\settowidth{\makecvheadpicturewidth}{\usebox{\makecvheadpicturebox}}%
|
||||||
|
|
@ -121,9 +121,9 @@
|
||||||
\if@right\raggedleft\fi%
|
\if@right\raggedleft\fi%
|
||||||
\namefont%
|
\namefont%
|
||||||
\if@alternate% alternate design: first- and lastname in lowercase with no space in between (distinction is made by color difference)
|
\if@alternate% alternate design: first- and lastname in lowercase with no space in between (distinction is made by color difference)
|
||||||
{\color{color2!50}\MakeLowercase\@firstname}{\color{color2}\MakeLowercase\@lastname}%
|
{\color{firstnamecolor}\MakeLowercase\@firstname}{\color{lastnamecolor}\MakeLowercase\@lastname}%
|
||||||
\else% default design: first- and lastname as given with a space in between
|
\else% default design: first- and lastname as given with a space in between
|
||||||
{\color{color2!50}\@firstname} {\color{color2}\@lastname}\fi}}%
|
{\color{firstnamecolor}\@firstname} {\color{lastnamecolor}\@lastname}\fi}}%
|
||||||
% rendering
|
% rendering
|
||||||
\if@left%
|
\if@left%
|
||||||
\usebox{\makecvheadnamebox}%
|
\usebox{\makecvheadnamebox}%
|
||||||
|
|
@ -131,11 +131,11 @@
|
||||||
\if@right%
|
\if@right%
|
||||||
\usebox{\makecvheadpicturebox}%
|
\usebox{\makecvheadpicturebox}%
|
||||||
\usebox{\makecvheadnamebox}\fi\\[-.35em]%
|
\usebox{\makecvheadnamebox}\fi\\[-.35em]%
|
||||||
{\color{color2!50}\rule{\textwidth}{.25ex}}%
|
{\color{headrulecolor}\rule{\textwidth}{.25ex}}%
|
||||||
% optional detailed information
|
% optional detailed information
|
||||||
\if@details{%
|
\if@details{%
|
||||||
\\\null%
|
\\\null%
|
||||||
\addressfont\color{color2}%
|
\addressfont\color{addresscolor}%
|
||||||
\ifthenelse{\isundefined{\@addressstreet}}{}{\addtomakeheaddetails{\addresssymbol\@addressstreet}%
|
\ifthenelse{\isundefined{\@addressstreet}}{}{\addtomakeheaddetails{\addresssymbol\@addressstreet}%
|
||||||
\ifthenelse{\equal{\@addresscity}{}}{}{\addtomakeheaddetails[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
|
\ifthenelse{\equal{\@addresscity}{}}{}{\addtomakeheaddetails[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
|
||||||
\ifthenelse{\equal{\@addresscountry}{}}{}{\addtomakeheaddetails[~--~]{\@addresscountry}}%
|
\ifthenelse{\equal{\@addresscountry}{}}{}{\addtomakeheaddetails[~--~]{\@addresscountry}}%
|
||||||
|
|
@ -144,7 +144,8 @@
|
||||||
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
|
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
|
||||||
\addtomakeheaddetails{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
|
\addtomakeheaddetails{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
|
||||||
\ifthenelse{\isundefined{\@email}}{}{\addtomakeheaddetails{\emailsymbol\emaillink{\@email}}}%
|
\ifthenelse{\isundefined{\@email}}{}{\addtomakeheaddetails{\emailsymbol\emaillink{\@email}}}%
|
||||||
\ifthenelse{\isundefined{\@homepage}}{}{\addtomakeheaddetails{\homepagesymbol\httpslink{\@homepage}}}%
|
\ifthenelse{\isundefined{\@homepage}}{}{\addtomakeheaddetails{\homepagesymbol%
|
||||||
|
\ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}}%
|
||||||
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
|
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
|
||||||
\addtomakeheaddetails{\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}%
|
\addtomakeheaddetails{\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}%
|
||||||
\ifthenelse{\isundefined{\@extrainfo}}{}{\addtomakeheaddetails{\@extrainfo}}%
|
\ifthenelse{\isundefined{\@extrainfo}}{}{\addtomakeheaddetails{\@extrainfo}}%
|
||||||
|
|
@ -157,15 +158,18 @@
|
||||||
\titlestyle{\MakeLowercase\@title}%
|
\titlestyle{\MakeLowercase\@title}%
|
||||||
\else%
|
\else%
|
||||||
\titlestyle{\@title}\fi%
|
\titlestyle{\@title}\fi%
|
||||||
}\\[2.5em]%
|
}
|
||||||
% optional quote
|
% optional quote
|
||||||
\ifthenelse{\isundefined{\@quote}}%
|
\ifthenelse{\isundefined{\@quote}}%
|
||||||
{}%
|
{\vspace{2.5em}}%
|
||||||
{{\null\hfill%
|
{%
|
||||||
|
\\[2.5em]%
|
||||||
|
{%
|
||||||
|
\centering%
|
||||||
\begin{minipage}{\quotewidth}%
|
\begin{minipage}{\quotewidth}%
|
||||||
\centering%
|
\centering%
|
||||||
\quotestyle{\@quote}%
|
\quotestyle{\@quote}%
|
||||||
\end{minipage}\hfill\null\\[2.5em]}}%
|
\end{minipage}\\[2.5em]}}%
|
||||||
\par}% to avoid weird spacing bug at the first section if no blank line is left after \maketitle
|
\par}% to avoid weird spacing bug at the first section if no blank line is left after \maketitle
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -189,7 +193,9 @@
|
||||||
% date
|
% date
|
||||||
\hfill% US style
|
\hfill% US style
|
||||||
% \\[1em]% UK style
|
% \\[1em]% UK style
|
||||||
\@date\\[2em]% US informal style: "January 1, 1900"; UK formal style: "01/01/1900"
|
\@date\\[3em]% US informal style: "January 1, 1900"; UK formal style: "01/01/1900"
|
||||||
|
% optional subject
|
||||||
|
\ifthenelse{\isundefined{\@subject}}{}{{\bfseries\@subject\\[3em]}}
|
||||||
% opening
|
% opening
|
||||||
\raggedright%
|
\raggedright%
|
||||||
\@opening\\[1.5em]%
|
\@opening\\[1.5em]%
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
%% start of file `moderncvheadiii.sty'.
|
%% start of file `moderncvheadiii.sty'.
|
||||||
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
|
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
|
||||||
%
|
%
|
||||||
% This work may be distributed and/or modified under the
|
% This work may be distributed and/or modified under the
|
||||||
% conditions of the LaTeX Project Public License version 1.3c,
|
% conditions of the LaTeX Project Public License version 1.3c,
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
% identification
|
% identification
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
\NeedsTeXFormat{LaTeX2e}
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
\ProvidesPackage{moderncvheadiii}[2021/01/21 v2.1.0 modern curriculum vitae and letter header variant: 3]
|
\ProvidesPackage{moderncvheadiii}[2024-07-18 v2.4.1 modern curriculum vitae and letter header variant: 3]
|
||||||
|
|
||||||
% details options: "details" (default) or "nodetails"
|
% details options: "details" (default) or "nodetails"
|
||||||
\@initializeif{\if@details}\@detailsfalse
|
\@initializeif{\if@details}\@detailsfalse
|
||||||
|
|
@ -36,14 +36,16 @@
|
||||||
\renewcommand*{\quotefont}{\large\slshape}
|
\renewcommand*{\quotefont}{\large\slshape}
|
||||||
|
|
||||||
% styles
|
% styles
|
||||||
\renewcommand*{\namestyle}[1]{{\namefont\textcolor{color1}{#1}}}
|
\renewcommand*{\namestyle}[1]{{\namefont\textcolor{namecolor}{#1}}}
|
||||||
\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{color2!85}{#1}}}
|
\renewcommand*{\firstnamestyle}[1]{{\namefont\textcolor{firstnamecolor}{#1}}}
|
||||||
\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{color2}{#1}}}
|
\renewcommand*{\lastnamestyle}[1]{{\namefont\textcolor{lastnamecolor}{#1}}}
|
||||||
\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{color1}{#1}}}
|
\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{titlecolor}{#1}}}
|
||||||
|
\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{addresscolor}{#1}}}
|
||||||
|
\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{quotecolor}{#1}}}
|
||||||
|
|
||||||
% commands
|
% commands
|
||||||
\@initializecommand{\makeheaddetailssymbol}{%
|
\@initializecommand{\makeheaddetailssymbol}{%
|
||||||
{~~~{\rmfamily\textbullet}~~~}}% the \rmfamily is required to force Latin Modern fonts when using sans serif, as OMS/lmss/m/n is not defined and gets substituted by OMS/cmsy/m/n
|
{\hspace{1em}{\rmfamily\textbullet}\hspace{1em}}}% the \rmfamily is required to force Latin Modern fonts when using sans serif, as OMS/lmss/m/n is not defined and gets substituted by OMS/cmsy/m/n
|
||||||
% internal command to add an element to the footer
|
% internal command to add an element to the footer
|
||||||
% it collects the elements in a temporary box, and checks when to flush the box
|
% it collects the elements in a temporary box, and checks when to flush the box
|
||||||
\@initializebox{\makeheaddetailsbox}%
|
\@initializebox{\makeheaddetailsbox}%
|
||||||
|
|
@ -81,25 +83,26 @@
|
||||||
\parbox{\makeheaddetailswidth}{%
|
\parbox{\makeheaddetailswidth}{%
|
||||||
\centering%
|
\centering%
|
||||||
% name and title
|
% name and title
|
||||||
\namestyle{\@firstname~\@lastname}%
|
\firstnamestyle{\@firstname\ }\lastnamestyle{\@lastname}%
|
||||||
\ifthenelse{\equal{\@title}{}}{}{\titlestyle{~|~\@title}}% \isundefined doesn't work on \@title, as LaTeX itself defines \@title (before it possibly gets redefined by \title)
|
\ifthenelse{\equal{\@title}{}}{}{\titlestyle{~|~\@title}}% \isundefined doesn't work on \@title, as LaTeX itself defines \@title (before it possibly gets redefined by \title)
|
||||||
% optional detailed information
|
% optional detailed information
|
||||||
\if@details{%
|
\if@details{%
|
||||||
\\%
|
\\%
|
||||||
\addressfont\color{color2}%
|
\addressfont\color{addresscolor}%
|
||||||
\ifthenelse{\isundefined{\@addressstreet}}{}{\addtomakeheaddetails{\addresssymbol\@addressstreet}%
|
\ifthenelse{\isundefined{\@addressstreet}}{}{\addtomakeheaddetails{\addresssymbol\@addressstreet}%
|
||||||
\ifthenelse{\equal{\@addresscity}{}}{}{\addtomakeheaddetails[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
|
\ifthenelse{\equal{\@addresscity}{}}{}{\addtomakeheaddetails[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
|
||||||
\ifthenelse{\equal{\@addresscountry}{}}{}{\addtomakeheaddetails[~--~]{\@addresscountry}}%
|
\ifthenelse{\equal{\@addresscountry}{}}{}{\addtomakeheaddetails[~--~]{\@addresscountry}}%
|
||||||
\flushmakeheaddetails\@firstmakeheaddetailselementtrue\\\null}%
|
\flushmakeheaddetails\@firstmakeheaddetailselementtrue\\}%
|
||||||
\ifthenelse{\isundefined{\@born}}{}{\addtomakeheaddetails{\bornsymbol\@born}}%
|
\ifthenelse{\isundefined{\@born}}{}{\addtomakeheaddetails{\bornsymbol\@born}}%
|
||||||
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
|
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
|
||||||
\addtomakeheaddetails{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
|
\addtomakeheaddetails{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
|
||||||
\ifthenelse{\isundefined{\@email}}{}{\addtomakeheaddetails{\emailsymbol\emaillink{\@email}}}%
|
\ifthenelse{\isundefined{\@email}}{}{\addtomakeheaddetails{\emailsymbol\emaillink{\@email}}}%
|
||||||
\ifthenelse{\isundefined{\@homepage}}{}{\addtomakeheaddetails{\homepagesymbol\httpslink{\@homepage}}}%
|
\ifthenelse{\isundefined{\@homepage}}{}{\addtomakeheaddetails{\homepagesymbol%
|
||||||
|
\ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}}%
|
||||||
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
|
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
|
||||||
\addtomakeheaddetails{\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}%
|
\addtomakeheaddetails{\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}%
|
||||||
\ifthenelse{\isundefined{\@extrainfo}}{}{\addtomakeheaddetails{\@extrainfo}}%
|
\ifthenelse{\isundefined{\@extrainfo}}{}{\addtomakeheaddetails{\@extrainfo}}%
|
||||||
\flushmakeheaddetails}\fi}\\[2.5em]}% need to force a \par after this to avoid weird spacing bug at the first section if no blank line is left after \makehead
|
\flushmakeheaddetails}\fi}}% need to force a \par after this to avoid weird spacing bug at the first section if no blank line is left after \makehead
|
||||||
|
|
||||||
|
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
|
|
@ -117,8 +120,15 @@
|
||||||
\makehead%
|
\makehead%
|
||||||
% optional quote
|
% optional quote
|
||||||
\ifthenelse{\isundefined{\@quote}}%
|
\ifthenelse{\isundefined{\@quote}}%
|
||||||
{}%
|
{\vspace{2.5em}}%
|
||||||
{{\centering\begin{minipage}{\quotewidth}\centering\quotestyle{\@quote}\end{minipage}\\[2.5em]}}%
|
{%
|
||||||
|
\\[2.5em]%
|
||||||
|
{%
|
||||||
|
\centering%
|
||||||
|
\begin{minipage}{\quotewidth}%
|
||||||
|
\centering%
|
||||||
|
\quotestyle{\@quote}%
|
||||||
|
\end{minipage}\\[2.5em]}}%
|
||||||
\par}% to avoid weird spacing bug at the first section if no blank line is left after \maketitle}
|
\par}% to avoid weird spacing bug at the first section if no blank line is left after \maketitle}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -132,9 +142,27 @@
|
||||||
\renewcommand*{\makeletterhead}{%
|
\renewcommand*{\makeletterhead}{%
|
||||||
% recompute lengths (in case we are switching from letter to resume, or vice versa)
|
% recompute lengths (in case we are switching from letter to resume, or vice versa)
|
||||||
\recomputeletterlengths%
|
\recomputeletterlengths%
|
||||||
% sender block
|
% sender contact info
|
||||||
\makehead%
|
\hfill%
|
||||||
\par%
|
\begin{minipage}{.5\textwidth}%
|
||||||
|
% optional detailed information
|
||||||
|
\if@details%
|
||||||
|
\raggedleft%
|
||||||
|
\addressfont\textcolor{color2}{%
|
||||||
|
{\bfseries\upshape\@firstname~\@lastname}\@firstdetailselementfalse%
|
||||||
|
% optional detailed information
|
||||||
|
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
|
||||||
|
\ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and addresscountry will always be defined but could be empty
|
||||||
|
\ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}%
|
||||||
|
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
|
||||||
|
\makenewline\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}%
|
||||||
|
\ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}%
|
||||||
|
\ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol%
|
||||||
|
\ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}%
|
||||||
|
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
|
||||||
|
\makenewline\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}%
|
||||||
|
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}\fi%
|
||||||
|
\end{minipage}\\[2em]
|
||||||
% recipient block
|
% recipient block
|
||||||
\begin{minipage}[t]{.5\textwidth}
|
\begin{minipage}[t]{.5\textwidth}
|
||||||
\raggedright%
|
\raggedright%
|
||||||
|
|
@ -145,7 +173,9 @@
|
||||||
% date
|
% date
|
||||||
\hfill% US style
|
\hfill% US style
|
||||||
% \\[1em]% UK style
|
% \\[1em]% UK style
|
||||||
\@date\\[2em]% US informal style: "January 1, 1900"; UK formal style: "01/01/1900"
|
\@date\\[3em]% US informal style: "January 1, 1900"; UK formal style: "01/01/1900"
|
||||||
|
% optional subject
|
||||||
|
\ifthenelse{\isundefined{\@subject}}{}{{\bfseries\@subject\\[3em]}}
|
||||||
% opening
|
% opening
|
||||||
\raggedright%
|
\raggedright%
|
||||||
\@opening\\[1.5em]%
|
\@opening\\[1.5em]%
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
%% start of file `moderncvheadiv.sty'.
|
%% start of file `moderncvheadiv.sty'.
|
||||||
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
|
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
|
||||||
%
|
%
|
||||||
% This work may be distributed and/or modified under the
|
% This work may be distributed and/or modified under the
|
||||||
% conditions of the LaTeX Project Public License version 1.3c,
|
% conditions of the LaTeX Project Public License version 1.3c,
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
% identification
|
% identification
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
\NeedsTeXFormat{LaTeX2e}
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
\ProvidesPackage{moderncvheadiv}[2021/01/21 v2.1.0 modern curriculum vitae and letter header variant: 4]
|
\ProvidesPackage{moderncvheadiv}[2024-07-18 v2.4.1 modern curriculum vitae and letter header variant: 4]
|
||||||
|
|
||||||
% details options: "details" (default) or "nodetails"
|
% details options: "details" (default) or "nodetails"
|
||||||
\@initializeif{\if@details}\@detailsfalse
|
\@initializeif{\if@details}\@detailsfalse
|
||||||
|
|
@ -38,10 +38,12 @@
|
||||||
\renewcommand*{\quotefont}{\large\itshape}
|
\renewcommand*{\quotefont}{\large\itshape}
|
||||||
|
|
||||||
% styles
|
% styles
|
||||||
\renewcommand*{\namestyle}[1]{{\namefont\textcolor{color0}{#1}}}
|
\renewcommand*{\namestyle}[1]{{\namefont\textcolor{namecolor}{#1}}}
|
||||||
\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{color2}{#1}}}
|
\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{titlecolor}{#1}}}
|
||||||
\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{color2}{#1}}}
|
\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{addresscolor}{#1}}}
|
||||||
\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{color1}{#1}}}
|
\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{quotecolor}{#1}}}
|
||||||
|
\renewcommand*{\firstnamestyle}[1]{{\namefont\textcolor{firstnamecolor}{#1}}}
|
||||||
|
\renewcommand*{\lastnamestyle}[1]{{\namefont\textcolor{lastnamecolor}{#1}}}
|
||||||
|
|
||||||
|
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
|
|
@ -80,7 +82,7 @@
|
||||||
\ifthenelse{\isundefined{\@photo}}%
|
\ifthenelse{\isundefined{\@photo}}%
|
||||||
{}%
|
{}%
|
||||||
{%
|
{%
|
||||||
\color{color1}%
|
\color{pictureframecolor}%
|
||||||
\setlength\fboxrule{\@photoframewidth}%
|
\setlength\fboxrule{\@photoframewidth}%
|
||||||
\ifdim\@photoframewidth=0pt%
|
\ifdim\@photoframewidth=0pt%
|
||||||
\setlength{\fboxsep}{0pt}\fi%
|
\setlength{\fboxsep}{0pt}\fi%
|
||||||
|
|
@ -91,7 +93,7 @@
|
||||||
{\setlength{\makecvheadnamewidth}{\textwidth-\makecvheadpicturewidth}}%
|
{\setlength{\makecvheadnamewidth}{\textwidth-\makecvheadpicturewidth}}%
|
||||||
{}%
|
{}%
|
||||||
\begin{minipage}[b]{\makecvheadnamewidth}%
|
\begin{minipage}[b]{\makecvheadnamewidth}%
|
||||||
\firstnamestyle{\@firstname} \lastnamestyle{\@lastname}%
|
\firstnamestyle{\@firstname\ }\lastnamestyle{\@lastname}%
|
||||||
\ifthenelse{\equal{\@title}{}}{}{\\[1.25em]\titlestyle{\@title}}%
|
\ifthenelse{\equal{\@title}{}}{}{\\[1.25em]\titlestyle{\@title}}%
|
||||||
\end{minipage}%
|
\end{minipage}%
|
||||||
% optional photo
|
% optional photo
|
||||||
|
|
@ -103,7 +105,7 @@
|
||||||
% optional details
|
% optional details
|
||||||
\if@details%
|
\if@details%
|
||||||
\makecvheadinfo{%
|
\makecvheadinfo{%
|
||||||
\addressfont\color{color2}%
|
\addressfont\color{addresscolor}%
|
||||||
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
|
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
|
||||||
\ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
|
\ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
|
||||||
\ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}%
|
\ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}%
|
||||||
|
|
@ -111,7 +113,8 @@
|
||||||
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
|
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
|
||||||
\makenewline\hbox to 1.0em{\csname\collectionloopkey phonesymbol\endcsname}~\collectionloopitem}%
|
\makenewline\hbox to 1.0em{\csname\collectionloopkey phonesymbol\endcsname}~\collectionloopitem}%
|
||||||
\ifthenelse{\isundefined{\@email}}{}{\makenewline\hbox to 1.0em{\emailsymbol}~\emaillink{\@email}}%
|
\ifthenelse{\isundefined{\@email}}{}{\makenewline\hbox to 1.0em{\emailsymbol}~\emaillink{\@email}}%
|
||||||
\ifthenelse{\isundefined{\@homepage}}{}{\makenewline\hbox to 1.0em{\homepagesymbol}~\httpslink{\@homepage}}%
|
\ifthenelse{\isundefined{\@homepage}}{}{\makenewline\hbox to 1.0em{\homepagesymbol}~%
|
||||||
|
\ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}%
|
||||||
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
|
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
|
||||||
\makenewline\hbox to 1.0em{\csname\collectionloopkey socialsymbol\endcsname}~\collectionloopitem}%
|
\makenewline\hbox to 1.0em{\csname\collectionloopkey socialsymbol\endcsname}~\collectionloopitem}%
|
||||||
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}\fi}
|
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}\fi}
|
||||||
|
|
@ -143,13 +146,15 @@
|
||||||
\@recipientaddress}\\[1em]%
|
\@recipientaddress}\\[1em]%
|
||||||
% date
|
% date
|
||||||
\@date\\[2em]%
|
\@date\\[2em]%
|
||||||
|
% optional subject
|
||||||
|
\ifthenelse{\isundefined{\@subject}}{}{{\bfseries\@subject\\[2em]}}
|
||||||
% opening
|
% opening
|
||||||
\@opening\\[1.5em]%
|
\@opening\\[1.5em]%
|
||||||
% sender contact info
|
% sender contact info
|
||||||
\if@details%
|
\if@details%
|
||||||
\hspace{0pt}%
|
\hspace{0pt}%
|
||||||
\marginpar{%
|
\marginpar{%
|
||||||
\addressfont\textcolor{color2}{%
|
\addressfont\textcolor{addresscolor}{%
|
||||||
{\bfseries\@firstname~\@lastname}\@firstdetailselementfalse%
|
{\bfseries\@firstname~\@lastname}\@firstdetailselementfalse%
|
||||||
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
|
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
|
||||||
\ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
|
\ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
|
||||||
|
|
@ -157,7 +162,8 @@
|
||||||
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
|
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
|
||||||
\makenewline\hbox to 1.0em{\csname\collectionloopkey phonesymbol\endcsname}~\collectionloopitem}%
|
\makenewline\hbox to 1.0em{\csname\collectionloopkey phonesymbol\endcsname}~\collectionloopitem}%
|
||||||
\ifthenelse{\isundefined{\@email}}{}{\makenewline\hbox to 1.0em{\emailsymbol}~\emaillink{\@email}}%
|
\ifthenelse{\isundefined{\@email}}{}{\makenewline\hbox to 1.0em{\emailsymbol}~\emaillink{\@email}}%
|
||||||
\ifthenelse{\isundefined{\@homepage}}{}{\makenewline\hbox to 1.0em{\homepagesymbol}~\httpslink{\@homepage}}%
|
\ifthenelse{\isundefined{\@homepage}}{}{\makenewline\hbox to 1.0em{\homepagesymbol}~%
|
||||||
|
\ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}%
|
||||||
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
|
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
|
||||||
\makenewline\hbox to 1.0em{\csname\collectionloopkey socialsymbol\endcsname}~\collectionloopitem}%
|
\makenewline\hbox to 1.0em{\csname\collectionloopkey socialsymbol\endcsname}~\collectionloopitem}%
|
||||||
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}}%
|
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}}%
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
%% start of file `moderncvheadv.sty'.
|
%% start of file `moderncvheadv.sty'.
|
||||||
%% Copyright 2015-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
|
%% Copyright 2015-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
|
||||||
%
|
%
|
||||||
% This work may be distributed and/or modified under the
|
% This work may be distributed and/or modified under the
|
||||||
% conditions of the LaTeX Project Public License version 1.3c,
|
% conditions of the LaTeX Project Public License version 1.3c,
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
% identification
|
% identification
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
\NeedsTeXFormat{LaTeX2e}
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
\ProvidesPackage{moderncvheadv}[2021/01/21 v2.1.0 modern curriculum vitae and letter header variant: 5]
|
\ProvidesPackage{moderncvheadv}[2024-07-18 v2.4.1 modern curriculum vitae and letter header variant: 5]
|
||||||
|
|
||||||
% details options: "details" (default) or "nodetails"
|
% details options: "details" (default) or "nodetails"
|
||||||
\@initializeif{\if@details}\@detailsfalse
|
\@initializeif{\if@details}\@detailsfalse
|
||||||
|
|
@ -37,10 +37,12 @@
|
||||||
\renewcommand*{\quotefont}{\large\slshape}
|
\renewcommand*{\quotefont}{\large\slshape}
|
||||||
|
|
||||||
% styles
|
% styles
|
||||||
\renewcommand*{\namestyle}[1]{{\namefont\textcolor{color0}{#1}}}
|
\renewcommand*{\namestyle}[1]{{\namefont\textcolor{namecolor}{#1}}}
|
||||||
\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{color2}{#1}}}
|
\renewcommand*{\firstnamestyle}[1]{{\namefont\textcolor{firstnamecolor}{#1}}}
|
||||||
\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{color2}{#1}}}
|
\renewcommand*{\lastnamestyle}[1]{{\namefont\textcolor{lastnamecolor}{#1}}}
|
||||||
\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{color1}{#1}}}
|
\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{titlecolor}{#1}}}
|
||||||
|
\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{addresscolor}{#1}}}
|
||||||
|
\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{quotecolor}{#1}}}
|
||||||
|
|
||||||
|
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
|
|
@ -61,7 +63,7 @@
|
||||||
\ifthenelse{\isundefined{\@photo}}%
|
\ifthenelse{\isundefined{\@photo}}%
|
||||||
{}%
|
{}%
|
||||||
{%
|
{%
|
||||||
\color{color1}%
|
\color{pictureframecolor}%
|
||||||
\setlength{\fboxrule}{\@photoframewidth}%
|
\setlength{\fboxrule}{\@photoframewidth}%
|
||||||
\ifdim\@photoframewidth=0pt%
|
\ifdim\@photoframewidth=0pt%
|
||||||
\setlength{\fboxsep}{0pt}\fi%
|
\setlength{\fboxsep}{0pt}\fi%
|
||||||
|
|
@ -75,7 +77,7 @@
|
||||||
% optional details
|
% optional details
|
||||||
\if@details%
|
\if@details%
|
||||||
\ifthenelse{\isundefined{\@photo}}{}{\\[0.5em]}%
|
\ifthenelse{\isundefined{\@photo}}{}{\\[0.5em]}%
|
||||||
\addressfont\color{color2}%
|
\addressfont\color{addresscolor}%
|
||||||
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
|
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
|
||||||
\ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
|
\ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
|
||||||
\ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}%
|
\ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}%
|
||||||
|
|
@ -83,7 +85,8 @@
|
||||||
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
|
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
|
||||||
\makenewline\csname\collectionloopkey phonesymbol\endcsname~\collectionloopitem}%
|
\makenewline\csname\collectionloopkey phonesymbol\endcsname~\collectionloopitem}%
|
||||||
\ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol~\emaillink{\@email}}%
|
\ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol~\emaillink{\@email}}%
|
||||||
\ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol~\httpslink{\@homepage}}%
|
\ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol~%
|
||||||
|
\ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}%
|
||||||
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
|
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
|
||||||
\makenewline\csname\collectionloopkey socialsymbol\endcsname~\collectionloopitem}%
|
\makenewline\csname\collectionloopkey socialsymbol\endcsname~\collectionloopitem}%
|
||||||
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}\fi}%
|
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}\fi}%
|
||||||
|
|
@ -91,18 +94,32 @@
|
||||||
% name and optional title
|
% name and optional title
|
||||||
\newlength{\makecvheadpictureboxskip}%
|
\newlength{\makecvheadpictureboxskip}%
|
||||||
\setlength{\makecvheadpictureboxskip}{\totalheightof{\usebox{\makecvheadpicturebox}}}%
|
\setlength{\makecvheadpictureboxskip}{\totalheightof{\usebox{\makecvheadpicturebox}}}%
|
||||||
\namestyle{\@firstname\ \@lastname}%
|
\firstnamestyle{\@firstname\ }\lastnamestyle{\@lastname}%
|
||||||
\ifthenelse{\equal{\@title}{}}{}{\\[1.25em]\titlestyle{\@title}}\\[2.5em]%
|
\ifthenelse{\equal{\@title}{}}{
|
||||||
% optional quote
|
|
||||||
\ifthenelse{\isundefined{\@quote}}%
|
\ifthenelse{\isundefined{\@quote}}%
|
||||||
{}%
|
{}%
|
||||||
{\begin{minipage}{\quotewidth}\quotestyle{\@quote}\end{minipage}\\[2.5em]}}%
|
{%
|
||||||
|
\\[1.25em]%
|
||||||
|
\begin{minipage}{\quotewidth}%
|
||||||
|
\quotestyle{\@quote}%
|
||||||
|
\end{minipage}}%
|
||||||
|
}{%
|
||||||
|
\\[1.25em]%
|
||||||
|
\titlestyle{\@title}
|
||||||
|
% optional quote
|
||||||
|
\ifthenelse{\isundefined{\@quote}}%
|
||||||
|
{\vspace{2.5em}}%
|
||||||
|
{%
|
||||||
|
\\[2.5em]%
|
||||||
|
\begin{minipage}{\quotewidth}%
|
||||||
|
\quotestyle{\@quote}
|
||||||
|
\end{minipage}}}}%
|
||||||
\par}% to avoid weird spacing bug at the first section if no blank line is left after \makecvhead
|
\par}% to avoid weird spacing bug at the first section if no blank line is left after \makecvhead
|
||||||
|
|
||||||
% underlying command to implement \makecvtitle, identical to \@cvitem from moderncvbodyv
|
% underlying command to implement \makecvtitle, identical to \@cvitem from moderncvbodyv
|
||||||
\let\standarddoublebackslash\\%
|
\let\standarddoublebackslash\\%
|
||||||
\newcommand*{\@makecvtitle}[3][.5ex]{%
|
\newcommand*{\@makecvtitle}[3][.5ex]{%
|
||||||
\arrayrulecolor{color1}%
|
\arrayrulecolor{headrulecolor}%
|
||||||
\setlength\arrayrulewidth{1.2\p@}%
|
\setlength\arrayrulewidth{1.2\p@}%
|
||||||
\if@aftersection\else%
|
\if@aftersection\else%
|
||||||
\vspace*{-\arrayrulewidth}\fi% HACK; I don't understand where the space is coming from, nor what it's exact value is :(
|
\vspace*{-\arrayrulewidth}\fi% HACK; I don't understand where the space is coming from, nor what it's exact value is :(
|
||||||
|
|
@ -132,7 +149,7 @@
|
||||||
% optional detailed information
|
% optional detailed information
|
||||||
\if@details%
|
\if@details%
|
||||||
\raggedleft%
|
\raggedleft%
|
||||||
\addressfont\textcolor{color2}{%
|
\addressfont\textcolor{addresscolor}{%
|
||||||
{\bfseries\upshape\@firstname~\@lastname}\@firstdetailselementfalse%
|
{\bfseries\upshape\@firstname~\@lastname}\@firstdetailselementfalse%
|
||||||
% optional detailed information
|
% optional detailed information
|
||||||
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
|
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
|
||||||
|
|
@ -141,9 +158,12 @@
|
||||||
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
|
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
|
||||||
\makenewline\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}%
|
\makenewline\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}%
|
||||||
\ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}%
|
\ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}%
|
||||||
\ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol\httpslink{\@homepage}}%
|
\ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol%
|
||||||
|
\ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}%
|
||||||
|
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
|
||||||
|
\makenewline\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}%
|
||||||
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}\fi%
|
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}\fi%
|
||||||
\end{minipage}\\[1em]
|
\end{minipage}\\[2em]
|
||||||
% recipient block
|
% recipient block
|
||||||
\begin{minipage}[t]{.5\textwidth}
|
\begin{minipage}[t]{.5\textwidth}
|
||||||
\raggedright%
|
\raggedright%
|
||||||
|
|
@ -154,7 +174,9 @@
|
||||||
% date
|
% date
|
||||||
\hfill% US style
|
\hfill% US style
|
||||||
% \\[1em]% UK style
|
% \\[1em]% UK style
|
||||||
\@date\\[2em]% US informal style: "January 1, 1900"; UK formal style: "01/01/1900"
|
\@date\\[3em]% US informal style: "January 1, 1900"; UK formal style: "01/01/1900"
|
||||||
|
% optional subject
|
||||||
|
\ifthenelse{\isundefined{\@subject}}{}{{\bfseries\@subject\\[2em]}}
|
||||||
% opening
|
% opening
|
||||||
\raggedright%
|
\raggedright%
|
||||||
\@opening\\[1.5em]%
|
\@opening\\[1.5em]%
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
%% start of file `moderncvheadvi.sty'.
|
%% start of file `moderncvheadvi.sty'.
|
||||||
%% Copyright 2015-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
|
%% Copyright 2015-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
|
||||||
%
|
%
|
||||||
% This work may be distributed and/or modified under the
|
% This work may be distributed and/or modified under the
|
||||||
% conditions of the LaTeX Project Public License version 1.3c,
|
% conditions of the LaTeX Project Public License version 1.3c,
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
% identification
|
% identification
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
\NeedsTeXFormat{LaTeX2e}
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
\ProvidesPackage{moderncvheadvi}[2021/01/21 v2.1.0 modern curriculum vitae and letter header: 6]
|
\ProvidesPackage{moderncvheadvi}[2024-07-18 v2.4.1 modern curriculum vitae and letter header: 6]
|
||||||
|
|
||||||
% details options: "details" (default) or "nodetails"
|
% details options: "details" (default) or "nodetails"
|
||||||
\@initializeif{\if@details}\@detailsfalse
|
\@initializeif{\if@details}\@detailsfalse
|
||||||
|
|
@ -43,20 +43,22 @@
|
||||||
\renewcommand*{\quotefont}{\large\slshape}
|
\renewcommand*{\quotefont}{\large\slshape}
|
||||||
|
|
||||||
% styles
|
% styles
|
||||||
\renewcommand*{\namestyle}[1]{{\namefont\textcolor{color1}{#1}}}
|
\renewcommand*{\namestyle}[1]{{\namefont\textcolor{namecolor}{#1}}}
|
||||||
\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{color2!85}{#1}}}
|
\renewcommand*{\firstnamestyle}[1]{{\namefont\textcolor{firstnamecolor}{#1}}}
|
||||||
\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{color2}{#1}}}
|
\renewcommand*{\lastnamestyle}[1]{{\namefont\textcolor{lastnamecolor}{#1}}}
|
||||||
\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{color1}{#1}}}
|
\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{titlecolor}{#1}}}
|
||||||
|
\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{addresscolor}{#1}}}
|
||||||
|
\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{quotecolor}{#1}}}
|
||||||
|
|
||||||
% commands
|
% commands
|
||||||
\@initializecommand{\makehead}{%
|
\@initializecommand{\makehead}{%
|
||||||
\setlength{\makeheaddetailswidth}{\textwidth}%
|
\setlength{\makeheaddetailswidth}{\textwidth}%
|
||||||
% name and title
|
% name and title
|
||||||
\if@left\hfill\fi%
|
\if@left\hfill\fi%
|
||||||
\namestyle{\@firstname~\@lastname}%
|
\firstnamestyle{\@firstname\ }\lastnamestyle{\@lastname}%
|
||||||
\ifthenelse{\equal{\@title}{}}{}{\titlestyle{~|~\@title}}\\[-.35em]% \isundefined doesn't work on \@title, as LaTeX itself defines \@title (before it possibly gets redefined by \title)
|
\ifthenelse{\equal{\@title}{}}{}{\titlestyle{~|~\@title}}\\[-.35em]% \isundefined doesn't work on \@title, as LaTeX itself defines \@title (before it possibly gets redefined by \title)
|
||||||
% rule
|
% rule
|
||||||
{\color{color1}\rule{\textwidth}{.25ex}}}
|
{\color{bodyrulecolor}\rule{\textwidth}{.25ex}}}
|
||||||
|
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
% resume head definition
|
% resume head definition
|
||||||
|
|
@ -68,7 +70,7 @@
|
||||||
|
|
||||||
% commands
|
% commands
|
||||||
\@initializecommand{\makeheaddetailssymbol}{%
|
\@initializecommand{\makeheaddetailssymbol}{%
|
||||||
{~~~{\rmfamily\textbullet}~~~}}% the \rmfamily is required to force Latin Modern fonts when using sans serif, as OMS/lmss/m/n is not defined and gets substituted by OMS/cmsy/m/n
|
{\hspace{1em}{\rmfamily\textbullet}\hspace{1em}}}% the \rmfamily is required to force Latin Modern fonts when using sans serif, as OMS/lmss/m/n is not defined and gets substituted by OMS/cmsy/m/n
|
||||||
% internal command to add an element to the footer
|
% internal command to add an element to the footer
|
||||||
% it collects the elements in a temporary box, and checks when to flush the box
|
% it collects the elements in a temporary box, and checks when to flush the box
|
||||||
\@initializebox{\makeheaddetailsbox}%
|
\@initializebox{\makeheaddetailsbox}%
|
||||||
|
|
@ -107,7 +109,7 @@
|
||||||
% optional detailed information
|
% optional detailed information
|
||||||
\if@details{%
|
\if@details{%
|
||||||
\\\null%
|
\\\null%
|
||||||
\addressfont\color{color2}%
|
\addressfont\color{addresscolor}%
|
||||||
\ifthenelse{\isundefined{\@addressstreet}}{}{\addtomakeheaddetails{\addresssymbol\@addressstreet}%
|
\ifthenelse{\isundefined{\@addressstreet}}{}{\addtomakeheaddetails{\addresssymbol\@addressstreet}%
|
||||||
\ifthenelse{\equal{\@addresscity}{}}{}{\addtomakeheaddetails[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
|
\ifthenelse{\equal{\@addresscity}{}}{}{\addtomakeheaddetails[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
|
||||||
\ifthenelse{\equal{\@addresscountry}{}}{}{\addtomakeheaddetails[~--~]{\@addresscountry}}%
|
\ifthenelse{\equal{\@addresscountry}{}}{}{\addtomakeheaddetails[~--~]{\@addresscountry}}%
|
||||||
|
|
@ -116,7 +118,8 @@
|
||||||
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
|
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
|
||||||
\addtomakeheaddetails{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
|
\addtomakeheaddetails{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
|
||||||
\ifthenelse{\isundefined{\@email}}{}{\addtomakeheaddetails{\emailsymbol\emaillink{\@email}}}%
|
\ifthenelse{\isundefined{\@email}}{}{\addtomakeheaddetails{\emailsymbol\emaillink{\@email}}}%
|
||||||
\ifthenelse{\isundefined{\@homepage}}{}{\addtomakeheaddetails{\homepagesymbol\httpslink{\@homepage}}}%
|
\ifthenelse{\isundefined{\@homepage}}{}{\addtomakeheaddetails{\homepagesymbol%
|
||||||
|
\ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}}%
|
||||||
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
|
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
|
||||||
\addtomakeheaddetails{\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}%
|
\addtomakeheaddetails{\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}%
|
||||||
\ifthenelse{\isundefined{\@extrainfo}}{}{\addtomakeheaddetails{\@extrainfo}}%
|
\ifthenelse{\isundefined{\@extrainfo}}{}{\addtomakeheaddetails{\@extrainfo}}%
|
||||||
|
|
@ -154,7 +157,9 @@
|
||||||
% date
|
% date
|
||||||
\hfill% US style
|
\hfill% US style
|
||||||
% \\[1em]% UK style
|
% \\[1em]% UK style
|
||||||
\@date\\[2em]% US informal style: "January 1, 1900"; UK formal style: "01/01/1900"
|
\@date\\[3em]% US informal style: "January 1, 1900"; UK formal style: "01/01/1900"
|
||||||
|
% optional subject
|
||||||
|
\ifthenelse{\isundefined{\@subject}}{}{{\bfseries\@subject\\[3em]}}
|
||||||
% opening
|
% opening
|
||||||
\raggedright%
|
\raggedright%
|
||||||
\@opening\\[1.5em]%
|
\@opening\\[1.5em]%
|
||||||
|
|
|
||||||
228
moderncvheadvii.sty
Normal file
228
moderncvheadvii.sty
Normal file
|
|
@ -0,0 +1,228 @@
|
||||||
|
%% start of file `moderncvheadvii.sty'.
|
||||||
|
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
|
||||||
|
%% Copyright 2023 Javier Lopez-Gomez (javier.lopez.gomez@proton.me).
|
||||||
|
%
|
||||||
|
% This work may be distributed and/or modified under the
|
||||||
|
% conditions of the LaTeX Project Public License version 1.3c,
|
||||||
|
% available at http://www.latex-project.org/lppl/.
|
||||||
|
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% identification
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
|
\ProvidesPackage{moderncvheadvii}[2023/11/21 v2.0.0 modern curriculum vitae and letter header variant: 7]
|
||||||
|
|
||||||
|
% details options: "details" (default) or "nodetails"
|
||||||
|
\@initializeif{\if@details}\@detailsfalse
|
||||||
|
\DeclareOption{details} {\@detailstrue}
|
||||||
|
\DeclareOption{nodetails} {\@detailsfalse}
|
||||||
|
% QR options: "qr" (default) or "noqr". If "qr" is specified, a QR code is generated to point to the
|
||||||
|
% homepage and placed near the details section
|
||||||
|
\@initializeif{\if@headqr}\@headqrfalse
|
||||||
|
\DeclareOption{qr} {\@headqrtrue}
|
||||||
|
\DeclareOption{noqr} {\@headqrfalse}
|
||||||
|
|
||||||
|
% left/right options: "left" (default) or "right"
|
||||||
|
\@initializeif{\if@left} \@leftfalse
|
||||||
|
\DeclareOption{left} {\@lefttrue\@rightfalse}
|
||||||
|
\@initializeif{\if@right}\@rightfalse
|
||||||
|
\DeclareOption{right} {\@leftfalse\@righttrue}
|
||||||
|
|
||||||
|
\DeclareOption*{}% avoid choking on unknown options
|
||||||
|
\ExecuteOptions{details,qr,left}
|
||||||
|
\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
|
||||||
|
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% required packages
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
\RequirePackage{qrcode}
|
||||||
|
\RequirePackage{tikz}
|
||||||
|
\usetikzlibrary{tikzmark,fit}
|
||||||
|
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% overall head definition
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
\@ifundefined{\string\color@headTL}{\colorlet{headTL}{color1}}{}
|
||||||
|
\@ifundefined{\string\color@headBR}{\colorlet{headBR}{color1}}{}
|
||||||
|
\@ifundefined{\string\color@headtext}{\colorlet{headtext}{color2}}{}
|
||||||
|
\@ifundefined{\string\color@headhr}{\colorlet{headhr}{color2}}{}
|
||||||
|
|
||||||
|
% fonts
|
||||||
|
\renewcommand*{\namefont}{\fontsize{30}{32}\rmfamily\mdseries\upshape}
|
||||||
|
\renewcommand*{\titlefont}{\LARGE\mdseries\slshape}
|
||||||
|
\renewcommand*{\addressfont}{\small\mdseries\slshape}
|
||||||
|
\renewcommand*{\quotefont}{\large\slshape}
|
||||||
|
|
||||||
|
% styles
|
||||||
|
\renewcommand*{\namestyle}[1]{{\namefont\textcolor{headtext}{#1}}}
|
||||||
|
\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{headtext}{#1}}}
|
||||||
|
\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{headtext}{#1}}}
|
||||||
|
\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{color0}{#1}}}
|
||||||
|
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% resume head definition
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% lengths
|
||||||
|
\@initializelength{\quotewidth}
|
||||||
|
\@initializelength{\makecvheadnamewidth}% optional makecvheadname width to force a certain width (if set/remains to 0pt, the width is calculated automatically)
|
||||||
|
\renewcommand*{\recomputecvheadlengths}{%
|
||||||
|
\setlength{\quotewidth}{0.65\textwidth}}
|
||||||
|
|
||||||
|
% commands
|
||||||
|
\renewcommand*{\makecvhead}{%
|
||||||
|
% recompute lengths (in case we are switching from letter to resume, or vice versa)
|
||||||
|
\recomputecvlengths%
|
||||||
|
% optional detailed information (pre-rendering)
|
||||||
|
\@initializebox{\makecvheaddetailsbox}%
|
||||||
|
\if@details%
|
||||||
|
\def\phonesdetails{}%
|
||||||
|
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
|
||||||
|
\protected@edef\phonesdetails{\phonesdetails\protect\makenewline\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
|
||||||
|
\def\socialsdetails{}%
|
||||||
|
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
|
||||||
|
\protected@edef\socialsdetails{\socialsdetails\protect\makenewline\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}%
|
||||||
|
\savebox{\makecvheaddetailsbox}{%
|
||||||
|
\addressfont\color{headtext}%
|
||||||
|
\if@left\begin{tabular}[b]{@{}r@{}}\fi%
|
||||||
|
\if@right\begin{tabular}[b]{@{}l@{}}\fi%
|
||||||
|
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
|
||||||
|
\ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and addresscountry will always be defined but could be empty
|
||||||
|
\ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}%
|
||||||
|
\phonesdetails% needs to be pre-rendered as loops and tabulars seem to conflict
|
||||||
|
\ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}%
|
||||||
|
\ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol\httplink{\@homepage}}%
|
||||||
|
\socialsdetails% needs to be pre-rendered as loops and tabulars seem to conflict
|
||||||
|
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}%
|
||||||
|
\end{tabular}%
|
||||||
|
}\fi%
|
||||||
|
% optional photo (pre-rendering)
|
||||||
|
\@initializebox{\makecvheadpicturebox}%
|
||||||
|
\savebox{\makecvheadpicturebox}{%
|
||||||
|
\ifthenelse{\isundefined{\@photo}}%
|
||||||
|
{}%
|
||||||
|
{%
|
||||||
|
\if@right%
|
||||||
|
\hspace*{\separatorcolumnwidth}\fi%
|
||||||
|
\begin{tikzpicture}
|
||||||
|
\path[top color=headBR,bottom color=headTL,shading angle=45] (0,0) circle (\dimexpr\@photowidth/2+\@photoframewidth*2);
|
||||||
|
\path[fill=white] (0,0) circle (\dimexpr\@photowidth/2+\@photoframewidth);
|
||||||
|
\begin{scope}
|
||||||
|
\clip (0,0) circle (\dimexpr\@photowidth/2);
|
||||||
|
\node[inner sep=0pt] at (0,0) {\includegraphics[width=\@photowidth]{\@photo}};
|
||||||
|
\end{scope}
|
||||||
|
\end{tikzpicture}%
|
||||||
|
\if@left%
|
||||||
|
\hspace*{\separatorcolumnwidth}\fi}%
|
||||||
|
}%
|
||||||
|
% optional QR for homepage (pre-rendering)
|
||||||
|
\@initializebox{\makecvheadqrbox}%
|
||||||
|
\if@headqr%
|
||||||
|
\savebox{\makecvheadqrbox}{%
|
||||||
|
\ifthenelse{\isundefined{\@homepage}}{}{\tikz\node[inner sep=1ex,fill=white]{\qrcode[height=1.5cm]{\@homepage}};}%
|
||||||
|
}\fi%
|
||||||
|
% name and title (pre-rendering)
|
||||||
|
\@initializelength{\makecvheaddetailswidth}\settowidth{\makecvheaddetailswidth}{\usebox{\makecvheaddetailsbox}}%
|
||||||
|
\@initializelength{\makecvheadpicturewidth}\settowidth{\makecvheadpicturewidth}{\usebox{\makecvheadpicturebox}}%
|
||||||
|
\ifthenelse{\lengthtest{\makecvheadnamewidth=0pt}}% check for dummy value (equivalent to \ifdim\makecvheadnamewidth=0pt)
|
||||||
|
{\setlength{\makecvheadnamewidth}{\textwidth-\makecvheaddetailswidth-\makecvheadpicturewidth}}%
|
||||||
|
{}%
|
||||||
|
\@initializebox{\makecvheadnamebox}%
|
||||||
|
\savebox{\makecvheadnamebox}{%
|
||||||
|
\begin{minipage}[b]{\makecvheadnamewidth}%
|
||||||
|
\if@left\raggedright\fi%
|
||||||
|
\if@right\raggedleft\fi%
|
||||||
|
\namestyle{\@firstname\ {\scshape\@lastname}}%
|
||||||
|
\ifthenelse{\equal{\@title}{}}{}{\\[1.25em]\titlestyle{\@title}}%
|
||||||
|
\end{minipage}}%
|
||||||
|
% rendering
|
||||||
|
\begin{tikzpicture}[remember picture,overlay]
|
||||||
|
\node(head-bg) [top color=headTL,bottom color=headBR,shading angle=45,inner sep=0pt,
|
||||||
|
fit={(current page.north west)(current page.north east)(pic cs:head-end)}] {};
|
||||||
|
% Users may define `\@moderncvheadBackground` for additional background decoration
|
||||||
|
\ifthenelse{\isundefined{\@moderncvheadBackground}}{}{\@moderncvheadBackground}
|
||||||
|
|
||||||
|
% case with no photo: assure defined \@photoframewidth with 2pt
|
||||||
|
\ifthenelse{\isundefined{\@photo}}{\@initializelength{\@photoframewidth}\setlength{\@photoframewidth}{2pt}}{}%
|
||||||
|
\path[draw,line width=\@photoframewidth]
|
||||||
|
(head-bg.south west) edge[color=headhr!85!black] ([xshift=8em]head-bg.south west)
|
||||||
|
([xshift=8em]head-bg.south west) edge[color=headhr] ([xshift=-8em]head-bg.south east)
|
||||||
|
([xshift=-8em]head-bg.south east) edge[color=headhr!85!black] (head-bg.south east);
|
||||||
|
\end{tikzpicture}%
|
||||||
|
\if@left%
|
||||||
|
\usebox{\makecvheadpicturebox}%
|
||||||
|
\usebox{\makecvheadnamebox}%
|
||||||
|
\hfill%
|
||||||
|
\llap{\usebox{\makecvheaddetailsbox}}% \llap is used to suppress the width of the box, allowing overlap if the value of makecvheadnamewidth is forced
|
||||||
|
\usebox{\makecvheadqrbox}\fi%
|
||||||
|
\if@right%
|
||||||
|
\usebox{\makecvheadqrbox}%
|
||||||
|
\rlap{\usebox{\makecvheaddetailsbox}}% \llap is used to suppress the width of the box, allowing overlap if the value of makecvheadnamewidth is forced
|
||||||
|
\hfill%
|
||||||
|
\usebox{\makecvheadnamebox}%
|
||||||
|
\usebox{\makecvheadpicturebox}\fi%
|
||||||
|
\\[.15em]%
|
||||||
|
\tikzmark{head-end}\\[.15em]%
|
||||||
|
% optional quote
|
||||||
|
\ifthenelse{\isundefined{\@quote}}%
|
||||||
|
{}%
|
||||||
|
{{\centering\begin{minipage}{\quotewidth}\centering\quotestyle{\@quote}\end{minipage}\\[.15em]}}%
|
||||||
|
\par}% to avoid weird spacing bug at the first section if no blank line is left after \makecvhead
|
||||||
|
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% letter head definition
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% lengths
|
||||||
|
%\renewcommand*{\recomputeletterheadlengths}{}
|
||||||
|
|
||||||
|
% commands
|
||||||
|
\renewcommand*{\makeletterhead}{%
|
||||||
|
% recompute lengths (in case we are switching from letter to resume, or vice versa)
|
||||||
|
\recomputeletterlengths%
|
||||||
|
% sender contact info
|
||||||
|
\hfill%
|
||||||
|
\begin{minipage}{.5\textwidth}%
|
||||||
|
% optional detailed information
|
||||||
|
\if@details%
|
||||||
|
\raggedleft%
|
||||||
|
\addressfont\textcolor{color2}{%
|
||||||
|
{\bfseries\upshape\@firstname~\@lastname}\@firstdetailselementfalse%
|
||||||
|
% optional detailed information
|
||||||
|
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
|
||||||
|
\ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and addresscountry will always be defined but could be empty
|
||||||
|
\ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}%
|
||||||
|
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
|
||||||
|
\makenewline\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}%
|
||||||
|
\ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}%
|
||||||
|
\ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol\httplink{\@homepage}}%
|
||||||
|
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}\fi%
|
||||||
|
\end{minipage}\\[1em]
|
||||||
|
% recipient block
|
||||||
|
\begin{minipage}[t]{.5\textwidth}
|
||||||
|
\raggedright%
|
||||||
|
\addressfont%
|
||||||
|
{\bfseries\upshape\@recipientname}\\%
|
||||||
|
\@recipientaddress%
|
||||||
|
\end{minipage}
|
||||||
|
% date
|
||||||
|
\hfill% US style
|
||||||
|
% \\[1em]% UK style
|
||||||
|
\@date\\[2em]% US informal style: "January 1, 1900"; UK formal style: "01/01/1900"
|
||||||
|
% optional subject
|
||||||
|
\ifthenelse{\isundefined{\@subject}}{}{{\bfseries\@subject\\[3em]}}
|
||||||
|
% opening
|
||||||
|
\raggedright%
|
||||||
|
\@opening\\[1.5em]%
|
||||||
|
% ensure no extra spacing after \makelettertitle due to a possible blank line
|
||||||
|
% \ignorespacesafterend% not working
|
||||||
|
\hspace{0pt}\par\vspace{-\baselineskip}\vspace{-\parskip}}
|
||||||
|
|
||||||
|
|
||||||
|
\endinput
|
||||||
|
|
||||||
|
|
||||||
|
%% end of file `moderncvheadvii.sty'.
|
||||||
68
moderncviconsacademic.sty
Normal file
68
moderncviconsacademic.sty
Normal file
|
|
@ -0,0 +1,68 @@
|
||||||
|
%% start of file `moderncviconsacademic.sty'.
|
||||||
|
%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
|
||||||
|
%
|
||||||
|
% This work may be distributed and/or modified under the
|
||||||
|
% conditions of the LaTeX Project Public License version 1.3c,
|
||||||
|
% available at http://www.latex-project.org/lppl/.
|
||||||
|
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% identification
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
|
\ProvidesPackage{moderncviconsacademic}[2024-07-18 v2.4.1 modern curriculum vitae icons: academicons]
|
||||||
|
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% required packages
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% Package for academic icons
|
||||||
|
\RequirePackage{academicons}
|
||||||
|
\RequirePackage{xcolor}
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% set colors
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
\usepackage{moderncvcolors}
|
||||||
|
|
||||||
|
\providecolor{orcid}{named}{default-socialicon-color}
|
||||||
|
\providecolor{researchgate}{named}{default-socialicon-color}
|
||||||
|
\providecolor{researcherid}{named}{default-socialicon-color}
|
||||||
|
\providecolor{googlescholar}{named}{default-socialicon-color}
|
||||||
|
\providecolor{arxiv}{named}{default-socialicon-color}
|
||||||
|
\providecolor{inspire}{named}{default-socialicon-color}
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% all symbols described in moderncv.cls
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
%\newcommand*{\listitemsymbol} {\labelitemi~}
|
||||||
|
%\newcommand*{\addresssymbol} {}
|
||||||
|
%\newcommand*{\bornsymbol} {}
|
||||||
|
%\newcommand*{\mobilephonesymbol} {}
|
||||||
|
%\newcommand*{\fixedphonesymbol} {}
|
||||||
|
%\newcommand*{\faxphonesymbol} {}
|
||||||
|
%\newcommand*{\emailsymbol} {}
|
||||||
|
%\newcommand*{\homepagesymbol} {}
|
||||||
|
%\newcommand*{\linkedinsocialsymbol} {}
|
||||||
|
%\newcommand*{\xingsocialsymbol} {}
|
||||||
|
%\newcommand*{\twittersocialsymbol} {}
|
||||||
|
%\newcommand*{\githubsocialsymbol} {}
|
||||||
|
%\newcommand*{\gitlabsocialsymbol} {}
|
||||||
|
%\newcommand*{\stackoverflowsocialsymbol}{}
|
||||||
|
%\newcommand*{\bitbucketsocialsymbol} {}
|
||||||
|
%\newcommand*{\skypesocialsymbol} {}
|
||||||
|
\renewcommand*{\orcidsocialsymbol} {{\color{orcid}\small\aiOrcid}~}
|
||||||
|
\renewcommand*{\researchgatesocialsymbol} {{\color{researchgate}\small\aiResearchGateSquare}~} % alternative: \aiResearchGate
|
||||||
|
\renewcommand*{\researcheridsocialsymbol} {{\color{researcherid}\small\aiResearcherIDSquare}~} % alternative: \aiResearcherID
|
||||||
|
\renewcommand*{\googlescholarsocialsymbol}{{\color{googlescholar}\raisebox{-1pt}{\large\aiGoogleScholar}}~}
|
||||||
|
%\newcommand*{\telegramsocialsymbol} {}
|
||||||
|
%\newcommand*{\whatsappsocialsymbol} {}
|
||||||
|
%\newcommand*{\matrixsocialsymbol} {}
|
||||||
|
%\newcommand*{\signalsocialsymbol} {}
|
||||||
|
\renewcommand*{\arxivsocialsymbol}{{\color{arxiv}{\small\aiarXiv}}~}
|
||||||
|
\renewcommand*{\inspiresocialsymbol}{{\color{inspire}{\small\aiInspire}}~}
|
||||||
|
|
||||||
|
|
||||||
|
\endinput
|
||||||
|
|
||||||
|
%% end of file `moderncviconsacademic.sty'.
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
%% start of file `moderncviconsawesome.sty'.
|
%% start of file `moderncviconsawesome.sty'.
|
||||||
%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
|
%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
|
||||||
%
|
%
|
||||||
% This work may be distributed and/or modified under the
|
% This work may be distributed and/or modified under the
|
||||||
% conditions of the LaTeX Project Public License version 1.3c,
|
% conditions of the LaTeX Project Public License version 1.3c,
|
||||||
|
|
@ -10,50 +10,97 @@
|
||||||
% identification
|
% identification
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
\NeedsTeXFormat{LaTeX2e}
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
\ProvidesPackage{moderncviconsawesome}[2021/01/21 v2.1.0 modern curriculum vitae and letter icons: awesome]
|
\ProvidesPackage{moderncviconsawesome}[2024-07-18 v2.4.1 modern curriculum vitae icons: awesome]
|
||||||
|
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
% required packages
|
% required packages
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
% Font Awesome font
|
% Font Awesome font
|
||||||
\RequirePackage{fontawesome5}
|
\RequirePackage{fontawesome5}
|
||||||
% Package for academic icons
|
\RequirePackage{xcolor}
|
||||||
\RequirePackage{academicons}
|
|
||||||
|
|
||||||
|
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
% symbols definition
|
% set colors
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
\renewcommand*{\labelitemi} {\strut\textcolor{color1}{\tiny\faCircle}}
|
\usepackage{moderncvcolors}
|
||||||
|
|
||||||
|
\providecolor{address}{named}{default-socialicon-color}
|
||||||
|
\providecolor{mobilephone}{named}{default-socialicon-color}
|
||||||
|
\providecolor{fixedphone}{named}{default-socialicon-color}
|
||||||
|
\providecolor{faxphone}{named}{default-socialicon-color}
|
||||||
|
\providecolor{email}{named}{default-socialicon-color}
|
||||||
|
\providecolor{homepage}{named}{default-socialicon-color}
|
||||||
|
\providecolor{googlescholar}{named}{default-socialicon-color}
|
||||||
|
\providecolor{linkedin}{named}{default-socialicon-color}
|
||||||
|
\providecolor{xing}{named}{default-socialicon-color}
|
||||||
|
\providecolor{twitter}{named}{default-socialicon-color}
|
||||||
|
\providecolor{mastodon}{named}{default-socialicon-color}
|
||||||
|
\providecolor{github}{named}{default-socialicon-color}
|
||||||
|
\providecolor{gitlab}{named}{default-socialicon-color}
|
||||||
|
\providecolor{stackoverflow}{named}{default-socialicon-color}
|
||||||
|
\providecolor{bitbucket}{named}{default-socialicon-color}
|
||||||
|
\providecolor{skype}{named}{default-socialicon-color}
|
||||||
|
\providecolor{orcid}{named}{default-socialicon-color}
|
||||||
|
\providecolor{researchgate}{named}{default-socialicon-color}
|
||||||
|
\providecolor{telegram}{named}{default-socialicon-color}
|
||||||
|
\providecolor{whatsapp}{named}{default-socialicon-color}
|
||||||
|
\providecolor{discord}{named}{default-socialicon-color}
|
||||||
|
\providecolor{twitch}{named}{default-socialicon-color}
|
||||||
|
\providecolor{youtube}{named}{default-socialicon-color}
|
||||||
|
\providecolor{tiktok}{named}{default-socialicon-color}
|
||||||
|
\providecolor{instagram}{named}{default-socialicon-color}
|
||||||
|
\providecolor{soundcloud}{named}{default-socialicon-color}
|
||||||
|
\providecolor{steam}{named}{default-socialicon-color}
|
||||||
|
\providecolor{xbox}{named}{default-socialicon-color}
|
||||||
|
\providecolor{playstation}{named}{default-socialicon-color}
|
||||||
|
\providecolor{battlenet}{named}{default-socialicon-color}
|
||||||
|
\providecolor{born}{named}{default-socialicon-color}
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% all symbols described in moderncv.cls
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
\renewcommand*{\labelitemi} {\strut\textcolor{color1}{\tiny\faCircle[regular]}} % alternative: \faCircle (solid style)
|
||||||
%\renewcommand*{\labelitemii} {\strut\textcolor{color1}{\large\bfseries-}} % no change from default in moderncv.cls
|
%\renewcommand*{\labelitemii} {\strut\textcolor{color1}{\large\bfseries-}} % no change from default in moderncv.cls
|
||||||
%\renewcommand*{\labelitemiii} {\strut\textcolor{color1}{\rmfamily\textperiodcentered}}% no change from default in moderncv.cls
|
%\renewcommand*{\labelitemiii} {\strut\textcolor{color1}{\rmfamily\textperiodcentered}}% no change from default in moderncv.cls
|
||||||
%\renewcommand*{\labelitemiv} {\labelitemiii} % no change from default in moderncv.cls
|
%\renewcommand*{\labelitemiv} {\labelitemiii} % no change from default in moderncv.cls
|
||||||
|
|
||||||
|
|
||||||
\renewcommand*{\addresssymbol} {}
|
%\renewcommand*{\addresssymbol} {}
|
||||||
\renewcommand*{\mobilephonesymbol} {{\small\faMobile}~}
|
\renewcommand*{\mobilephonesymbol} {{\color{mobilephone}\small\faMobile*}~} % alternative: \faMobile (solid style)
|
||||||
\renewcommand*{\fixedphonesymbol} {{\small\faPhone}~}
|
\renewcommand*{\fixedphonesymbol} {{\color{fixedphone}\small\faPhone*}~} % alternative: \faPhone (reversed)
|
||||||
\renewcommand*{\faxphonesymbol} {{\small\faFax}~} % alternative: \faPrint
|
\renewcommand*{\faxphonesymbol} {{\color{faxphone}\small\faFax}~} % alternative: \faPrint
|
||||||
\renewcommand*{\emailsymbol} {{\small\faEnvelope}~} % alternative: \faInbox
|
\renewcommand*{\emailsymbol} {{\color{email}\small\faEnvelope[regular]}~} % alternative: \faInbox, \faEnvelope (solid style)
|
||||||
\renewcommand*{\homepagesymbol} {{\small\faGlobe}~} % alternative: \faHome
|
\renewcommand*{\homepagesymbol} {{\color{homepage}\small\faGlobeAmericas}~} % alternative: \faHome, \faGlobe, \faGlobeEurope, \faGlobeAfrica, \faGlobeAsia
|
||||||
\renewcommand*{\linkedinsocialsymbol} {{\small\faLinkedin}~} % alternative: \faLinkedinSquare
|
\renewcommand*{\linkedinsocialsymbol} {{\color{linkedin}\small\faLinkedinIn}~} % alternative: \faLinkedin
|
||||||
\renewcommand*{\xingsocialsymbol} {{\small\faXing}~} % alternative: \faXingSquare
|
\renewcommand*{\xingsocialsymbol} {{\color{xing}\small\faXing}~} % alternative: \faXingSquare
|
||||||
\renewcommand*{\twittersocialsymbol} {{\small\faTwitter}~} % alternative: \faTwitterSquare
|
\renewcommand*{\twittersocialsymbol} {{\color{twitter}\small\faTwitter}~} % alternative: \faTwitterSquare
|
||||||
\renewcommand*{\githubsocialsymbol} {{\small\faGithub}~} % alternative: \faGithubSquare, \faGithubSquare
|
\renewcommand*{\mastodonsocialsymbol} {{\color{mastodon}\small\faMastodon}~}
|
||||||
\renewcommand*{\gitlabsocialsymbol} {{\small\faGitlab}~}
|
\renewcommand*{\githubsocialsymbol} {{\color{github}\small\faGithub}~} % alternative: \faGithubSquare, \faGithub*
|
||||||
\renewcommand*{\stackoverflowsocialsymbol}{{\small\faStackOverflow}~}
|
\renewcommand*{\gitlabsocialsymbol} {{\color{gitlab}\small\faGitlab}~}
|
||||||
\renewcommand*{\bitbucketsocialsymbol} {{\small\faBitbucket}~}
|
\renewcommand*{\stackoverflowsocialsymbol}{{\color{stackoverflow}\small\faStackOverflow}~}
|
||||||
\renewcommand*{\skypesocialsymbol} {{\small\faSkype}~}
|
\renewcommand*{\bitbucketsocialsymbol} {{\color{bitbucket}\small\faBitbucket}~}
|
||||||
\renewcommand*{\orcidsocialsymbol} {{\small\aiOrcid}~}
|
\renewcommand*{\skypesocialsymbol} {{\color{skype}\small\faSkype}~}
|
||||||
\renewcommand*{\researchgatesocialsymbol} {{\small\aiResearchGate}~}
|
\renewcommand*{\orcidsocialsymbol} {{\color{orcid}\small\faOrcid}~}
|
||||||
\renewcommand*{\researcheridsocialsymbol} {{\small\aiResearcherID}~} % alternative: \aiResearcherIDSquare
|
\renewcommand*{\researchgatesocialsymbol} {{\color{researchgate}\small\faResearchgate}~}
|
||||||
\renewcommand*{\telegramsocialsymbol} {{\small\faTelegram}~}
|
%\renewcommand*{\researcheridsocialsymbol} {}
|
||||||
\renewcommand*{\googlescholarsocialsymbol}{{\small\aiGoogleScholar}~}
|
%\renewcommand*{\googlescholarsocialsymbol}{}
|
||||||
\renewcommand*{\telegramsocialsymbol} {{\small\faTelegram}~}
|
\renewcommand*{\telegramsocialsymbol} {{\color{telegram}\small\faTelegram}~}
|
||||||
\renewcommand*{\whatsappsocialsymbol} {{\small\faWhatsapp}~}
|
\renewcommand*{\whatsappsocialsymbol} {{\color{whatsapp}\small\faWhatsapp}~}
|
||||||
\renewcommand*{\signalsocialsymbol} {}
|
\renewcommand*{\discordsocialsymbol} {{\color{discord}\small\faDiscord}~}
|
||||||
\renewcommand*{\matrixsocialsymbol} {}
|
\renewcommand*{\twitchsocialsymbol} {{\color{twitch}\small\faTwitch}~}
|
||||||
\renewcommand*{\bornsymbol} {{\small\faAsterisk}~}
|
\renewcommand*{\youtubesocialsymbol} {{\color{youtube}\small\faYoutube}~}
|
||||||
|
\renewcommand*{\tiktoksocialsymbol} {{\color{tiktok}\small\faTiktok}~}
|
||||||
|
\renewcommand*{\instagramsocialsymbol} {{\color{instagram}\small\faInstagram}~}
|
||||||
|
\renewcommand*{\soundcloudsocialsymbol} {{\color{soundcloud}\small\faSoundcloud}~}
|
||||||
|
\renewcommand*{\steamsocialsymbol} {{\color{steam}\small\faSteam}~}
|
||||||
|
\renewcommand*{\xboxsocialsymbol} {{\color{xbox}\small\faXbox}~}
|
||||||
|
\renewcommand*{\playstationsocialsymbol} {{\color{playstation}\small\faPlaystation}~}
|
||||||
|
\renewcommand*{\battlenetsocialsymbol} {{\color{battlenet}\small\faBattleNet}~}
|
||||||
|
%\renewcommand*{\signalsocialsymbol} {}
|
||||||
|
%\renewcommand*{\matrixsocialsymbol} {}
|
||||||
|
% \renewcommand*{\arxivsocialsymbol} {{\color{arxiv}{\small\faarXiv}}~}
|
||||||
|
% \renewcommand*{\inspiresocialsymbol} {{\color{inspire}{\small\faInspire}}~}
|
||||||
|
\renewcommand*{\bornsymbol} {{\color{born}\small\faAsterisk}~} % alternative: \faBabyCarriage
|
||||||
|
|
||||||
\endinput
|
\endinput
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
%% start of file `moderncviconsletters.sty'.
|
%% start of file `moderncviconsletters.sty'.
|
||||||
%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
|
%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
|
||||||
%
|
%
|
||||||
% This work may be distributed and/or modified under the
|
% This work may be distributed and/or modified under the
|
||||||
% conditions of the LaTeX Project Public License version 1.3c,
|
% conditions of the LaTeX Project Public License version 1.3c,
|
||||||
|
|
@ -10,25 +10,13 @@
|
||||||
% identification
|
% identification
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
\NeedsTeXFormat{LaTeX2e}
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
\ProvidesPackage{moderncviconsletters}[2021/01/21 v2.1.0 modern curriculum vitae and letter icons: letters]
|
\ProvidesPackage{moderncviconsletters}[2024-07-18 v2.4.1 modern curriculum vitae icons: letter]
|
||||||
|
|
||||||
|
|
||||||
%-------------------------------------------------------------------------------
|
|
||||||
% required packages
|
|
||||||
%-------------------------------------------------------------------------------
|
|
||||||
% MarVoSym font
|
|
||||||
%\RequirePackage{marvosym}
|
|
||||||
\newcommand*{\marvosymbol}[1]{}
|
|
||||||
%\ifxetexorluatex
|
|
||||||
% \renewcommand*{\marvosymbol}[1]{{\fontspec{MarVoSym}\char#1}}
|
|
||||||
%\else
|
|
||||||
\renewcommand*{\marvosymbol}[1]{{\fontfamily{mvs}\fontencoding{U}\fontseries{m}\fontshape{n}\selectfont\char#1}}
|
|
||||||
%\fi
|
|
||||||
|
|
||||||
|
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
% symbols definition
|
% symbols definition
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
|
\newcommand*{\marvosymbol}[1]{{\fontfamily{mvs}\fontencoding{U}\fontseries{m}\fontshape{n}\selectfont\char#1}}
|
||||||
|
|
||||||
\renewcommand*{\labelitemi} {\strut\textcolor{color1}{\marvosymbol{123}}} % equivalent to \Neutral from marvosym package; alternative: \fontencoding{U}\fontfamily{ding}\selectfont\tiny\symbol{'102}
|
\renewcommand*{\labelitemi} {\strut\textcolor{color1}{\marvosymbol{123}}} % equivalent to \Neutral from marvosym package; alternative: \fontencoding{U}\fontfamily{ding}\selectfont\tiny\symbol{'102}
|
||||||
%\renewcommand*{\labelitemii} {\strut\textcolor{color1}{\large\bfseries-}} % no change from default in moderncv.cls
|
%\renewcommand*{\labelitemii} {\strut\textcolor{color1}{\large\bfseries-}} % no change from default in moderncv.cls
|
||||||
%\renewcommand*{\labelitemiii} {\strut\textcolor{color1}{\rmfamily\textperiodcentered}}% no change from default in moderncv.cls
|
%\renewcommand*{\labelitemiii} {\strut\textcolor{color1}{\rmfamily\textperiodcentered}}% no change from default in moderncv.cls
|
||||||
|
|
@ -43,6 +31,7 @@
|
||||||
\renewcommand*{\linkedinsocialsymbol} {\textbf{in}~}
|
\renewcommand*{\linkedinsocialsymbol} {\textbf{in}~}
|
||||||
\renewcommand*{\xingsocialsymbol} {\textbf{xi}~}
|
\renewcommand*{\xingsocialsymbol} {\textbf{xi}~}
|
||||||
\renewcommand*{\twittersocialsymbol} {\textbf{tw}~}
|
\renewcommand*{\twittersocialsymbol} {\textbf{tw}~}
|
||||||
|
\renewcommand*{\mastodonsocialsymbol} {\textbf{ms}~}
|
||||||
\renewcommand*{\githubsocialsymbol} {\textbf{gh}~}
|
\renewcommand*{\githubsocialsymbol} {\textbf{gh}~}
|
||||||
\renewcommand*{\gitlabsocialsymbol} {\textbf{gl}~}
|
\renewcommand*{\gitlabsocialsymbol} {\textbf{gl}~}
|
||||||
\renewcommand*{\stackoverflowsocialsymbol}{\textbf{so}~}
|
\renewcommand*{\stackoverflowsocialsymbol}{\textbf{so}~}
|
||||||
|
|
@ -57,6 +46,18 @@
|
||||||
\renewcommand*{\matrixsocialsymbol} {\textbf{ma}~}
|
\renewcommand*{\matrixsocialsymbol} {\textbf{ma}~}
|
||||||
\renewcommand*{\googlescholarsocialsymbol}{\textbf{gs}~}
|
\renewcommand*{\googlescholarsocialsymbol}{\textbf{gs}~}
|
||||||
\renewcommand*{\bornsymbol} {\textbf{B}~}
|
\renewcommand*{\bornsymbol} {\textbf{B}~}
|
||||||
|
\renewcommand*{\codebergsocialsymbol} {\textbf{cb}~}
|
||||||
|
\renewcommand*{\twitchsocialsymbol} {\textbf{ttv}~}
|
||||||
|
\renewcommand*{\youtubesocialsymbol} {\textbf{yt}~}
|
||||||
|
\renewcommand*{\tiktoksocialsymbol} {\textbf{tok}~}
|
||||||
|
\renewcommand*{\instagramsocialsymbol} {\textbf{insta}~}
|
||||||
|
\renewcommand*{\soundcloudsocialsymbol} {\textbf{sc}~}
|
||||||
|
\renewcommand*{\steamsocialsymbol} {\textbf{st}~}
|
||||||
|
\renewcommand*{\xboxsocialsymbol} {\textbf{xb}~}
|
||||||
|
\renewcommand*{\playstationsocialsymbol} {\textbf{psn}~}
|
||||||
|
\renewcommand*{\battlenetsocialsymbol} {\textbf{bn}~}
|
||||||
|
\renewcommand*{\arxivsocialsymbol} {\textbf{arx}~}
|
||||||
|
\renewcommand*{\inspiresocialsymbol} {\textbf{ins}~}
|
||||||
|
|
||||||
\renewcommand*{\listitemsymbol} {\labelitemi~}
|
\renewcommand*{\listitemsymbol} {\labelitemi~}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
%% start of file `moderncviconsmarvosym.sty'.
|
%% start of file `moderncviconsmarvosym.sty'.
|
||||||
%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
|
%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
|
||||||
%
|
%
|
||||||
% This work may be distributed and/or modified under the
|
% This work may be distributed and/or modified under the
|
||||||
% conditions of the LaTeX Project Public License version 1.3c,
|
% conditions of the LaTeX Project Public License version 1.3c,
|
||||||
|
|
@ -10,265 +10,20 @@
|
||||||
% identification
|
% identification
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
\NeedsTeXFormat{LaTeX2e}
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
\ProvidesPackage{moderncviconsmarvosym}[2021/01/21 v2.1.0 modern curriculum vitae and letter icons: marvosym]
|
\ProvidesPackage{moderncviconsmarvosym}[2024-07-18 v2.4.1 modern curriculum vitae icons: marvosym]
|
||||||
|
|
||||||
|
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
% required packages
|
% all symbols described in moderncv.cls
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
% MarVoSym font
|
\newcommand*{\marvosymbol}[1]{{\fontfamily{mvs}\fontencoding{U}\fontseries{m}\fontshape{n}\selectfont\char#1}}
|
||||||
%\RequirePackage{marvosym}
|
|
||||||
\newcommand*{\marvosymbol}[1]{}
|
|
||||||
%\ifxetexorluatex
|
|
||||||
% \renewcommand*{\marvosymbol}[1]{{\fontspec{MarVoSym}\char#1}}
|
|
||||||
%\else
|
|
||||||
\renewcommand*{\marvosymbol}[1]{{\fontfamily{mvs}\fontencoding{U}\fontseries{m}\fontshape{n}\selectfont\char#1}}
|
|
||||||
%\fi
|
|
||||||
|
|
||||||
% tikz drawings
|
|
||||||
\RequirePackage{tikz}
|
|
||||||
|
|
||||||
|
|
||||||
%-------------------------------------------------------------------------------
|
|
||||||
% symbols definition
|
|
||||||
%-------------------------------------------------------------------------------
|
|
||||||
\renewcommand*{\labelitemi} {\strut\textcolor{color1}{\marvosymbol{123}}} % equivalent to \Neutral from marvosym package; alternative: \fontencoding{U}\fontfamily{ding}\selectfont\tiny\symbol{'102}
|
\renewcommand*{\labelitemi} {\strut\textcolor{color1}{\marvosymbol{123}}} % equivalent to \Neutral from marvosym package; alternative: \fontencoding{U}\fontfamily{ding}\selectfont\tiny\symbol{'102}
|
||||||
%\renewcommand*{\labelitemii} {\strut\textcolor{color1}{\large\bfseries-}} % no change from default in moderncv.cls
|
|
||||||
%\renewcommand*{\labelitemiii} {\strut\textcolor{color1}{\rmfamily\textperiodcentered}}% no change from default in moderncv.cls
|
|
||||||
%\renewcommand*{\labelitemiv} {\labelitemiii} % no change from default in moderncv.cls
|
|
||||||
|
|
||||||
\renewcommand*{\addresssymbol} {}
|
|
||||||
\renewcommand*{\mobilephonesymbol} {\marvosymbol{72}~}
|
\renewcommand*{\mobilephonesymbol} {\marvosymbol{72}~}
|
||||||
\renewcommand*{\fixedphonesymbol} {\marvosymbol{84}~}
|
\renewcommand*{\fixedphonesymbol} {\marvosymbol{84}~}
|
||||||
\renewcommand*{\faxphonesymbol} {\marvosymbol{117}~}
|
\renewcommand*{\faxphonesymbol} {\marvosymbol{117}~}
|
||||||
\renewcommand*{\emailsymbol} {\marvosymbol{66}~}
|
\renewcommand*{\emailsymbol} {\marvosymbol{66}~}
|
||||||
\renewcommand*{\homepagesymbol} {{\Large\marvosymbol{205}}~}
|
\renewcommand*{\homepagesymbol} {{\Large\marvosymbol{205}}~}
|
||||||
\renewcommand*{\linkedinsocialsymbol}{%
|
|
||||||
\protect\raisebox{-0.165em}{%
|
|
||||||
\protect\begin{tikzpicture}[x=0.08em, y=0.08em, xscale=0.25, yscale=-0.25, inner sep=0pt, outer sep=0pt]
|
|
||||||
\protect\begin{scope}[cm={{0.60,0.0,0.0,0.60,(346.39,123.07)}}]
|
|
||||||
\protect\path[fill=color2]
|
|
||||||
(381,202) -- (434,202) .. controls (439,202) and (442,205) ..
|
|
||||||
(442,210) -- (442,264) .. controls (442,268) and (439,272) ..
|
|
||||||
(434,272) -- (381,272) .. controls (376,272) and (372,268) ..
|
|
||||||
(372,264) -- (372,210) .. controls (372,205) and (376,202) ..
|
|
||||||
(381,202) -- cycle;
|
|
||||||
\protect\begin{scope}[xscale=0.98, yscale=1.02, fill=white]
|
|
||||||
\protect\path[fill=white]
|
|
||||||
(403,253) -- (403,224) -- (394,224) -- (394,253) --
|
|
||||||
cycle(398,211) .. controls (397,211) and (395,212) ..
|
|
||||||
(395,213) .. controls (394,213) and (393,215) ..
|
|
||||||
(393,216) .. controls (393,217) and (394,218) ..
|
|
||||||
(395,219) .. controls (395,220) and (397,220) ..
|
|
||||||
(398,220) .. controls (400,220) and (401,220) ..
|
|
||||||
(402,219) .. controls (402,218) and (403,217) ..
|
|
||||||
(403,216) .. controls (403,215) and (402,213) ..
|
|
||||||
(402,213) .. controls (401,212) and (400,211) ..
|
|
||||||
(398,211) -- cycle;
|
|
||||||
\protect\path[fill=white]
|
|
||||||
(410,253) -- (419,253) --
|
|
||||||
(419,236) .. controls (419,236) and (419,235) ..
|
|
||||||
(419,235) .. controls (419,235) and (419,234) ..
|
|
||||||
(419,234) .. controls (419,233) and (420,232) ..
|
|
||||||
(421,232) .. controls (422,231) and (423,231) ..
|
|
||||||
(424,231) .. controls (425,231) and (427,231) ..
|
|
||||||
(427,232) .. controls (428,234) and (428,235) ..
|
|
||||||
(428,237) -- (428,253) -- (437,253) --
|
|
||||||
(437,236) .. controls (437,232) and (436,228) ..
|
|
||||||
(434,226) .. controls (433,224) and (430,223) ..
|
|
||||||
(427,223) .. controls (425,223) and (423,224) ..
|
|
||||||
(421,225) .. controls (420,226) and (419,227) ..
|
|
||||||
(418,228) -- (418,228) -- (417,224) --
|
|
||||||
(410,224) .. controls (410,225) and (410,227) ..
|
|
||||||
(410,228) .. controls (410,230) and (410,231) ..
|
|
||||||
(410,233) -- cycle;
|
|
||||||
\protect\end{scope}%
|
|
||||||
\protect\end{scope}%
|
|
||||||
\protect\end{tikzpicture}}%
|
|
||||||
~}
|
|
||||||
\renewcommand*{\xingsocialsymbol}{}
|
|
||||||
\renewcommand*{\twittersocialsymbol} {%
|
|
||||||
\protect\raisebox{0em}{%
|
|
||||||
\protect\begin{tikzpicture}[x=0.08em, y=0.08em, xscale=0.005, yscale=-0.005, inner sep=0pt, outer sep=0pt]
|
|
||||||
\protect\path[fill=color2]
|
|
||||||
(2000, 192) .. controls (1926, 225) and (1847, 247) ..
|
|
||||||
(1764, 257) .. controls (1849, 206) and (1914, 126) ..
|
|
||||||
(1945, 30) .. controls (1865, 77) and (1778, 111) ..
|
|
||||||
(1684, 130) .. controls (1609, 50) and (1503, 0) ..
|
|
||||||
(1385, 0) .. controls (1158, 0) and ( 974, 184) ..
|
|
||||||
( 974, 410) .. controls ( 974, 442) and ( 978, 474) ..
|
|
||||||
( 985, 504) .. controls ( 644, 487) and ( 342, 323) ..
|
|
||||||
( 139, 75) .. controls ( 104, 136) and ( 84, 206) ..
|
|
||||||
( 84, 281) .. controls ( 84, 424) and ( 156, 549) ..
|
|
||||||
( 266, 623) .. controls ( 199, 621) and ( 136, 602) ..
|
|
||||||
( 80, 572) .. controls ( 80, 573) and ( 80, 575) ..
|
|
||||||
( 80, 577) .. controls ( 80, 776) and ( 222, 941) ..
|
|
||||||
( 409, 979) .. controls ( 375, 988) and ( 339, 993) ..
|
|
||||||
( 301, 993) .. controls ( 275, 993) and ( 249, 991) ..
|
|
||||||
( 224, 986) .. controls ( 276,1149) and ( 428,1268) ..
|
|
||||||
( 607,1271) .. controls ( 467,1381) and ( 290,1447) ..
|
|
||||||
( 98,1447) .. controls ( 65,1447) and ( 32,1445) ..
|
|
||||||
( 0,1441) .. controls ( 182,1557) and ( 397,1625) ..
|
|
||||||
( 629,1625) .. controls (1384,1625) and (1796,1000) ..
|
|
||||||
(1796, 458) .. controls (1796, 440) and (1796, 422) ..
|
|
||||||
(1795, 405) .. controls (1875, 347) and (1945, 275) ..
|
|
||||||
(2000, 192);
|
|
||||||
\protect\end{tikzpicture}}%
|
|
||||||
~}
|
|
||||||
\renewcommand*{\githubsocialsymbol} {%
|
|
||||||
\protect\raisebox{-0.15em}{%
|
|
||||||
\protect\begin{tikzpicture}[x=0.08em, y=0.08em, xscale=0.25, yscale=-0.25, inner sep=0pt, outer sep=0pt]
|
|
||||||
\protect\begin{scope}[shift={(507,387)}]
|
|
||||||
\protect\path[fill=color2]
|
|
||||||
(117, 60) .. controls (117, 71) and (108, 81) ..
|
|
||||||
( 96, 81) .. controls ( 85, 81) and ( 75, 71) ..
|
|
||||||
( 75, 60) .. controls ( 75, 48) and ( 85, 39) ..
|
|
||||||
( 96, 39) .. controls (108, 39) and (117, 48) ..
|
|
||||||
(117, 60) -- cycle;
|
|
||||||
\protect\path[cm={{0.88,0.0,0.0,0.88,(11.10,6.89)}}, fill=white]
|
|
||||||
(117, 60) .. controls (117, 71) and (108, 81) ..
|
|
||||||
( 96, 81) .. controls ( 85, 81) and ( 75, 71) ..
|
|
||||||
( 75, 60) .. controls ( 75, 48) and ( 85, 39) ..
|
|
||||||
( 96, 39) .. controls (108, 39) and (117, 48) ..
|
|
||||||
(117, 60) -- cycle;
|
|
||||||
\protect\path[fill=color2, nonzero rule]
|
|
||||||
(103, 45) .. controls (103, 45) and (101, 46) ..
|
|
||||||
(101, 47) -- (100, 47) --
|
|
||||||
( 99, 47) .. controls ( 99, 47) and ( 98, 47) ..
|
|
||||||
( 97, 47) .. controls ( 94, 47) and ( 93, 47) ..
|
|
||||||
( 92, 47) -- ( 92, 47) --
|
|
||||||
( 91, 47) .. controls ( 90, 46) and ( 88, 45) ..
|
|
||||||
( 88, 45) .. controls ( 88, 45) and ( 88, 45) ..
|
|
||||||
( 87, 45) .. controls ( 87, 45) and ( 87, 45) ..
|
|
||||||
( 87, 45) .. controls ( 86, 46) and ( 86, 48) ..
|
|
||||||
( 86, 49) -- ( 87, 50) --
|
|
||||||
( 86, 51) .. controls ( 85, 51) and ( 85, 52) ..
|
|
||||||
( 85, 53) .. controls ( 85, 54) and ( 85, 57) ..
|
|
||||||
( 85, 58) .. controls ( 85, 58) and ( 85, 58) ..
|
|
||||||
( 82, 59) .. controls ( 79, 59) and ( 77, 59) ..
|
|
||||||
( 77, 59) .. controls ( 77, 59) and ( 77, 59) ..
|
|
||||||
( 78, 59) .. controls ( 80, 59) and ( 83, 59) ..
|
|
||||||
( 85, 59) .. controls ( 85, 59) and ( 85, 59) ..
|
|
||||||
( 85, 59) .. controls ( 86, 59) and ( 86, 59) ..
|
|
||||||
( 86, 59) .. controls ( 86, 59) and ( 85, 59) ..
|
|
||||||
( 84, 59) .. controls ( 82, 60) and ( 80, 60) ..
|
|
||||||
( 79, 60) .. controls ( 78, 61) and ( 77, 61) ..
|
|
||||||
( 77, 61) .. controls ( 77, 61) and ( 78, 61) ..
|
|
||||||
( 79, 61) .. controls ( 81, 60) and ( 83, 60) ..
|
|
||||||
( 85, 60) .. controls ( 86, 60) and ( 86, 60) ..
|
|
||||||
( 86, 60) .. controls ( 86, 60) and ( 87, 61) ..
|
|
||||||
( 88, 62) .. controls ( 89, 63) and ( 90, 63) ..
|
|
||||||
( 92, 63) .. controls ( 92, 63) and ( 93, 64) ..
|
|
||||||
( 93, 64) .. controls ( 93, 64) and ( 93, 64) ..
|
|
||||||
( 93, 64) .. controls ( 92, 64) and ( 92, 65) ..
|
|
||||||
( 92, 65) .. controls ( 92, 66) and ( 90, 66) ..
|
|
||||||
( 89, 66) .. controls ( 88, 66) and ( 88, 66) ..
|
|
||||||
( 87, 65) .. controls ( 87, 64) and ( 86, 63) ..
|
|
||||||
( 86, 63) .. controls ( 85, 63) and ( 84, 63) ..
|
|
||||||
( 84, 63) .. controls ( 84, 63) and ( 84, 63) ..
|
|
||||||
( 84, 63) .. controls ( 85, 64) and ( 86, 65) ..
|
|
||||||
( 86, 66) .. controls ( 87, 67) and ( 87, 68) ..
|
|
||||||
( 88, 68) .. controls ( 89, 68) and ( 89, 68) ..
|
|
||||||
( 90, 68) -- ( 92, 68) -- ( 92, 70) -- ( 92, 72) --
|
|
||||||
( 91, 72) .. controls ( 91, 72) and ( 91, 73) ..
|
|
||||||
( 91, 73) .. controls ( 90, 73) and ( 90, 73) ..
|
|
||||||
( 91, 73) .. controls ( 92, 73) and ( 92, 73) ..
|
|
||||||
( 92, 73) .. controls ( 93, 73) and ( 93, 73) ..
|
|
||||||
( 93, 70) .. controls ( 93, 67) and ( 93, 67) ..
|
|
||||||
( 94, 66) -- ( 94, 66) --
|
|
||||||
( 94, 69) .. controls ( 94, 71) and ( 94, 73) ..
|
|
||||||
( 94, 73) .. controls ( 94, 73) and ( 94, 73) ..
|
|
||||||
( 93, 74) .. controls ( 93, 74) and ( 93, 74) ..
|
|
||||||
( 93, 74) .. controls ( 93, 74) and ( 93, 74) ..
|
|
||||||
( 94, 74) .. controls ( 94, 74) and ( 95, 74) ..
|
|
||||||
( 96, 73) .. controls ( 96, 72) and ( 96, 71) ..
|
|
||||||
( 96, 68) -- ( 96, 66) -- ( 96, 66) --
|
|
||||||
( 96, 69) .. controls ( 96, 72) and ( 96, 72) ..
|
|
||||||
( 97, 73) .. controls ( 97, 74) and ( 99, 74) ..
|
|
||||||
( 99, 74) .. controls ( 99, 74) and ( 99, 74) ..
|
|
||||||
( 99, 73) .. controls ( 99, 73) and ( 98, 73) ..
|
|
||||||
( 98, 72) .. controls ( 98, 72) and ( 98, 66) ..
|
|
||||||
( 98, 66) .. controls ( 98, 66) and ( 99, 66) ..
|
|
||||||
( 99, 66) .. controls ( 99, 67) and ( 99, 67) ..
|
|
||||||
( 99, 69) .. controls ( 99, 71) and ( 99, 72) ..
|
|
||||||
( 99, 72) .. controls ( 99, 73) and (100, 73) ..
|
|
||||||
(100, 73) .. controls (101, 73) and (101, 73) ..
|
|
||||||
(101, 73) .. controls (102, 73) and (102, 73) ..
|
|
||||||
(102, 73) .. controls (101, 72) and (101, 72) ..
|
|
||||||
(101, 69) .. controls (101, 66) and (101, 65) ..
|
|
||||||
(100, 65) .. controls (100, 64) and (100, 64) ..
|
|
||||||
(100, 64) -- ( 99, 64) --
|
|
||||||
(100, 63) .. controls (101, 63) and (102, 63) ..
|
|
||||||
(103, 63) .. controls (104, 62) and (106, 61) ..
|
|
||||||
(106, 60) -- (106, 60) --
|
|
||||||
(107, 60) .. controls (109, 60) and (113, 60) ..
|
|
||||||
(115, 61) .. controls (115, 61) and (115, 61) ..
|
|
||||||
(115, 61) .. controls (115, 60) and (111, 60) ..
|
|
||||||
(108, 59) .. controls (107, 59) and (107, 59) ..
|
|
||||||
(107, 59) .. controls (107, 59) and (107, 59) ..
|
|
||||||
(107, 59) -- (107, 59) --
|
|
||||||
(108, 59) .. controls (110, 59) and (112, 59) ..
|
|
||||||
(114, 59) .. controls (115, 59) and (115, 59) ..
|
|
||||||
(115, 59) .. controls (115, 59) and (112, 59) ..
|
|
||||||
(109, 59) .. controls (108, 58) and (107, 58) ..
|
|
||||||
(107, 58) .. controls (107, 58) and (107, 58) ..
|
|
||||||
(107, 58) .. controls (107, 57) and (107, 56) ..
|
|
||||||
(107, 55) .. controls (107, 53) and (107, 53) ..
|
|
||||||
(107, 53) .. controls (107, 52) and (106, 51) ..
|
|
||||||
(106, 50) -- (105, 50) --
|
|
||||||
(105, 48) .. controls (105, 47) and (105, 46) ..
|
|
||||||
(105, 46) -- (105, 45) --
|
|
||||||
(104, 45) .. controls (104, 45) and (104, 45) ..
|
|
||||||
(103, 45) -- cycle;
|
|
||||||
\protect\end{scope}%
|
|
||||||
\protect\end{tikzpicture}}%
|
|
||||||
~}
|
|
||||||
\renewcommand*{\gitlabsocialsymbol}{}
|
|
||||||
\renewcommand*{\stackoverflowsocialsymbol}{}
|
|
||||||
\renewcommand*{\googlescholarsocialsymbol}{}
|
|
||||||
\renewcommand*{\telegramsocialsymbol}{}
|
|
||||||
\renewcommand*{\whatsappsocialsymbol}{}
|
|
||||||
\renewcommand*{\signalsocialsymbol}{}
|
|
||||||
\renewcommand*{\matrixsocialsymbol}{}
|
|
||||||
\renewcommand*{\orcidsocialsymbol}{}
|
|
||||||
\renewcommand*{\researchgatesocialsymbol}{}
|
|
||||||
\renewcommand*{\researcheridsocialsymbol}{}
|
|
||||||
\renewcommand*{\bitbucketsocialsymbol}{}
|
|
||||||
\renewcommand*{\skypesocialsymbol} {%
|
|
||||||
\protect\raisebox{-0.15em}{%
|
|
||||||
\protect\begin{tikzpicture}[y=0.08em, x=0.08em, xscale=0.020, yscale=-0.020, inner sep=0pt, outer sep=0pt]
|
|
||||||
\protect\begin{scope}[shift={(507,387)}]
|
|
||||||
\protect\path[fill=color2,even odd rule]
|
|
||||||
(487.6550,288.9690) .. controls (489.0610,278.5690) and (489.8700,267.9960) ..
|
|
||||||
(489.8700,257.2330) .. controls (489.8700,128.0770) and (384.5990,23.3610) ..
|
|
||||||
(254.7670,23.3610) .. controls (241.8630,23.3610) and (229.2120,24.4210) ..
|
|
||||||
(216.9010,26.4410) .. controls (194.8280,12.0570) and (168.5590,3.6740) ..
|
|
||||||
(140.2880,3.6740) .. controls (62.7660,3.6740) and (0.0000,66.4820) ..
|
|
||||||
(0.0000,143.9800) .. controls (0.0000,172.1780) and (8.2990,198.3740) ..
|
|
||||||
(22.5900,220.3690) .. controls (20.6650,232.3860) and (19.6810,244.6920) ..
|
|
||||||
(19.6810,257.2290) .. controls (19.6810,386.4050) and (124.8980,491.1100) ..
|
|
||||||
(254.7660,491.1100) .. controls (269.4230,491.1100) and (283.6930,489.6840) ..
|
|
||||||
(297.5620,487.1780) .. controls (319.1120,500.5470) and (344.4960,508.3260) ..
|
|
||||||
(371.7080,508.3260) .. controls (449.2100,508.3260) and (512.0010,445.5020) ..
|
|
||||||
(512.0010,368.0120) .. controls (511.9980,338.7190) and (503.0410,311.4840) ..
|
|
||||||
(487.6550,288.9690) -- cycle(276.7400,429.5960) .. controls (202.0340,433.4870) and (167.0750,416.9590) .. (135.0500,386.9050) .. controls (99.2850,353.3370) and (113.6520,315.0500) ..
|
|
||||||
(142.7900,313.1040) .. controls (171.9120,311.1590) and (189.3980,346.1160) ..
|
|
||||||
(204.9410,355.8400) .. controls (220.4650,365.5280) and (279.5340,387.6000) ..
|
|
||||||
(310.7350,351.9320) .. controls (344.7100,313.1040) and (288.1410,293.0120) ..
|
|
||||||
(246.6760,286.9300) .. controls (187.4730,278.1640) and (112.7260,246.1370) ..
|
|
||||||
(118.5410,183.0230) .. controls (124.3580,119.9490) and (172.1230,87.6090) ..
|
|
||||||
(222.3910,83.0470) .. controls (286.4680,77.2300) and (328.1820,92.7540) ..
|
|
||||||
(361.1760,120.9070) .. controls (399.3270,153.4360) and (378.6840,189.8010) ..
|
|
||||||
(354.3770,192.7270) .. controls (330.1660,195.6360) and (302.9730,139.2230) ..
|
|
||||||
(249.5860,138.3750) .. controls (194.5590,137.5110) and (157.3690,195.6360) ..
|
|
||||||
(225.3000,212.1590) .. controls (293.2660,228.6640) and (366.0500,235.4450) ..
|
|
||||||
(392.2610,297.5760) .. controls (418.4900,359.7130) and (351.5070,425.7010) ..
|
|
||||||
(276.7400,429.5960) -- cycle;
|
|
||||||
\protect\end{scope}%
|
|
||||||
\protect\end{tikzpicture}}%
|
|
||||||
~}
|
|
||||||
\renewcommand*{\bornsymbol}{}
|
|
||||||
|
|
||||||
|
|
||||||
\endinput
|
\endinput
|
||||||
|
|
||||||
|
|
|
||||||
33
moderncviconssymbols.sty
Normal file
33
moderncviconssymbols.sty
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
%% start of file `moderncviconssymbols.sty'.
|
||||||
|
%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
|
||||||
|
%
|
||||||
|
% This work may be distributed and/or modified under the
|
||||||
|
% conditions of the LaTeX Project Public License version 1.3c,
|
||||||
|
% available at http://www.latex-project.org/lppl/.
|
||||||
|
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% identification
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
|
\ProvidesPackage{moderncviconssymbols}[2021-12-12 v2.2.0 modern curriculum vitae icons selector]
|
||||||
|
|
||||||
|
|
||||||
|
\ifxetexorluatex
|
||||||
|
\RequirePackage{moderncviconsawesome}
|
||||||
|
\RequirePackage{moderncviconsacademic}
|
||||||
|
\else
|
||||||
|
\typeout{^^Jmoderncv: academicons requires XeTeX/LuaTeX to work. Using alternatives.^^J}
|
||||||
|
\ifpdftex
|
||||||
|
\RequirePackage{moderncviconsawesome}
|
||||||
|
\else
|
||||||
|
\RequirePackage{moderncviconsmarvosym}
|
||||||
|
\fi
|
||||||
|
\fi
|
||||||
|
|
||||||
|
% Define symbols that are not defined at this level
|
||||||
|
\RequirePackage{moderncviconstikz}
|
||||||
|
|
||||||
|
\endinput
|
||||||
|
|
||||||
|
%% end of file `moderncviconssymbols.sty'.
|
||||||
464
moderncviconstikz.sty
Normal file
464
moderncviconstikz.sty
Normal file
|
|
@ -0,0 +1,464 @@
|
||||||
|
%% start of file `moderncviconstikz.sty'.
|
||||||
|
%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
|
||||||
|
%
|
||||||
|
% This work may be distributed and/or modified under the
|
||||||
|
% conditions of the LaTeX Project Public License version 1.3c,
|
||||||
|
% available at http://www.latex-project.org/lppl/.
|
||||||
|
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% identification
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
|
\ProvidesPackage{moderncviconstikz}[2024-07-18 v2.4.1 modern curriculum vitae and letter icons: tickz]
|
||||||
|
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% required packages
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
\RequirePackage{tikz}
|
||||||
|
\RequirePackage{etoolbox}
|
||||||
|
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% all symbols described in moderncv.cls
|
||||||
|
% only redefine symbols that are not defined at this level
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
\ifdefempty{\linkedinsocialsymbol} {
|
||||||
|
\renewcommand*{\linkedinsocialsymbol} {
|
||||||
|
\protect\raisebox{-0.165em}{
|
||||||
|
\protect\begin{tikzpicture}[x=0.08em, y=0.08em, xscale=0.25, yscale=-0.25, inner sep=0pt, outer sep=0pt]
|
||||||
|
\protect\begin{scope}[cm={{0.60,0.0,0.0,0.60,(346.39,123.07)}}]
|
||||||
|
\protect\path[fill=color2]
|
||||||
|
(381,202) -- (434,202) .. controls (439,202) and (442,205) ..
|
||||||
|
(442,210) -- (442,264) .. controls (442,268) and (439,272) ..
|
||||||
|
(434,272) -- (381,272) .. controls (376,272) and (372,268) ..
|
||||||
|
(372,264) -- (372,210) .. controls (372,205) and (376,202) ..
|
||||||
|
(381,202) -- cycle;
|
||||||
|
\protect\begin{scope}[xscale=0.98, yscale=1.02, fill=white]
|
||||||
|
\protect\path[fill=white]
|
||||||
|
(403,253) -- (403,224) -- (394,224) -- (394,253) --
|
||||||
|
cycle(398,211) .. controls (397,211) and (395,212) ..
|
||||||
|
(395,213) .. controls (394,213) and (393,215) ..
|
||||||
|
(393,216) .. controls (393,217) and (394,218) ..
|
||||||
|
(395,219) .. controls (395,220) and (397,220) ..
|
||||||
|
(398,220) .. controls (400,220) and (401,220) ..
|
||||||
|
(402,219) .. controls (402,218) and (403,217) ..
|
||||||
|
(403,216) .. controls (403,215) and (402,213) ..
|
||||||
|
(402,213) .. controls (401,212) and (400,211) ..
|
||||||
|
(398,211) -- cycle;
|
||||||
|
\protect\path[fill=white]
|
||||||
|
(410,253) -- (419,253) --
|
||||||
|
(419,236) .. controls (419,236) and (419,235) ..
|
||||||
|
(419,235) .. controls (419,235) and (419,234) ..
|
||||||
|
(419,234) .. controls (419,233) and (420,232) ..
|
||||||
|
(421,232) .. controls (422,231) and (423,231) ..
|
||||||
|
(424,231) .. controls (425,231) and (427,231) ..
|
||||||
|
(427,232) .. controls (428,234) and (428,235) ..
|
||||||
|
(428,237) -- (428,253) -- (437,253) --
|
||||||
|
(437,236) .. controls (437,232) and (436,228) ..
|
||||||
|
(434,226) .. controls (433,224) and (430,223) ..
|
||||||
|
(427,223) .. controls (425,223) and (423,224) ..
|
||||||
|
(421,225) .. controls (420,226) and (419,227) ..
|
||||||
|
(418,228) -- (418,228) -- (417,224) --
|
||||||
|
(410,224) .. controls (410,225) and (410,227) ..
|
||||||
|
(410,228) .. controls (410,230) and (410,231) ..
|
||||||
|
(410,233) -- cycle;
|
||||||
|
\protect\end{scope}
|
||||||
|
\protect\end{scope}
|
||||||
|
\protect\end{tikzpicture}}
|
||||||
|
~}
|
||||||
|
}{}\par
|
||||||
|
|
||||||
|
\ifdefempty{\twittersocialsymbol} {
|
||||||
|
\renewcommand*{\twittersocialsymbol} {
|
||||||
|
\protect\raisebox{0em}{%
|
||||||
|
\protect\begin{tikzpicture}[x=0.08em, y=0.08em, xscale=0.005, yscale=-0.005, inner sep=0pt, outer sep=0pt]
|
||||||
|
\protect\path[fill=color2]
|
||||||
|
(2000, 192) .. controls (1926, 225) and (1847, 247) ..
|
||||||
|
(1764, 257) .. controls (1849, 206) and (1914, 126) ..
|
||||||
|
(1945, 30) .. controls (1865, 77) and (1778, 111) ..
|
||||||
|
(1684, 130) .. controls (1609, 50) and (1503, 0) ..
|
||||||
|
(1385, 0) .. controls (1158, 0) and ( 974, 184) ..
|
||||||
|
( 974, 410) .. controls ( 974, 442) and ( 978, 474) ..
|
||||||
|
( 985, 504) .. controls ( 644, 487) and ( 342, 323) ..
|
||||||
|
( 139, 75) .. controls ( 104, 136) and ( 84, 206) ..
|
||||||
|
( 84, 281) .. controls ( 84, 424) and ( 156, 549) ..
|
||||||
|
( 266, 623) .. controls ( 199, 621) and ( 136, 602) ..
|
||||||
|
( 80, 572) .. controls ( 80, 573) and ( 80, 575) ..
|
||||||
|
( 80, 577) .. controls ( 80, 776) and ( 222, 941) ..
|
||||||
|
( 409, 979) .. controls ( 375, 988) and ( 339, 993) ..
|
||||||
|
( 301, 993) .. controls ( 275, 993) and ( 249, 991) ..
|
||||||
|
( 224, 986) .. controls ( 276,1149) and ( 428,1268) ..
|
||||||
|
( 607,1271) .. controls ( 467,1381) and ( 290,1447) ..
|
||||||
|
( 98,1447) .. controls ( 65,1447) and ( 32,1445) ..
|
||||||
|
( 0,1441) .. controls ( 182,1557) and ( 397,1625) ..
|
||||||
|
( 629,1625) .. controls (1384,1625) and (1796,1000) ..
|
||||||
|
(1796, 458) .. controls (1796, 440) and (1796, 422) ..
|
||||||
|
(1795, 405) .. controls (1875, 347) and (1945, 275) ..
|
||||||
|
(2000, 192);
|
||||||
|
\protect\end{tikzpicture}}
|
||||||
|
~}
|
||||||
|
}{}\par
|
||||||
|
|
||||||
|
\ifdefempty{\githubsocialsymbol} {
|
||||||
|
\renewcommand*{\githubsocialsymbol} {
|
||||||
|
\protect\raisebox{-0.15em} {
|
||||||
|
\protect\begin{tikzpicture}[x=0.08em, y=0.08em, xscale=0.25, yscale=-0.25, inner sep=0pt, outer sep=0pt]
|
||||||
|
\protect\begin{scope}[shift={(507,387)}]
|
||||||
|
\protect\path[fill=color2]
|
||||||
|
(117, 60) .. controls (117, 71) and (108, 81) ..
|
||||||
|
( 96, 81) .. controls ( 85, 81) and ( 75, 71) ..
|
||||||
|
( 75, 60) .. controls ( 75, 48) and ( 85, 39) ..
|
||||||
|
( 96, 39) .. controls (108, 39) and (117, 48) ..
|
||||||
|
(117, 60) -- cycle;
|
||||||
|
\protect\path[cm={{0.88,0.0,0.0,0.88,(11.10,6.89)}}, fill=white]
|
||||||
|
(117, 60) .. controls (117, 71) and (108, 81) ..
|
||||||
|
( 96, 81) .. controls ( 85, 81) and ( 75, 71) ..
|
||||||
|
( 75, 60) .. controls ( 75, 48) and ( 85, 39) ..
|
||||||
|
( 96, 39) .. controls (108, 39) and (117, 48) ..
|
||||||
|
(117, 60) -- cycle;
|
||||||
|
\protect\path[fill=color2, nonzero rule]
|
||||||
|
(103, 45) .. controls (103, 45) and (101, 46) ..
|
||||||
|
(101, 47) -- (100, 47) --
|
||||||
|
( 99, 47) .. controls ( 99, 47) and ( 98, 47) ..
|
||||||
|
( 97, 47) .. controls ( 94, 47) and ( 93, 47) ..
|
||||||
|
( 92, 47) -- ( 92, 47) --
|
||||||
|
( 91, 47) .. controls ( 90, 46) and ( 88, 45) ..
|
||||||
|
( 88, 45) .. controls ( 88, 45) and ( 88, 45) ..
|
||||||
|
( 87, 45) .. controls ( 87, 45) and ( 87, 45) ..
|
||||||
|
( 87, 45) .. controls ( 86, 46) and ( 86, 48) ..
|
||||||
|
( 86, 49) -- ( 87, 50) --
|
||||||
|
( 86, 51) .. controls ( 85, 51) and ( 85, 52) ..
|
||||||
|
( 85, 53) .. controls ( 85, 54) and ( 85, 57) ..
|
||||||
|
( 85, 58) .. controls ( 85, 58) and ( 85, 58) ..
|
||||||
|
( 82, 59) .. controls ( 79, 59) and ( 77, 59) ..
|
||||||
|
( 77, 59) .. controls ( 77, 59) and ( 77, 59) ..
|
||||||
|
( 78, 59) .. controls ( 80, 59) and ( 83, 59) ..
|
||||||
|
( 85, 59) .. controls ( 85, 59) and ( 85, 59) ..
|
||||||
|
( 85, 59) .. controls ( 86, 59) and ( 86, 59) ..
|
||||||
|
( 86, 59) .. controls ( 86, 59) and ( 85, 59) ..
|
||||||
|
( 84, 59) .. controls ( 82, 60) and ( 80, 60) ..
|
||||||
|
( 79, 60) .. controls ( 78, 61) and ( 77, 61) ..
|
||||||
|
( 77, 61) .. controls ( 77, 61) and ( 78, 61) ..
|
||||||
|
( 79, 61) .. controls ( 81, 60) and ( 83, 60) ..
|
||||||
|
( 85, 60) .. controls ( 86, 60) and ( 86, 60) ..
|
||||||
|
( 86, 60) .. controls ( 86, 60) and ( 87, 61) ..
|
||||||
|
( 88, 62) .. controls ( 89, 63) and ( 90, 63) ..
|
||||||
|
( 92, 63) .. controls ( 92, 63) and ( 93, 64) ..
|
||||||
|
( 93, 64) .. controls ( 93, 64) and ( 93, 64) ..
|
||||||
|
( 93, 64) .. controls ( 92, 64) and ( 92, 65) ..
|
||||||
|
( 92, 65) .. controls ( 92, 66) and ( 90, 66) ..
|
||||||
|
( 89, 66) .. controls ( 88, 66) and ( 88, 66) ..
|
||||||
|
( 87, 65) .. controls ( 87, 64) and ( 86, 63) ..
|
||||||
|
( 86, 63) .. controls ( 85, 63) and ( 84, 63) ..
|
||||||
|
( 84, 63) .. controls ( 84, 63) and ( 84, 63) ..
|
||||||
|
( 84, 63) .. controls ( 85, 64) and ( 86, 65) ..
|
||||||
|
( 86, 66) .. controls ( 87, 67) and ( 87, 68) ..
|
||||||
|
( 88, 68) .. controls ( 89, 68) and ( 89, 68) ..
|
||||||
|
( 90, 68) -- ( 92, 68) -- ( 92, 70) -- ( 92, 72) --
|
||||||
|
( 91, 72) .. controls ( 91, 72) and ( 91, 73) ..
|
||||||
|
( 91, 73) .. controls ( 90, 73) and ( 90, 73) ..
|
||||||
|
( 91, 73) .. controls ( 92, 73) and ( 92, 73) ..
|
||||||
|
( 92, 73) .. controls ( 93, 73) and ( 93, 73) ..
|
||||||
|
( 93, 70) .. controls ( 93, 67) and ( 93, 67) ..
|
||||||
|
( 94, 66) -- ( 94, 66) --
|
||||||
|
( 94, 69) .. controls ( 94, 71) and ( 94, 73) ..
|
||||||
|
( 94, 73) .. controls ( 94, 73) and ( 94, 73) ..
|
||||||
|
( 93, 74) .. controls ( 93, 74) and ( 93, 74) ..
|
||||||
|
( 93, 74) .. controls ( 93, 74) and ( 93, 74) ..
|
||||||
|
( 94, 74) .. controls ( 94, 74) and ( 95, 74) ..
|
||||||
|
( 96, 73) .. controls ( 96, 72) and ( 96, 71) ..
|
||||||
|
( 96, 68) -- ( 96, 66) -- ( 96, 66) --
|
||||||
|
( 96, 69) .. controls ( 96, 72) and ( 96, 72) ..
|
||||||
|
( 97, 73) .. controls ( 97, 74) and ( 99, 74) ..
|
||||||
|
( 99, 74) .. controls ( 99, 74) and ( 99, 74) ..
|
||||||
|
( 99, 73) .. controls ( 99, 73) and ( 98, 73) ..
|
||||||
|
( 98, 72) .. controls ( 98, 72) and ( 98, 66) ..
|
||||||
|
( 98, 66) .. controls ( 98, 66) and ( 99, 66) ..
|
||||||
|
( 99, 66) .. controls ( 99, 67) and ( 99, 67) ..
|
||||||
|
( 99, 69) .. controls ( 99, 71) and ( 99, 72) ..
|
||||||
|
( 99, 72) .. controls ( 99, 73) and (100, 73) ..
|
||||||
|
(100, 73) .. controls (101, 73) and (101, 73) ..
|
||||||
|
(101, 73) .. controls (102, 73) and (102, 73) ..
|
||||||
|
(102, 73) .. controls (101, 72) and (101, 72) ..
|
||||||
|
(101, 69) .. controls (101, 66) and (101, 65) ..
|
||||||
|
(100, 65) .. controls (100, 64) and (100, 64) ..
|
||||||
|
(100, 64) -- ( 99, 64) --
|
||||||
|
(100, 63) .. controls (101, 63) and (102, 63) ..
|
||||||
|
(103, 63) .. controls (104, 62) and (106, 61) ..
|
||||||
|
(106, 60) -- (106, 60) --
|
||||||
|
(107, 60) .. controls (109, 60) and (113, 60) ..
|
||||||
|
(115, 61) .. controls (115, 61) and (115, 61) ..
|
||||||
|
(115, 61) .. controls (115, 60) and (111, 60) ..
|
||||||
|
(108, 59) .. controls (107, 59) and (107, 59) ..
|
||||||
|
(107, 59) .. controls (107, 59) and (107, 59) ..
|
||||||
|
(107, 59) -- (107, 59) --
|
||||||
|
(108, 59) .. controls (110, 59) and (112, 59) ..
|
||||||
|
(114, 59) .. controls (115, 59) and (115, 59) ..
|
||||||
|
(115, 59) .. controls (115, 59) and (112, 59) ..
|
||||||
|
(109, 59) .. controls (108, 58) and (107, 58) ..
|
||||||
|
(107, 58) .. controls (107, 58) and (107, 58) ..
|
||||||
|
(107, 58) .. controls (107, 57) and (107, 56) ..
|
||||||
|
(107, 55) .. controls (107, 53) and (107, 53) ..
|
||||||
|
(107, 53) .. controls (107, 52) and (106, 51) ..
|
||||||
|
(106, 50) -- (105, 50) --
|
||||||
|
(105, 48) .. controls (105, 47) and (105, 46) ..
|
||||||
|
(105, 46) -- (105, 45) --
|
||||||
|
(104, 45) .. controls (104, 45) and (104, 45) ..
|
||||||
|
(103, 45) -- cycle;
|
||||||
|
\protect\end{scope}
|
||||||
|
\protect\end{tikzpicture}}
|
||||||
|
~}
|
||||||
|
}{}\par
|
||||||
|
|
||||||
|
\ifdefempty{\gitlabsocialsymbol} {
|
||||||
|
\renewcommand*{\gitlabsocialsymbol} {
|
||||||
|
\protect\raisebox{-0.12em}{
|
||||||
|
\protect\begin{tikzpicture}[x=0.11em, y=0.11em, xscale=0.015, yscale=-0.015, inner sep=0pt, outer sep=0pt]
|
||||||
|
\protect\begin{scope}[shift={(507,387)}]
|
||||||
|
\protect\path[fill=color2,line width=0.057pt]
|
||||||
|
(105.2000,24.9000) .. controls (102.1000,16.0000) and (89.5000,16.0000) ..
|
||||||
|
(86.3000,24.9000) -- (29.8000,199.7000) -- (161.7000,199.7000) .. controls
|
||||||
|
(161.7000,199.7000) and (105.2000,24.9000) .. (105.2000,24.9000) -- cycle
|
||||||
|
(0.9000,287.7000) .. controls (-1.7000,295.7000) and (1.2000,304.6000) ..
|
||||||
|
(8.0000,309.7000) -- (255.9000,493.7000) -- (29.7000,199.7000) -- cycle
|
||||||
|
(161.7000,199.7000) -- (161.7000,199.7000) -- (256.0000,493.7000) -- (350.3000,199.7000) -- cycle
|
||||||
|
(511.1000,287.7000) -- (482.3000,199.7000) -- (256.0000,493.7000) --
|
||||||
|
(503.9000,309.7000) .. controls (510.8000,304.6000) and (513.6000,295.7000) ..
|
||||||
|
(511.1000,287.7000) -- cycle(425.7000,24.9000) .. controls (422.6000,16.0000)
|
||||||
|
and (410.0000,16.0000) .. (406.8000,24.9000) -- (350.2000,199.7000) -- (482.2000,199.7000) -- cycle;
|
||||||
|
\protect\end{scope}
|
||||||
|
\protect\end{tikzpicture}}
|
||||||
|
~}
|
||||||
|
}{}\par
|
||||||
|
|
||||||
|
\ifdefempty{\skypesocialsymbol} {
|
||||||
|
\renewcommand*{\skypesocialsymbol} {
|
||||||
|
\protect\raisebox{-0.15em}{
|
||||||
|
\protect\begin{tikzpicture}[y=0.08em, x=0.08em, xscale=0.020, yscale=-0.020, inner sep=0pt, outer sep=0pt]
|
||||||
|
\protect\begin{scope}[shift={(507,387)}]
|
||||||
|
\protect\path[fill=color2,even odd rule]
|
||||||
|
(487.6550,288.9690) .. controls (489.0610,278.5690) and (489.8700,267.9960) ..
|
||||||
|
(489.8700,257.2330) .. controls (489.8700,128.0770) and (384.5990,23.3610) ..
|
||||||
|
(254.7670,23.3610) .. controls (241.8630,23.3610) and (229.2120,24.4210) ..
|
||||||
|
(216.9010,26.4410) .. controls (194.8280,12.0570) and (168.5590,3.6740) ..
|
||||||
|
(140.2880,3.6740) .. controls (62.7660,3.6740) and (0.0000,66.4820) ..
|
||||||
|
(0.0000,143.9800) .. controls (0.0000,172.1780) and (8.2990,198.3740) ..
|
||||||
|
(22.5900,220.3690) .. controls (20.6650,232.3860) and (19.6810,244.6920) ..
|
||||||
|
(19.6810,257.2290) .. controls (19.6810,386.4050) and (124.8980,491.1100) ..
|
||||||
|
(254.7660,491.1100) .. controls (269.4230,491.1100) and (283.6930,489.6840) ..
|
||||||
|
(297.5620,487.1780) .. controls (319.1120,500.5470) and (344.4960,508.3260) ..
|
||||||
|
(371.7080,508.3260) .. controls (449.2100,508.3260) and (512.0010,445.5020) ..
|
||||||
|
(512.0010,368.0120) .. controls (511.9980,338.7190) and (503.0410,311.4840) ..
|
||||||
|
(487.6550,288.9690) -- cycle(276.7400,429.5960) .. controls (202.0340,433.4870) and (167.0750,416.9590) .. (135.0500,386.9050) .. controls (99.2850,353.3370) and (113.6520,315.0500) ..
|
||||||
|
(142.7900,313.1040) .. controls (171.9120,311.1590) and (189.3980,346.1160) ..
|
||||||
|
(204.9410,355.8400) .. controls (220.4650,365.5280) and (279.5340,387.6000) ..
|
||||||
|
(310.7350,351.9320) .. controls (344.7100,313.1040) and (288.1410,293.0120) ..
|
||||||
|
(246.6760,286.9300) .. controls (187.4730,278.1640) and (112.7260,246.1370) ..
|
||||||
|
(118.5410,183.0230) .. controls (124.3580,119.9490) and (172.1230,87.6090) ..
|
||||||
|
(222.3910,83.0470) .. controls (286.4680,77.2300) and (328.1820,92.7540) ..
|
||||||
|
(361.1760,120.9070) .. controls (399.3270,153.4360) and (378.6840,189.8010) ..
|
||||||
|
(354.3770,192.7270) .. controls (330.1660,195.6360) and (302.9730,139.2230) ..
|
||||||
|
(249.5860,138.3750) .. controls (194.5590,137.5110) and (157.3690,195.6360) ..
|
||||||
|
(225.3000,212.1590) .. controls (293.2660,228.6640) and (366.0500,235.4450) ..
|
||||||
|
(392.2610,297.5760) .. controls (418.4900,359.7130) and (351.5070,425.7010) ..
|
||||||
|
(276.7400,429.5960) -- cycle;
|
||||||
|
\protect\end{scope}
|
||||||
|
\protect\end{tikzpicture}}
|
||||||
|
~}
|
||||||
|
}{}\par
|
||||||
|
|
||||||
|
\ifdefempty{\googlescholarsocialsymbol} {
|
||||||
|
\renewcommand*{\googlescholarsocialsymbol} {
|
||||||
|
\protect\raisebox{-0.12em}{
|
||||||
|
\protect\begin{tikzpicture}[y=2.0pt, x=2.0pt, yscale=-0.1, xscale=0.1, inner sep=0pt, outer sep=0pt]
|
||||||
|
\protect\begin{scope}[shift={(507,387)}]
|
||||||
|
\protect\path[fill=color2] (25.0000,2.0000) .. controls (12.3095,2.0000) and (2.0000,12.3095)
|
||||||
|
.. (2.0000,25.0000) .. controls (2.0000,37.6905) and (12.3095,48.0000) ..
|
||||||
|
(25.0000,48.0000) .. controls (37.6905,48.0000) and (48.0000,37.6905) ..
|
||||||
|
(48.0000,25.0000) .. controls (48.0000,12.3095) and (37.6905,2.0000) ..
|
||||||
|
(25.0000,2.0000) -- cycle(25.0000,4.0000) .. controls (36.6095,4.0000) and
|
||||||
|
(46.0000,13.3905) .. (46.0000,25.0000) .. controls (46.0000,36.6095) and
|
||||||
|
(36.6095,46.0000) .. (25.0000,46.0000) .. controls (13.3905,46.0000) and
|
||||||
|
(4.0000,36.6095) .. (4.0000,25.0000) .. controls (4.0000,13.3905) and
|
||||||
|
(13.3905,4.0000) .. (25.0000,4.0000) -- cycle(21.0000,11.0000) --
|
||||||
|
(11.0000,20.0000) -- (17.7812,20.0000) .. controls (17.8012,22.8470) and
|
||||||
|
(19.9675,25.7305) .. (23.7695,25.7305) .. controls (24.1295,25.7305) and
|
||||||
|
(24.5297,25.6904) .. (24.9297,25.6504) .. controls (24.7497,26.1004) and
|
||||||
|
(24.5605,26.4701) .. (24.5605,27.0801) .. controls (24.5605,28.2301) and
|
||||||
|
(25.1404,28.9201) .. (25.6504,29.5801) .. controls (24.0204,29.6901) and
|
||||||
|
(20.9898,29.8795) .. (18.7598,31.2695) .. controls (16.6298,32.5595) and
|
||||||
|
(15.9805,34.4300) .. (15.9805,35.7500) .. controls (15.9805,38.4700) and
|
||||||
|
(18.5005,41.0000) .. (23.7305,41.0000) .. controls (29.9305,41.0000) and
|
||||||
|
(33.2207,37.5105) .. (33.2207,34.0605) .. controls (33.2207,31.5305) and
|
||||||
|
(31.7795,30.2799) .. (30.1895,28.9199) -- (28.9004,27.8906) .. controls
|
||||||
|
(28.5004,27.5706) and (27.9492,27.1203) .. (27.9492,26.3203) .. controls
|
||||||
|
(27.9492,25.5103) and (28.5007,24.9898) .. (28.9707,24.5098) .. controls
|
||||||
|
(30.4807,23.3098) and (32.0000,21.9602) .. (32.0000,19.2402) .. controls
|
||||||
|
(32.0000,18.1972) and (31.7562,17.3484) .. (31.4082,16.6504) --
|
||||||
|
(35.0000,13.5703) -- (35.0000,17.2773) .. controls (34.4050,17.6233) and
|
||||||
|
(34.0000,18.2610) .. (34.0000,19.0000) -- (34.0000,25.0000) .. controls
|
||||||
|
(34.0000,26.1040) and (34.8960,27.0000) .. (36.0000,27.0000) .. controls
|
||||||
|
(37.1040,27.0000) and (38.0000,26.1040) .. (38.0000,25.0000) --
|
||||||
|
(38.0000,19.0000) .. controls (38.0000,18.2620) and (37.5950,17.6243) ..
|
||||||
|
(37.0000,17.2773) -- (37.0000,12.0000) .. controls (37.0000,11.9570) and
|
||||||
|
(36.9806,11.9209) .. (36.9746,11.8789) -- (38.0000,11.0000) --
|
||||||
|
(21.0000,11.0000) -- cycle(24.2695,14.2402) .. controls (27.2695,14.2402) and
|
||||||
|
(28.8203,18.3500) .. (28.8203,21.0000) .. controls (28.8203,21.6500) and
|
||||||
|
(28.7399,22.8199) .. (27.9199,23.6699) .. controls (27.3399,24.2599) and
|
||||||
|
(26.3709,24.6992) .. (25.4609,24.6992) .. controls (22.3709,24.6992) and
|
||||||
|
(20.9492,20.6202) .. (20.9492,18.1602) .. controls (20.9492,17.2102) and
|
||||||
|
(21.1400,16.2209) .. (21.7500,15.4609) .. controls (22.3300,14.7109) and
|
||||||
|
(23.3395,14.2402) .. (24.2695,14.2402) -- cycle(26.0391,30.6094) .. controls
|
||||||
|
(26.4091,30.6094) and (26.5909,30.6104) .. (26.8809,30.6504) .. controls
|
||||||
|
(29.6209,32.6304) and (30.8008,33.6202) .. (30.8008,35.4902) .. controls
|
||||||
|
(30.8008,37.7602) and (28.9700,39.4609) .. (25.5000,39.4609) .. controls
|
||||||
|
(21.6400,39.4609) and (19.1602,37.5905) .. (19.1602,34.9805) .. controls
|
||||||
|
(19.1602,32.3705) and (21.4598,31.4992) .. (22.2598,31.1992) .. controls
|
||||||
|
(23.7698,30.6792) and (25.7191,30.6094) .. (26.0391,30.6094) -- cycle;
|
||||||
|
\protect\end{scope}
|
||||||
|
\protect\end{tikzpicture}}
|
||||||
|
~}
|
||||||
|
}{}\par
|
||||||
|
|
||||||
|
\ifdefempty{\matrixsocialsymbol} {
|
||||||
|
\renewcommand*{\matrixsocialsymbol} {
|
||||||
|
\protect\raisebox{-0.12em}{
|
||||||
|
\protect\begin{tikzpicture}[y=1.8pt, x=1.8pt, yscale=-0.15, xscale=0.15, inner sep=0pt, outer sep=0pt]
|
||||||
|
\protect\begin{scope}[shift={(507,387)}]
|
||||||
|
\protect\path[fill=color2]
|
||||||
|
(0.9360,0.7320) .. controls (0.9360,10.9053) and (0.9360,21.0787) ..
|
||||||
|
(0.9360,31.2520) .. controls (1.6673,31.2520) and (2.3987,31.2520) ..
|
||||||
|
(3.1300,31.2520) .. controls (3.3452,32.0075) and (2.8778,32.0803) ..
|
||||||
|
(2.2413,31.9840) .. controls (1.5258,31.9840) and (0.8104,31.9840) ..
|
||||||
|
(0.0950,31.9840) .. controls (0.0950,21.3240) and (0.0950,10.6640) ..
|
||||||
|
(0.0950,0.0040) .. controls (1.1063,0.0040) and (2.1177,0.0040) ..
|
||||||
|
(3.1290,0.0040) .. controls (3.3442,0.7598) and (2.8768,0.8319) ..
|
||||||
|
(2.2403,0.7344) .. controls (1.8055,0.7336) and (1.3708,0.7328) ..
|
||||||
|
(0.9360,0.7320) -- cycle(9.3860,10.4070) .. controls (9.4181,10.9043) and
|
||||||
|
(9.3236,11.5281) .. (9.4300,11.9510) .. controls (10.7306,9.8293) and
|
||||||
|
(14.1727,9.3918) .. (15.8298,11.2910) .. controls (16.3916,12.8310) and
|
||||||
|
(17.3334,10.0899) .. (18.5637,10.2414) .. controls (20.4575,9.7636) and
|
||||||
|
(23.0149,10.3893) .. (23.6011,12.4937) .. controls (24.0197,14.2344) and
|
||||||
|
(23.7678,16.0478) .. (23.8370,17.8238) .. controls (23.8370,19.1536) and
|
||||||
|
(23.8370,20.4833) .. (23.8370,21.8130) .. controls (22.7947,21.8130) and
|
||||||
|
(21.7523,21.8130) .. (20.7100,21.8130) .. controls (20.6777,19.2218) and
|
||||||
|
(20.7833,16.6250) .. (20.6389,14.0382) .. controls (20.4668,12.0762) and
|
||||||
|
(17.2764,12.0985) .. (16.8890,13.9332) .. controls (16.5424,15.7480) and
|
||||||
|
(16.7622,17.6175) .. (16.7000,19.4583) .. controls (16.7000,20.2432) and
|
||||||
|
(16.7000,21.0281) .. (16.7000,21.8130) .. controls (15.6573,21.8130) and
|
||||||
|
(14.6147,21.8130) .. (13.5720,21.8130) .. controls (13.5377,19.1909) and
|
||||||
|
(13.6502,16.5608) .. (13.4952,13.9452) .. controls (13.2700,12.0546) and
|
||||||
|
(10.3372,12.2098) .. (9.8050,13.8370) .. controls (9.3690,15.2175) and
|
||||||
|
(9.6378,16.6981) .. (9.5630,18.1268) .. controls (9.5630,19.3556) and
|
||||||
|
(9.5630,20.5843) .. (9.5630,21.8130) .. controls (8.5200,21.8130) and
|
||||||
|
(7.4770,21.8130) .. (6.4340,21.8130) .. controls (6.4340,18.0097) and
|
||||||
|
(6.4340,14.2063) .. (6.4340,10.4030) .. controls (7.4180,10.4043) and
|
||||||
|
(8.4020,10.4057) .. (9.3860,10.4070) -- cycle(30.0980,31.2470) .. controls
|
||||||
|
(30.0980,21.0737) and (30.0980,10.9003) .. (30.0980,0.7270) .. controls
|
||||||
|
(29.3667,0.7270) and (28.6353,0.7270) .. (27.9040,0.7270) .. controls
|
||||||
|
(27.6888,-0.0285) and (28.1562,-0.1013) .. (28.7927,-0.0050) .. controls
|
||||||
|
(29.5082,-0.0050) and (30.2236,-0.0050) .. (30.9390,-0.0050) .. controls
|
||||||
|
(30.9390,10.6550) and (30.9390,21.3150) .. (30.9390,31.9750) .. controls
|
||||||
|
(29.9273,31.9750) and (28.9157,31.9750) .. (27.9040,31.9750) .. controls
|
||||||
|
(27.6888,31.2192) and (28.1562,31.1471) .. (28.7927,31.2446) .. controls
|
||||||
|
(29.2278,31.2454) and (29.6629,31.2462) .. (30.0980,31.2470) -- cycle;
|
||||||
|
\protect\end{scope}
|
||||||
|
\protect\end{tikzpicture}}
|
||||||
|
~}
|
||||||
|
}{}\par
|
||||||
|
|
||||||
|
\ifdefempty{\signalsocialsymbol} {
|
||||||
|
\renewcommand*{\signalsocialsymbol} {
|
||||||
|
\protect\raisebox{-0.12em}{
|
||||||
|
\protect\begin{tikzpicture}[y=0.1pt, x=0.1pt, yscale=-0.13, xscale=0.13, inner sep=0pt, outer sep=0pt]
|
||||||
|
\protect\begin{scope}[shift={(507,387)}]
|
||||||
|
\protect\path[fill=color2]
|
||||||
|
(430.1000,180.9000) -- (437.8000,211.9000) .. controls (407.6000,219.3000)
|
||||||
|
and (378.7000,231.3000) .. (352.1000,247.3000) -- (335.7000,220.0000) ..
|
||||||
|
controls (365.0000,202.3000) and (396.9000,189.1000) .. (430.1000,180.9000) --
|
||||||
|
cycle(593.9000,180.9000) -- (586.2000,211.9000) .. controls
|
||||||
|
(616.4000,219.3000) and (645.3000,231.3000) .. (671.9000,247.3000) --
|
||||||
|
(688.4000,219.9000) .. controls (659.0000,202.3000) and (627.2000,189.1000) ..
|
||||||
|
(593.9000,180.9000) -- cycle(220.0000,335.7000) .. controls
|
||||||
|
(202.3000,365.0000) and (189.1000,396.9000) .. (180.9000,430.1000) --
|
||||||
|
(211.9000,437.8000) .. controls (219.3000,407.6000) and (231.3000,378.7000) ..
|
||||||
|
(247.3000,352.1000) -- cycle(202.9000,512.0000) .. controls
|
||||||
|
(202.9000,496.5000) and (204.0000,481.0000) .. (206.4000,465.7000) --
|
||||||
|
(174.8000,460.9000) .. controls (169.7000,494.8000) and (169.7000,529.2000) ..
|
||||||
|
(174.8000,563.1000) -- (206.4000,558.3000) .. controls (204.1000,543.0000) and
|
||||||
|
(202.9000,527.5000) .. (202.9000,512.0000) -- cycle(688.3000,804.0000) --
|
||||||
|
(671.9000,776.6000) .. controls (645.3000,792.7000) and (616.5000,804.6000) ..
|
||||||
|
(586.3000,812.0000) -- (594.0000,843.0000) .. controls (627.2000,834.8000) and
|
||||||
|
(659.0000,821.7000) .. (688.3000,804.0000) -- cycle(821.1000,512.0000) ..
|
||||||
|
controls (821.1000,527.5000) and (820.0000,543.0000) .. (817.6000,558.3000) --
|
||||||
|
(849.2000,563.1000) .. controls (854.3000,529.2000) and (854.3000,494.8000) ..
|
||||||
|
(849.2000,460.9000) -- (817.6000,465.7000) .. controls (819.9000,481.0000) and
|
||||||
|
(821.1000,496.5000) .. (821.1000,512.0000) -- cycle(843.1000,593.8000) --
|
||||||
|
(812.1000,586.1000) .. controls (804.7000,616.3000) and (792.7000,645.2000) ..
|
||||||
|
(776.7000,671.8000) -- (804.1000,688.3000) .. controls (821.7000,659.0000) and
|
||||||
|
(834.9000,627.1000) .. (843.1000,593.8000) -- cycle(558.3000,817.6000) ..
|
||||||
|
controls (527.6000,822.2000) and (496.4000,822.2000) .. (465.7000,817.6000) --
|
||||||
|
(460.9000,849.2000) .. controls (494.8000,854.3000) and (529.2000,854.3000) ..
|
||||||
|
(563.1000,849.2000) -- cycle(760.8000,695.3000) .. controls
|
||||||
|
(742.4000,720.3000) and (720.3000,742.3000) .. (695.3000,760.7000) --
|
||||||
|
(714.3000,786.4000) .. controls (741.9000,766.1000) and (766.2000,741.9000) ..
|
||||||
|
(786.6000,714.4000) -- cycle(695.3000,263.2000) .. controls
|
||||||
|
(720.3000,281.6000) and (742.4000,303.7000) .. (760.8000,328.7000) --
|
||||||
|
(786.5000,309.5000) .. controls (766.2000,282.0000) and (741.9000,257.7000) ..
|
||||||
|
(714.5000,237.5000) -- cycle(263.2000,328.7000) .. controls
|
||||||
|
(281.6000,303.7000) and (303.7000,281.6000) .. (328.7000,263.2000) --
|
||||||
|
(309.5000,237.5000) .. controls (282.0000,257.8000) and (257.7000,282.1000) ..
|
||||||
|
(237.5000,309.5000) -- cycle(804.0000,335.7000) -- (776.6000,352.1000) ..
|
||||||
|
controls (792.7000,378.7000) and (804.6000,407.5000) .. (812.0000,437.7000) --
|
||||||
|
(843.0000,430.0000) .. controls (834.9000,396.8000) and (821.7000,365.0000) ..
|
||||||
|
(804.0000,335.7000) -- cycle(465.7000,206.4000) .. controls
|
||||||
|
(496.4000,201.8000) and (527.6000,201.8000) .. (558.3000,206.4000) --
|
||||||
|
(563.1000,174.8000) .. controls (529.2000,169.7000) and (494.8000,169.7000) ..
|
||||||
|
(460.9000,174.8000) -- cycle(279.6000,795.0000) -- (213.6000,810.4000) --
|
||||||
|
(229.0000,744.4000) -- (197.9000,737.1000) -- (182.5000,803.1000) .. controls
|
||||||
|
(180.0000,813.9000) and (183.2000,825.2000) .. (191.0000,833.0000) .. controls
|
||||||
|
(198.8000,840.8000) and (210.1000,844.0000) .. (220.9000,841.5000) --
|
||||||
|
(286.9000,826.4000) -- cycle(204.5000,708.5000) -- (235.6000,715.7000) --
|
||||||
|
(246.3000,669.9000) .. controls (230.8000,643.8000) and (219.2000,615.5000) ..
|
||||||
|
(211.9000,586.0000) -- (180.9000,593.7000) .. controls (187.9000,622.0000) and
|
||||||
|
(198.4000,649.2000) .. (212.3000,674.7000) -- cycle(353.7000,777.8000) --
|
||||||
|
(308.0000,788.5000) -- (315.2000,819.6000) -- (348.9000,811.8000) .. controls
|
||||||
|
(374.5000,825.7000) and (401.7000,836.3000) .. (430.0000,843.2000) --
|
||||||
|
(437.7000,812.2000) .. controls (408.3000,804.9000) and (380.1000,793.2000) ..
|
||||||
|
(354.0000,777.6000) -- cycle(512.0000,234.9000) .. controls
|
||||||
|
(411.2000,235.0000) and (318.3000,289.8000) .. (269.6000,378.0000) .. controls
|
||||||
|
(220.9000,466.2000) and (223.9000,574.0000) .. (277.6000,659.4000) --
|
||||||
|
(251.0000,773.1000) -- (364.7000,746.5000) .. controls (464.4000,809.3000) and
|
||||||
|
(592.9000,802.2000) .. (685.1000,728.8000) .. controls (777.3000,655.4000) and
|
||||||
|
(812.9000,531.7000) .. (774.0000,420.5000) .. controls (734.8000,309.2000) and
|
||||||
|
(629.8000,234.8000) .. (512.0000,234.9000) -- cycle;
|
||||||
|
\protect\end{scope}
|
||||||
|
\protect\end{tikzpicture}}
|
||||||
|
~}
|
||||||
|
}{}\par
|
||||||
|
|
||||||
|
\ifdefempty{\codebergsocialsymbol} {
|
||||||
|
\renewcommand*{\codebergsocialsymbol} {
|
||||||
|
\protect\raisebox{-0.12em}{
|
||||||
|
\protect\begin{tikzpicture}[y=0.8pt, x=0.8pt, yscale=-1.0, xscale=1.0, inner sep=0pt, outer sep=0pt]
|
||||||
|
\protect\begin{scope}[shift={(507, 387)}]
|
||||||
|
\protect\path[scale=0.265, opacity=0.500, line cap=butt, line join=miter, line width=0.779pt, miter limit=2.00]
|
||||||
|
(11249.8942,-1872.9296)arc(269.285:169.240:0.201313 and 0.150) --
|
||||||
|
(11258.5852,-1839.4433)arc(66.699:32.084:23.067) --
|
||||||
|
(11250.0698,-1872.8557)arc(329.460:269.346:0.201313 and 0.150) -- cycle;
|
||||||
|
|
||||||
|
\protect\path[scale=0.265, fill=color2, line width=0.426pt]
|
||||||
|
(11249.3743,-1883.6959)arc(269.785:180.000:23.067)arc(180.001:147.920:23.067)
|
||||||
|
-- (11249.1480,-1873.2412)arc(209.929:330.071:0.360097 and 0.269) --
|
||||||
|
(11269.0053,-1848.3766)arc(32.082:-0.002:23.067)arc(360.000:270.000:23.067)arc(270.108:269.892:23.067)
|
||||||
|
-- cycle;
|
||||||
|
\protect\end{scope}
|
||||||
|
\protect\end{tikzpicture}}
|
||||||
|
~}
|
||||||
|
}{}\par
|
||||||
|
|
||||||
|
\endinput
|
||||||
|
|
||||||
|
%% end of file `moderncviconstikz.sty'.
|
||||||
|
|
@ -203,7 +203,7 @@
|
||||||
% identification
|
% identification
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
\NeedsTeXFormat{LaTeX2e}
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
\ProvidesPackage{moderncvskillmatrix}[2021/01/21 v2.1.0 modern curriculum vitae and letter skill matrix]
|
\ProvidesPackage{moderncvskillmatrix}[2024-07-18 v2.4.1 modern curriculum vitae and letter skill matrix]
|
||||||
|
|
||||||
% The definitions need to be adjusted depending on which moderncvbody<i-v>.sty style is usde.
|
% The definitions need to be adjusted depending on which moderncvbody<i-v>.sty style is usde.
|
||||||
% body type options: "moderncvbodyi" (default), "moderncvbodyii", "moderncvbodyiii", "moderncvbodyiv" or "moderncvbodyv"
|
% body type options: "moderncvbodyi" (default), "moderncvbodyii", "moderncvbodyiii", "moderncvbodyiv" or "moderncvbodyv"
|
||||||
|
|
@ -218,6 +218,10 @@
|
||||||
\@initializeif{\if@moderncvbodyv}\@moderncvbodyvfalse
|
\@initializeif{\if@moderncvbodyv}\@moderncvbodyvfalse
|
||||||
\DeclareOption{moderncvbodyv}{\@moderncvbodyifalse\@moderncvbodyiifalse\@moderncvbodyiiifalse\@moderncvbodyivfalse\@moderncvbodyvtrue}
|
\DeclareOption{moderncvbodyv}{\@moderncvbodyifalse\@moderncvbodyiifalse\@moderncvbodyiiifalse\@moderncvbodyivfalse\@moderncvbodyvtrue}
|
||||||
|
|
||||||
|
% If option `circle` is specified, use circles instead of small rectangles for rating skills
|
||||||
|
\@initializeif{\if@cvskillcircle}\@cvskillcirclefalse
|
||||||
|
\DeclareOption{circle}{\@cvskillcircletrue}
|
||||||
|
|
||||||
\DeclareOption*{}% avoid choking on unknown options
|
\DeclareOption*{}% avoid choking on unknown options
|
||||||
\ExecuteOptions{moderncvbodyi}
|
\ExecuteOptions{moderncvbodyi}
|
||||||
\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
|
\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
|
||||||
|
|
@ -239,8 +243,14 @@
|
||||||
% %-------------------------------------------------------------------------------
|
% %-------------------------------------------------------------------------------
|
||||||
% The code for the Skilllevel illustration with the little boxes.
|
% The code for the Skilllevel illustration with the little boxes.
|
||||||
% This is idea stolen from the limecv package, see https://github.com/opieters/limecv.git
|
% This is idea stolen from the limecv package, see https://github.com/opieters/limecv.git
|
||||||
\@initializelength{\cvSkill@RectangleSize}
|
\@initializelength{\cvSkill@ShapeSize}
|
||||||
\setlength{\cvSkill@RectangleSize}{1.2ex}
|
\if@cvskillcircle%
|
||||||
|
\setlength{\cvSkill@ShapeSize}{.7ex}%
|
||||||
|
\def\cvSkill@Shape#1{\tikz\filldraw[#1] (0, 0) circle (\cvSkill@ShapeSize);}
|
||||||
|
\else
|
||||||
|
\setlength{\cvSkill@ShapeSize}{1.2ex}
|
||||||
|
\def\cvSkill@Shape#1{\tikz\filldraw[#1] (0, 0) rectangle (\cvSkill@ShapeSize, \cvSkill@ShapeSize);}
|
||||||
|
\fi
|
||||||
\newcount\my@repeat@count
|
\newcount\my@repeat@count
|
||||||
\DeclareDocumentCommand{\cvskill}{m}{%
|
\DeclareDocumentCommand{\cvskill}{m}{%
|
||||||
% Illustrate skill level with little colored boxes.
|
% Illustrate skill level with little colored boxes.
|
||||||
|
|
@ -252,10 +262,10 @@
|
||||||
% \cvskill{3}
|
% \cvskill{3}
|
||||||
\begingroup
|
\begingroup
|
||||||
\my@repeat@count=\z@
|
\my@repeat@count=\z@
|
||||||
\@whilenum\my@repeat@count<#1\do{\tikz\filldraw[color1] (0, 0) rectangle (\cvSkill@RectangleSize, \cvSkill@RectangleSize);\advance%
|
\@whilenum\my@repeat@count<#1\do{\cvSkill@Shape{skillmatrixfullcolor}\advance%
|
||||||
\my@repeat@count\@ne\,}%
|
\my@repeat@count\@ne\,}%
|
||||||
\my@repeat@count=\numexpr5-\z@\relax
|
\my@repeat@count=\numexpr5-\z@\relax
|
||||||
\@whilenum\my@repeat@count>#1\do{\tikz\filldraw[color2!30] (0, 0) rectangle (\cvSkill@RectangleSize, \cvSkill@RectangleSize);\advance%
|
\@whilenum\my@repeat@count>#1\do{\cvSkill@Shape{skillmatrixemptycolor}\advance%
|
||||||
\my@repeat@count\m@ne\,}%
|
\my@repeat@count\m@ne\,}%
|
||||||
\endgroup
|
\endgroup
|
||||||
}% end \cvskill
|
}% end \cvskill
|
||||||
|
|
@ -596,7 +606,7 @@
|
||||||
\RenewDocumentCommand\cvskilllegend{s +O{.25em} +O{\skillLegend@defaultLevelOne} +O{\skillLegend@defaultLevelTwo} +O{\skillLegend@defaultLevelThree} +O{\skillLegend@defaultLevelFour} +O{\skillLegend@defaultLevelFive} +m}{%
|
\RenewDocumentCommand\cvskilllegend{s +O{.25em} +O{\skillLegend@defaultLevelOne} +O{\skillLegend@defaultLevelTwo} +O{\skillLegend@defaultLevelThree} +O{\skillLegend@defaultLevelFour} +O{\skillLegend@defaultLevelFive} +m}{%
|
||||||
\IfBooleanTF#1{% if a star is given, add dashed line
|
\IfBooleanTF#1{% if a star is given, add dashed line
|
||||||
\begingroup%
|
\begingroup%
|
||||||
\arrayrulecolor{color1}%
|
\arrayrulecolor{bodyrulecolor}%
|
||||||
% calculate descriptor widths
|
% calculate descriptor widths
|
||||||
\setlength{\cvskilllegend@leftdescriptorwidth}{\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-3\skilllegend@padding}%
|
\setlength{\cvskilllegend@leftdescriptorwidth}{\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-3\skilllegend@padding}%
|
||||||
\setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-3\skilllegend@padding}%
|
\setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-3\skilllegend@padding}%
|
||||||
|
|
@ -650,7 +660,7 @@
|
||||||
% in the stared and nonstared case
|
% in the stared and nonstared case
|
||||||
\setlength{\cvskilllegend@leftdescriptorwidth}{\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-4\skilllegend@padding}%
|
\setlength{\cvskilllegend@leftdescriptorwidth}{\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-4\skilllegend@padding}%
|
||||||
\setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-4\skilllegend@padding}%
|
\setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-4\skilllegend@padding}%
|
||||||
\arrayrulecolor{color1}
|
\arrayrulecolor{bodyrulecolor}
|
||||||
\begin{tabular}{@{}p{\skilllegend@hintscolumnwidth}
|
\begin{tabular}{@{}p{\skilllegend@hintscolumnwidth}
|
||||||
@{\hspace{\separatorcolumnwidth}}p{\cvskill@width}@{\hspace{\skilllegend@padding}};{.6pt/1pt}%
|
@{\hspace{\separatorcolumnwidth}}p{\cvskill@width}@{\hspace{\skilllegend@padding}};{.6pt/1pt}%
|
||||||
p{2\skilllegend@padding}%
|
p{2\skilllegend@padding}%
|
||||||
|
|
@ -697,7 +707,7 @@
|
||||||
}{%
|
}{%
|
||||||
\cvitem[-0.5em]{#8}{}%
|
\cvitem[-0.5em]{#8}{}%
|
||||||
}%
|
}%
|
||||||
\arrayrulecolor{color1}%
|
\arrayrulecolor{bodyrulecolor}%
|
||||||
\setlength\arrayrulewidth{\separatorrulewidth}%
|
\setlength\arrayrulewidth{\separatorrulewidth}%
|
||||||
\RenewDocumentCommand{\@starIndependentTabular}{}{%
|
\RenewDocumentCommand{\@starIndependentTabular}{}{%
|
||||||
\begingroup%
|
\begingroup%
|
||||||
|
|
@ -766,7 +776,7 @@
|
||||||
\RenewDocumentCommand\cvskillplainlegend{s +O{.25em} +O{\skillPlainLegend@defaultLevelOne} +O{\skillPlainLegend@defaultLevelTwo} +O{\skillPlainLegend@defaultLevelThree} +O{\skillPlainLegend@defaultLevelFour} +O{\skillPlainLegend@defaultLevelFive} +m}{%
|
\RenewDocumentCommand\cvskillplainlegend{s +O{.25em} +O{\skillPlainLegend@defaultLevelOne} +O{\skillPlainLegend@defaultLevelTwo} +O{\skillPlainLegend@defaultLevelThree} +O{\skillPlainLegend@defaultLevelFour} +O{\skillPlainLegend@defaultLevelFive} +m}{%
|
||||||
\IfBooleanTF#1{% if a star is given, add dashed line
|
\IfBooleanTF#1{% if a star is given, add dashed line
|
||||||
\begingroup%
|
\begingroup%
|
||||||
\arrayrulecolor{color1}%
|
\arrayrulecolor{bodyrulecolor}%
|
||||||
% calculate descriptor widths
|
% calculate descriptor widths
|
||||||
\setlength{\cvskilllegend@leftdescriptorwidth}{\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-3\skilllegend@padding}%
|
\setlength{\cvskilllegend@leftdescriptorwidth}{\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-3\skilllegend@padding}%
|
||||||
\setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-3\skilllegend@padding}%
|
\setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-3\skilllegend@padding}%
|
||||||
|
|
@ -816,7 +826,7 @@
|
||||||
}%
|
}%
|
||||||
\IfBooleanTF#1{% if a star is given, add dashed line
|
\IfBooleanTF#1{% if a star is given, add dashed line
|
||||||
\begingroup%
|
\begingroup%
|
||||||
\arrayrulecolor{color1}
|
\arrayrulecolor{bodyrulecolor}
|
||||||
\setlength{\cvskilllegend@leftdescriptorwidth}{\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-6\skilllegend@padding}%
|
\setlength{\cvskilllegend@leftdescriptorwidth}{\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-6\skilllegend@padding}%
|
||||||
\setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-6\skilllegend@padding}%
|
\setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-6\skilllegend@padding}%
|
||||||
\begin{tabular}{@{}p{\skilllegend@hintscolumnwidth}
|
\begin{tabular}{@{}p{\skilllegend@hintscolumnwidth}
|
||||||
|
|
@ -863,7 +873,7 @@
|
||||||
}{%
|
}{%
|
||||||
\cvitem[-0.5em]{#8}{}%
|
\cvitem[-0.5em]{#8}{}%
|
||||||
}%
|
}%
|
||||||
\arrayrulecolor{color1}%
|
\arrayrulecolor{bodyrulecolor}%
|
||||||
\setlength\arrayrulewidth{\separatorrulewidth}%
|
\setlength\arrayrulewidth{\separatorrulewidth}%
|
||||||
\RenewDocumentCommand{\@starIndependentTabular}{}{%
|
\RenewDocumentCommand{\@starIndependentTabular}{}{%
|
||||||
\begingroup%
|
\begingroup%
|
||||||
|
|
@ -924,7 +934,7 @@
|
||||||
\RenewDocumentCommand\cvskillhead{O{.25em} +O{\skillMatrix@HeaderDefaultOne} +O{\skillMatrix@HeaderDefaultTwo} +O{\skillMatrix@HeaderDefaultThree} +O{\skillMatrix@HeaderDefaultFour}}{%
|
\RenewDocumentCommand\cvskillhead{O{.25em} +O{\skillMatrix@HeaderDefaultOne} +O{\skillMatrix@HeaderDefaultTwo} +O{\skillMatrix@HeaderDefaultThree} +O{\skillMatrix@HeaderDefaultFour}}{%
|
||||||
\begingroup
|
\begingroup
|
||||||
\renewcommand{\arraystretch}{1.25}
|
\renewcommand{\arraystretch}{1.25}
|
||||||
\arrayrulecolor{color1}
|
\arrayrulecolor{bodyrulecolor}
|
||||||
\begin{tabular}{@{}p{\skillmatrix@hintscolumnwidth}@{\hspace{\separatorcolumnwidth}}%
|
\begin{tabular}{@{}p{\skillmatrix@hintscolumnwidth}@{\hspace{\separatorcolumnwidth}}%
|
||||||
p{\cvskill@width}@{\hspace{\skillmatrix@padding}}%
|
p{\cvskill@width}@{\hspace{\skillmatrix@padding}}%
|
||||||
p{\cvskill@descriptorwidth}@{\hspace{\skillmatrix@padding}}%
|
p{\cvskill@descriptorwidth}@{\hspace{\skillmatrix@padding}}%
|
||||||
|
|
@ -938,7 +948,7 @@
|
||||||
% Definition of \cvskillhead valid moderncvbodyv
|
% Definition of \cvskillhead valid moderncvbodyv
|
||||||
\if@moderncvbodyv%
|
\if@moderncvbodyv%
|
||||||
\RenewDocumentCommand\cvskillhead{O{.25em} +O{\skillMatrix@HeaderDefaultOne} +O{\skillMatrix@HeaderDefaultTwo} +O{\skillMatrix@HeaderDefaultThree} +O{\skillMatrix@HeaderDefaultFour}}{%
|
\RenewDocumentCommand\cvskillhead{O{.25em} +O{\skillMatrix@HeaderDefaultOne} +O{\skillMatrix@HeaderDefaultTwo} +O{\skillMatrix@HeaderDefaultThree} +O{\skillMatrix@HeaderDefaultFour}}{%
|
||||||
\arrayrulecolor{color1}%
|
\arrayrulecolor{bodyrulecolor}%
|
||||||
\setlength\arrayrulewidth{\separatorrulewidth}%
|
\setlength\arrayrulewidth{\separatorrulewidth}%
|
||||||
\vspace*{-\separatorrulewidth}% HACK; I don't understand where the space is coming from, nor what it's exact value is :(
|
\vspace*{-\separatorrulewidth}% HACK; I don't understand where the space is coming from, nor what it's exact value is :(
|
||||||
\begingroup%
|
\begingroup%
|
||||||
|
|
@ -990,7 +1000,7 @@
|
||||||
\IfBooleanTF{#1}{% If a star is seen a dotted line is drawn above the entry
|
\IfBooleanTF{#1}{% If a star is seen a dotted line is drawn above the entry
|
||||||
\begingroup
|
\begingroup
|
||||||
\renewcommand{\arraystretch}{1.25}
|
\renewcommand{\arraystretch}{1.25}
|
||||||
\arrayrulecolor{color1}
|
\arrayrulecolor{bodyrulecolor}
|
||||||
\begin{tabular}{@{}p{\skillmatrix@hintscolumnwidth}@{\hspace{\separatorcolumnwidth}}%
|
\begin{tabular}{@{}p{\skillmatrix@hintscolumnwidth}@{\hspace{\separatorcolumnwidth}}%
|
||||||
p{\cvskill@width}@{\hspace{\skillmatrix@padding}}%
|
p{\cvskill@width}@{\hspace{\skillmatrix@padding}}%
|
||||||
p{\cvskill@descriptorwidth}@{\hspace{\skillmatrix@padding}}%
|
p{\cvskill@descriptorwidth}@{\hspace{\skillmatrix@padding}}%
|
||||||
|
|
@ -1018,7 +1028,7 @@
|
||||||
\if@moderncvbodyv%
|
\if@moderncvbodyv%
|
||||||
\DeclareDocumentCommand\@starIndependentMatrixEntry{}{}%
|
\DeclareDocumentCommand\@starIndependentMatrixEntry{}{}%
|
||||||
\RenewDocumentCommand\cvskillentry{s O{.25em} +m +m +m +m +m}{%
|
\RenewDocumentCommand\cvskillentry{s O{.25em} +m +m +m +m +m}{%
|
||||||
\arrayrulecolor{color1}%
|
\arrayrulecolor{bodyrulecolor}%
|
||||||
\setlength\arrayrulewidth{\separatorrulewidth}%
|
\setlength\arrayrulewidth{\separatorrulewidth}%
|
||||||
\vspace*{-\separatorrulewidth}% HACK; I don't understand where the space is coming from, nor what it's exact value is :(
|
\vspace*{-\separatorrulewidth}% HACK; I don't understand where the space is coming from, nor what it's exact value is :(
|
||||||
%test for the star * in the command
|
%test for the star * in the command
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
%% start of file `moderncvstylebanking.sty'.
|
%% start of file `moderncvstylebanking.sty'.
|
||||||
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
|
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
|
||||||
%
|
%
|
||||||
% This work may be distributed and/or modified under the
|
% This work may be distributed and/or modified under the
|
||||||
% conditions of the LaTeX Project Public License version 1.3c,
|
% conditions of the LaTeX Project Public License version 1.3c,
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
% identification
|
% identification
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
\NeedsTeXFormat{LaTeX2e}
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
\ProvidesPackage{moderncvstylebanking}[2021/01/21 v2.1.0 modern curriculum vitae and letter style scheme: banking]
|
\ProvidesPackage{moderncvstylebanking}[2024-07-18 v2.4.1 modern curriculum vitae and letter style scheme: banking]
|
||||||
|
|
||||||
% body rules type options: "fullrules", "shortrules", "mixedrules" (default) or "norules"
|
% body rules type options: "fullrules", "shortrules", "mixedrules" (default) or "norules"
|
||||||
\@initializecommand{\moderncvstylebodyoptions}{}
|
\@initializecommand{\moderncvstylebodyoptions}{}
|
||||||
|
|
@ -24,6 +24,12 @@
|
||||||
\DeclareOption{center} {\edef\moderncvstylebodyoptions{\moderncvstylebodyoptions,center}}
|
\DeclareOption{center} {\edef\moderncvstylebodyoptions{\moderncvstylebodyoptions,center}}
|
||||||
\DeclareOption{right} {\edef\moderncvstylebodyoptions{\moderncvstylebodyoptions,right}}
|
\DeclareOption{right} {\edef\moderncvstylebodyoptions{\moderncvstylebodyoptions,right}}
|
||||||
|
|
||||||
|
% head options
|
||||||
|
\@initializecommand{\moderncvstyleheadoptions}{}
|
||||||
|
\@initializeif{\if@datainhead}\@datainheadtrue
|
||||||
|
\DeclareOption{details}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,details}}
|
||||||
|
\DeclareOption{nodetails}{\@datainheadfalse\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,nodetails}}
|
||||||
|
|
||||||
% toggle use of symbol fonts.
|
% toggle use of symbol fonts.
|
||||||
\@initializeif{\if@symbols}\@symbolsfalse
|
\@initializeif{\if@symbols}\@symbolsfalse
|
||||||
\DeclareOption{symbols} {\@symbolstrue}
|
\DeclareOption{symbols} {\@symbolstrue}
|
||||||
|
|
@ -55,23 +61,45 @@
|
||||||
|
|
||||||
% symbols
|
% symbols
|
||||||
\if@symbols
|
\if@symbols
|
||||||
\ifxetexorluatex
|
\moderncvicons{symbols} % use symbols
|
||||||
\moderncvicons{awesome} % use font-awesome symbols if lualatex or xelatex is used
|
|
||||||
\else
|
|
||||||
\moderncvicons{marvosym} % use marvosym symbols pdflatex is used
|
|
||||||
\fi
|
|
||||||
\else
|
\else
|
||||||
\moderncvicons{letters} % do not use symbols, use letters
|
\moderncvicons{letters} % do not use symbols, use letters
|
||||||
\fi
|
\fi
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% Colors
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% head and footer
|
||||||
|
\colorlet{lastnamecolor}{color1}
|
||||||
|
\colorlet{namecolor}{lastnamecolor}
|
||||||
|
\colorlet{headrulecolor}{lastnamecolor!50}
|
||||||
|
\colorlet{firstnamecolor}{lastnamecolor!60}
|
||||||
|
\colorlet{titlecolor}{color2!85}
|
||||||
|
\colorlet{addresscolor}{color2}
|
||||||
|
\colorlet{quotecolor}{color1}
|
||||||
|
\colorlet{pictureframecolor}{color1}
|
||||||
|
% body
|
||||||
|
\colorlet{bodyrulecolor}{color1}
|
||||||
|
\colorlet{sectioncolor}{color1}
|
||||||
|
\colorlet{subsectioncolor}{color1}
|
||||||
|
\colorlet{hintstylecolor}{color0}
|
||||||
|
% letter
|
||||||
|
\colorlet{letterclosingcolor}{color2}
|
||||||
|
% skillmatrix
|
||||||
|
\colorlet{skillmatrixfullcolor}{color1}
|
||||||
|
\colorlet{skillmatrixemptycolor}{color2!30}
|
||||||
|
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
% header, body & footer
|
% header, body & footer
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
\moderncvhead{3}
|
\moderncvhead[\moderncvstyleheadoptions]{3}
|
||||||
\moderncvbody[\moderncvstylebodyoptions]{3}
|
\moderncvbody[\moderncvstylebodyoptions]{3}
|
||||||
|
|
||||||
|
\if@datainhead
|
||||||
|
% if data is shown in head, do not include the footer
|
||||||
|
\else
|
||||||
|
\moderncvfoot{1}
|
||||||
|
\fi
|
||||||
|
|
||||||
\endinput
|
\endinput
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
%% start of file `moderncvstylecasual.sty'.
|
%% start of file `moderncvstylecasual.sty'.
|
||||||
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
|
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
|
||||||
%
|
%
|
||||||
% This work may be distributed and/or modified under the
|
% This work may be distributed and/or modified under the
|
||||||
% conditions of the LaTeX Project Public License version 1.3c,
|
% conditions of the LaTeX Project Public License version 1.3c,
|
||||||
|
|
@ -10,12 +10,18 @@
|
||||||
% identification
|
% identification
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
\NeedsTeXFormat{LaTeX2e}
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
\ProvidesPackage{moderncvstylecasual}[2021/01/21 v2.1.0 modern curriculum vitae and letter style scheme: casual]
|
\ProvidesPackage{moderncvstylecasual}[2024-07-18 v2.4.1 modern curriculum vitae and letter style scheme: casual]
|
||||||
|
|
||||||
% head section alignment options: "left" (default) or "right"
|
% head section alignment options: "left" (default) or "right"
|
||||||
\@initializecommand{\moderncvstyleheadoptions}{}
|
\@initializecommand{\moderncvstyleheadoptions}{}
|
||||||
\DeclareOption{left} {\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,left}}
|
\DeclareOption{left} {\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,left}}
|
||||||
\DeclareOption{right}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,right}}
|
\DeclareOption{right}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,right}}
|
||||||
|
% head options alternate, details and no details
|
||||||
|
\DeclareOption{alternate}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,alternate}}
|
||||||
|
\@initializeif{\if@datainhead}\@datainheadfalse
|
||||||
|
\DeclareOption{details}{\@datainheadtrue\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,details}}
|
||||||
|
\DeclareOption{nodetails}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,nodetails}}
|
||||||
|
|
||||||
|
|
||||||
% toggle use of symbol fonts.
|
% toggle use of symbol fonts.
|
||||||
\@initializeif{\if@symbols}\@symbolsfalse
|
\@initializeif{\if@symbols}\@symbolsfalse
|
||||||
|
|
@ -23,7 +29,7 @@
|
||||||
\DeclareOption{nosymbols} {\@symbolsfalse}
|
\DeclareOption{nosymbols} {\@symbolsfalse}
|
||||||
|
|
||||||
\DeclareOption*{}% avoid choking on unknown options
|
\DeclareOption*{}% avoid choking on unknown options
|
||||||
\ExecuteOptions{right,symbols}
|
\ExecuteOptions{right,symbols,nodetails}
|
||||||
\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
|
\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
|
||||||
|
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
|
|
@ -42,22 +48,46 @@
|
||||||
|
|
||||||
% symbols
|
% symbols
|
||||||
\if@symbols
|
\if@symbols
|
||||||
\ifxetexorluatex
|
\moderncvicons{symbols} % use symbols
|
||||||
\moderncvicons{awesome} % use font-awesome symbols if lualatex or xelatex is used
|
|
||||||
\else
|
|
||||||
\moderncvicons{marvosym} % use marvosym symbols pdflatex is used
|
|
||||||
\fi
|
|
||||||
\else
|
\else
|
||||||
\moderncvicons{letters} % do not use symbols, use letters
|
\moderncvicons{letters} % do not use symbols, use letters
|
||||||
\fi
|
\fi
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% Colors
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% head and footer
|
||||||
|
\colorlet{lastnamecolor}{color2}
|
||||||
|
\colorlet{namecolor}{lastnamecolor}
|
||||||
|
\colorlet{headrulecolor}{lastnamecolor!50}
|
||||||
|
\colorlet{firstnamecolor}{lastnamecolor!50}
|
||||||
|
\colorlet{titlecolor}{color2}
|
||||||
|
\colorlet{addresscolor}{color2}
|
||||||
|
\colorlet{quotecolor}{color1}
|
||||||
|
\colorlet{pictureframecolor}{color1}
|
||||||
|
% body
|
||||||
|
\colorlet{bodyrulecolor}{color1}
|
||||||
|
\colorlet{sectioncolor}{color1}
|
||||||
|
\colorlet{subsectioncolor}{color1}
|
||||||
|
\colorlet{hintstylecolor}{color0}
|
||||||
|
% letter
|
||||||
|
\colorlet{letterclosingcolor}{color2}
|
||||||
|
% skillmatrix
|
||||||
|
\colorlet{skillmatrixfullcolor}{color1}
|
||||||
|
\colorlet{skillmatrixemptycolor}{color2!30}
|
||||||
|
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
% header, body & footer
|
% header, body & footer
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
\moderncvhead[\moderncvstyleheadoptions]{2}
|
\moderncvhead[\moderncvstyleheadoptions]{2}
|
||||||
\moderncvbody{1}
|
\moderncvbody{1}
|
||||||
|
% include foot only if nodetails option is active since otherwise we have two times the information
|
||||||
|
% on the page
|
||||||
|
\if@datainhead
|
||||||
|
% if data is shown in head, do not include the footer
|
||||||
|
\else
|
||||||
\moderncvfoot{1}
|
\moderncvfoot{1}
|
||||||
|
\fi
|
||||||
|
|
||||||
|
|
||||||
\endinput
|
\endinput
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
%% start of file `moderncvstyleclassic.sty'.
|
%% start of file `moderncvstyleclassic.sty'.
|
||||||
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
|
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
|
||||||
%
|
%
|
||||||
% This work may be distributed and/or modified under the
|
% This work may be distributed and/or modified under the
|
||||||
% conditions of the LaTeX Project Public License version 1.3c,
|
% conditions of the LaTeX Project Public License version 1.3c,
|
||||||
|
|
@ -10,12 +10,17 @@
|
||||||
% identification
|
% identification
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
\NeedsTeXFormat{LaTeX2e}
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
\ProvidesPackage{moderncvstyleclassic}[2021/01/21 v2.1.0 modern curriculum vitae and letter style scheme: classic]
|
\ProvidesPackage{moderncvstyleclassic}[2024-07-18 v2.4.1 modern curriculum vitae and letter style scheme: classic]
|
||||||
|
|
||||||
% head section alignment options: "left" (default) or "right"
|
% head section alignment options: "left" (default) or "right"
|
||||||
\@initializecommand{\moderncvstyleheadoptions}{}
|
\@initializecommand{\moderncvstyleheadoptions}{}
|
||||||
\DeclareOption{left} {\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,left}}
|
\DeclareOption{left} {\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,left}}
|
||||||
\DeclareOption{right}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,right}}
|
\DeclareOption{right}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,right}}
|
||||||
|
\DeclareOption{top}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,top}}
|
||||||
|
|
||||||
|
\@initializeif{\if@datainhead}\@datainheadtrue
|
||||||
|
\DeclareOption{details}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,details}}
|
||||||
|
\DeclareOption{nodetails}{\@datainheadfalse\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,nodetails}}
|
||||||
|
|
||||||
% toggle use of symbol fonts.
|
% toggle use of symbol fonts.
|
||||||
\@initializeif{\if@symbols}\@symbolsfalse
|
\@initializeif{\if@symbols}\@symbolsfalse
|
||||||
|
|
@ -23,7 +28,7 @@
|
||||||
\DeclareOption{nosymbols} {\@symbolsfalse}
|
\DeclareOption{nosymbols} {\@symbolsfalse}
|
||||||
|
|
||||||
\DeclareOption*{}% avoid choking on unknown options
|
\DeclareOption*{}% avoid choking on unknown options
|
||||||
\ExecuteOptions{left,symbols}
|
\ExecuteOptions{left,symbols,details}
|
||||||
\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
|
\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
|
||||||
|
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
|
|
@ -42,21 +47,46 @@
|
||||||
|
|
||||||
% symbols
|
% symbols
|
||||||
\if@symbols
|
\if@symbols
|
||||||
\ifxetexorluatex
|
\moderncvicons{symbols} % use symbols
|
||||||
\moderncvicons{awesome} % use font-awesome symbols if lualatex or xelatex is used
|
|
||||||
\else
|
|
||||||
\moderncvicons{marvosym} % use marvosym symbols pdflatex is used
|
|
||||||
\fi
|
|
||||||
\else
|
\else
|
||||||
\moderncvicons{letters} % do not use symbols, use letters
|
\moderncvicons{letters} % do not use symbols, use letters
|
||||||
\fi
|
\fi
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% Colors
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% head and footer
|
||||||
|
\colorlet{lastnamecolor}{color2}
|
||||||
|
\colorlet{namecolor}{lastnamecolor}
|
||||||
|
\colorlet{headrulecolor}{lastnamecolor!50}
|
||||||
|
\colorlet{firstnamecolor}{lastnamecolor!50}
|
||||||
|
\colorlet{titlecolor}{color2}
|
||||||
|
\colorlet{addresscolor}{color2}
|
||||||
|
\colorlet{quotecolor}{color1}
|
||||||
|
\colorlet{pictureframecolor}{color1}
|
||||||
|
% body
|
||||||
|
\colorlet{bodyrulecolor}{color1}
|
||||||
|
\colorlet{sectioncolor}{color1}
|
||||||
|
\colorlet{subsectioncolor}{color1}
|
||||||
|
\colorlet{hintstylecolor}{color0}
|
||||||
|
% letter
|
||||||
|
\colorlet{letterclosingcolor}{color2}
|
||||||
|
% skillmatrix
|
||||||
|
\colorlet{skillmatrixfullcolor}{color1}
|
||||||
|
\colorlet{skillmatrixemptycolor}{color2!30}
|
||||||
|
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
% header, body & footer
|
% header, body & footer
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
\moderncvhead[\moderncvstyleheadoptions]{1}
|
\moderncvhead[\moderncvstyleheadoptions]{1}
|
||||||
\moderncvbody{1}
|
\moderncvbody{1}
|
||||||
|
% include foot only if nodetails option is active since otherwise we have two times the information
|
||||||
|
% on the page
|
||||||
|
\if@datainhead
|
||||||
|
% if data is shown in head, do not include the footer
|
||||||
|
\else
|
||||||
|
\moderncvfoot{1}
|
||||||
|
\fi
|
||||||
|
|
||||||
|
|
||||||
\endinput
|
\endinput
|
||||||
|
|
|
||||||
63
moderncvstylecontemporary.sty
Normal file
63
moderncvstylecontemporary.sty
Normal file
|
|
@ -0,0 +1,63 @@
|
||||||
|
%% start of file `moderncvstylecontemporary.sty'.
|
||||||
|
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
|
||||||
|
%% Copyright 2023 Javier Lopez-Gomez (javier.lopez.gomez@proton.me).
|
||||||
|
%
|
||||||
|
% This work may be distributed and/or modified under the
|
||||||
|
% conditions of the LaTeX Project Public License version 1.3c,
|
||||||
|
% available at http://www.latex-project.org/lppl/.
|
||||||
|
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% identification
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
|
\ProvidesPackage{moderncvstylecontemporary}[2023/11/24 v2.0.0 modern curriculum vitae and letter style scheme: contemporary]
|
||||||
|
|
||||||
|
% head section alignment options: "left" (default) or "right"
|
||||||
|
\@initializecommand{\moderncvstyleheadoptions}{}
|
||||||
|
\DeclareOption{left} {\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,left}}
|
||||||
|
\DeclareOption{right}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,right}}
|
||||||
|
\DeclareOption{qr} {\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,qr}}
|
||||||
|
\DeclareOption{noqr}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,noqr}}
|
||||||
|
|
||||||
|
\DeclareOption*{}% avoid choking on unknown options
|
||||||
|
\ExecuteOptions{left,qr}
|
||||||
|
\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% fonts & icons
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% Latin Modern fonts
|
||||||
|
%\ifxetexorluatex
|
||||||
|
% \setmainfont{Latin Modern Roman}
|
||||||
|
% \setsansfont{Latin Modern Sans}
|
||||||
|
% \setmathfont{Latin Modern Math}
|
||||||
|
%\else
|
||||||
|
\IfFileExists{lmodern.sty}%
|
||||||
|
{\RequirePackage{lmodern}}%
|
||||||
|
{}
|
||||||
|
%\fi
|
||||||
|
|
||||||
|
% symbols
|
||||||
|
\providecolor{default-socialicon-color}{named}{headtext}
|
||||||
|
\moderncvicons{symbols}
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% Colors
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% skillmatrix
|
||||||
|
\colorlet{bodyrulecolor}{color1}
|
||||||
|
\colorlet{skillmatrixfullcolor}{color1}
|
||||||
|
\colorlet{skillmatrixemptycolor}{color2!30}
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% header, body & footer
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
\moderncvhead[\moderncvstyleheadoptions]{7}
|
||||||
|
\moderncvbody{6}
|
||||||
|
|
||||||
|
|
||||||
|
\endinput
|
||||||
|
|
||||||
|
|
||||||
|
%% end of file `moderncvstylecontemporary.sty'.
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
%% start of file `moderncvstyleempty.sty'.
|
%% start of file `moderncvstyleempty.sty'.
|
||||||
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
|
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
|
||||||
%
|
%
|
||||||
% This work may be distributed and/or modified under the
|
% This work may be distributed and/or modified under the
|
||||||
% conditions of the LaTeX Project Public License version 1.3c,
|
% conditions of the LaTeX Project Public License version 1.3c,
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
% identification
|
% identification
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
\NeedsTeXFormat{LaTeX2e}
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
\ProvidesPackage{moderncvstyleempty}[2021/01/21 v2.1.0 modern curriculum vitae scheme: empty]
|
\ProvidesPackage{moderncvstyleempty}[2024-07-18 v2.4.1 modern curriculum vitae scheme: empty]
|
||||||
|
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
% required packages
|
% required packages
|
||||||
|
|
@ -32,16 +32,35 @@
|
||||||
% style definition
|
% style definition
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% Colors
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% head and footer
|
||||||
|
\colorlet{lastnamecolor}{color2}
|
||||||
|
% \colorlet{namecolor}{lastnamecolor}
|
||||||
|
\colorlet{headrulecolor}{lastnamecolor!50}
|
||||||
|
\colorlet{firstnamecolor}{lastnamecolor!50}
|
||||||
|
\colorlet{titlecolor}{color2}
|
||||||
|
\colorlet{addresscolor}{color2}
|
||||||
|
\colorlet{quotecolor}{color1}
|
||||||
|
\colorlet{pictureframecolor}{color1}
|
||||||
|
% body
|
||||||
|
\colorlet{bodyrulecolor}{color1}
|
||||||
|
\colorlet{sectioncolor}{color1}
|
||||||
|
\colorlet{subsectioncolor}{color1}
|
||||||
|
\colorlet{hintstylecolor}{color0}
|
||||||
|
% letter
|
||||||
|
\colorlet{letterclosingcolor}{color2}
|
||||||
|
% skillmatrix
|
||||||
|
\colorlet{skillmatrixfullcolor}{color1}
|
||||||
|
\colorlet{skillmatrixemptycolor}{color2!30}
|
||||||
|
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
% fonts & icons
|
% fonts & icons
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
% symbols
|
% symbols
|
||||||
\if@symbols
|
\if@symbols
|
||||||
\ifxetexorluatex
|
\moderncvicons{symbols} % use symbols
|
||||||
\moderncvicons{awesome} % use font-awesome symbols if lualatex or xelatex is used
|
|
||||||
\else
|
|
||||||
\moderncvicons{marvosym} % use marvosym symbols pdflatex is used
|
|
||||||
\fi
|
|
||||||
\else
|
\else
|
||||||
\moderncvicons{letters} % do not use symbols, use letters
|
\moderncvicons{letters} % do not use symbols, use letters
|
||||||
\fi
|
\fi
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
%% start of file `moderncvstylefancy.sty'.
|
%% start of file `moderncvstylefancy.sty'.
|
||||||
%% Copyright 2015-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
|
%% Copyright 2015-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
|
||||||
%
|
%
|
||||||
% This work may be distributed and/or modified under the
|
% This work may be distributed and/or modified under the
|
||||||
% conditions of the LaTeX Project Public License version 1.3c,
|
% conditions of the LaTeX Project Public License version 1.3c,
|
||||||
|
|
@ -10,7 +10,13 @@
|
||||||
% identification
|
% identification
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
\NeedsTeXFormat{LaTeX2e}
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
\ProvidesPackage{moderncvstylefancy}[2021/01/21 v2.1.0 modern curriculum vitae and letter style scheme: fancy]
|
\ProvidesPackage{moderncvstylefancy}[2024-07-18 v2.4.1 modern curriculum vitae and letter style scheme: fancy]
|
||||||
|
|
||||||
|
% headoptions
|
||||||
|
\@initializecommand{\moderncvstyleheadoptions}{}
|
||||||
|
\@initializeif{\if@datainhead}\@datainheadtrue
|
||||||
|
\DeclareOption{details}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,details}}
|
||||||
|
\DeclareOption{nodetails}{\@datainheadfalse\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,nodetails}}
|
||||||
|
|
||||||
% toggle use of symbol fonts.
|
% toggle use of symbol fonts.
|
||||||
\@initializeif{\if@symbols}\@symbolsfalse
|
\@initializeif{\if@symbols}\@symbolsfalse
|
||||||
|
|
@ -18,9 +24,33 @@
|
||||||
\DeclareOption{nosymbols} {\@symbolsfalse}
|
\DeclareOption{nosymbols} {\@symbolsfalse}
|
||||||
|
|
||||||
\DeclareOption*{}% avoid choking on unknown options
|
\DeclareOption*{}% avoid choking on unknown options
|
||||||
\ExecuteOptions{symbols}
|
\ExecuteOptions{symbols,details}
|
||||||
\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
|
\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% Colors
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% head and footer
|
||||||
|
\colorlet{lastnamecolor}{color1}
|
||||||
|
\colorlet{namecolor}{lastnamecolor}
|
||||||
|
\colorlet{headrulecolor}{color1}
|
||||||
|
\colorlet{firstnamecolor}{lastnamecolor!50}
|
||||||
|
\colorlet{titlecolor}{color2}
|
||||||
|
\colorlet{addresscolor}{color2}
|
||||||
|
\colorlet{quotecolor}{color1}
|
||||||
|
\colorlet{pictureframecolor}{color1}
|
||||||
|
% body
|
||||||
|
\colorlet{bodyrulecolor}{color1}
|
||||||
|
\colorlet{sectioncolor}{color1}
|
||||||
|
\colorlet{subsectioncolor}{color1}
|
||||||
|
\colorlet{hintstylecolor}{color0}
|
||||||
|
% letter
|
||||||
|
\colorlet{letterclosingcolor}{color2}
|
||||||
|
% skillmatrix
|
||||||
|
\colorlet{skillmatrixfullcolor}{color1}
|
||||||
|
\colorlet{skillmatrixemptycolor}{color2!30}
|
||||||
|
|
||||||
|
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
% fonts & icons
|
% fonts & icons
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
|
|
@ -38,11 +68,7 @@
|
||||||
|
|
||||||
% symbols
|
% symbols
|
||||||
\if@symbols
|
\if@symbols
|
||||||
\ifxetexorluatex
|
\moderncvicons{symbols} % use symbols
|
||||||
\moderncvicons{awesome} % use font-awesome symbols if lualatex or xelatex is used
|
|
||||||
\else
|
|
||||||
\moderncvicons{marvosym} % use marvosym symbols pdflatex is used
|
|
||||||
\fi
|
|
||||||
\else
|
\else
|
||||||
\moderncvicons{letters} % do not use symbols, use letters
|
\moderncvicons{letters} % do not use symbols, use letters
|
||||||
\fi
|
\fi
|
||||||
|
|
@ -51,9 +77,16 @@
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
% header, body & footer
|
% header, body & footer
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
\moderncvhead{5}
|
\moderncvhead[\moderncvstyleheadoptions]{5}
|
||||||
\moderncvbody{5}
|
\moderncvbody{5}
|
||||||
|
|
||||||
|
% include foot only if nodetails option is active since otherwise we have two times the information
|
||||||
|
% on the page
|
||||||
|
\if@datainhead
|
||||||
|
% if data is shown in head, do not include the footer
|
||||||
|
\else
|
||||||
|
\moderncvfoot{1}
|
||||||
|
\fi
|
||||||
|
|
||||||
\endinput
|
\endinput
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
%% start of file `moderncvstyleoldstyle.sty'.
|
%% start of file `moderncvstyleoldstyle.sty'.
|
||||||
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
|
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
|
||||||
%
|
%
|
||||||
% This work may be distributed and/or modified under the
|
% This work may be distributed and/or modified under the
|
||||||
% conditions of the LaTeX Project Public License version 1.3c,
|
% conditions of the LaTeX Project Public License version 1.3c,
|
||||||
|
|
@ -10,7 +10,14 @@
|
||||||
% identification
|
% identification
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
\NeedsTeXFormat{LaTeX2e}
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
\ProvidesPackage{moderncvstyleoldstyle}[2021/01/21 v2.1.0 modern curriculum vitae and letter style scheme: oldstyle]
|
\ProvidesPackage{moderncvstyleoldstyle}[2024-07-18 v2.4.1 modern curriculum vitae and letter style scheme: oldstyle]
|
||||||
|
|
||||||
|
% headoptions
|
||||||
|
\@initializecommand{\moderncvstyleheadoptions}{}
|
||||||
|
\@initializeif{\if@datainhead}\@datainheadtrue
|
||||||
|
\DeclareOption{details}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,details}}
|
||||||
|
\DeclareOption{nodetails}{\@datainheadfalse\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,nodetails}}
|
||||||
|
|
||||||
|
|
||||||
% toggle use of symbol fonts.
|
% toggle use of symbol fonts.
|
||||||
\@initializeif{\if@symbols}\@symbolsfalse
|
\@initializeif{\if@symbols}\@symbolsfalse
|
||||||
|
|
@ -18,7 +25,7 @@
|
||||||
\DeclareOption{nosymbols} {\@symbolsfalse}
|
\DeclareOption{nosymbols} {\@symbolsfalse}
|
||||||
|
|
||||||
\DeclareOption*{}% avoid choking on unknown options
|
\DeclareOption*{}% avoid choking on unknown options
|
||||||
\ExecuteOptions{symbols}
|
\ExecuteOptions{symbols,details}
|
||||||
\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
|
\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
|
||||||
|
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
|
|
@ -40,22 +47,48 @@
|
||||||
|
|
||||||
% symbols
|
% symbols
|
||||||
\if@symbols
|
\if@symbols
|
||||||
\ifxetexorluatex
|
\moderncvicons{symbols} % use marvosym symbols pdflatex is used
|
||||||
\moderncvicons{awesome} % use font-awesome symbols if lualatex or xelatex is used
|
|
||||||
\else
|
|
||||||
\moderncvicons{marvosym} % use marvosym symbols pdflatex is used
|
|
||||||
\fi
|
|
||||||
\else
|
\else
|
||||||
\moderncvicons{letters} % do not use symbols, use letters
|
\moderncvicons{letters} % do not use symbols, use letters
|
||||||
\fi
|
\fi
|
||||||
|
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% Colors
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% head and footer
|
||||||
|
\colorlet{lastnamecolor}{color2}
|
||||||
|
\colorlet{namecolor}{lastnamecolor}
|
||||||
|
\colorlet{headrulecolor}{lastnamecolor!50}
|
||||||
|
\colorlet{firstnamecolor}{lastnamecolor!50}
|
||||||
|
\colorlet{titlecolor}{color2}
|
||||||
|
\colorlet{addresscolor}{color2}
|
||||||
|
\colorlet{quotecolor}{color1}
|
||||||
|
\colorlet{pictureframecolor}{color1}
|
||||||
|
% body
|
||||||
|
\colorlet{bodyrulecolor}{color1}
|
||||||
|
\colorlet{sectioncolor}{color1}
|
||||||
|
\colorlet{subsectioncolor}{color1}
|
||||||
|
\colorlet{hintstylecolor}{color0}
|
||||||
|
% letter
|
||||||
|
\colorlet{letterclosingcolor}{color2}
|
||||||
|
% skillmatrix
|
||||||
|
\colorlet{skillmatrixfullcolor}{color1}
|
||||||
|
\colorlet{skillmatrixemptycolor}{color2!30}
|
||||||
|
|
||||||
|
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
% header, body & footer
|
% header, body & footer
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
\moderncvhead{4}
|
\moderncvhead[\moderncvstyleheadoptions]{4}
|
||||||
\moderncvbody{4}
|
\moderncvbody{4}
|
||||||
|
% include foot only if nodetails option is active since otherwise we have two times the information
|
||||||
|
% on the page
|
||||||
|
\if@datainhead
|
||||||
|
% if data is shown in head, do not include the footer
|
||||||
|
\else
|
||||||
|
\moderncvfoot{1}
|
||||||
|
\fi
|
||||||
|
|
||||||
\endinput
|
\endinput
|
||||||
|
|
||||||
|
|
|
||||||
79
moderncvverticaltimeline.sty
Normal file
79
moderncvverticaltimeline.sty
Normal file
|
|
@ -0,0 +1,79 @@
|
||||||
|
%% start of file `moderncvverticaltimeline.sty'.
|
||||||
|
%% Copyright 2023 Javier Lopez-Gomez (javier.lopez.gomez@proton.me).
|
||||||
|
%
|
||||||
|
% This work may be distributed and/or modified under the
|
||||||
|
% conditions of the LaTeX Project Public License version 1.3c,
|
||||||
|
% available at http://www.latex-project.org/lppl/.
|
||||||
|
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% identification
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
|
\ProvidesPackage{moderncvverticaltimeline}[2023/11/29 v2.0.0 modern curriculum vitae vertical timeline]
|
||||||
|
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% required packages
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
\RequirePackage{tikz}
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% vertical timeline implementation
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
\tikzset{
|
||||||
|
tl_milestone/.style={circle,inner sep=1.5pt,draw=color0!20,label={west:#1}},
|
||||||
|
tl_link/.style={thick,densely dotted,color0!20},
|
||||||
|
}
|
||||||
|
|
||||||
|
\newcounter{tl@chainidx}\setcounter{tl@chainidx}{0}
|
||||||
|
\newcounter{tl@nodeidx}\setcounter{tl@nodeidx}{0}
|
||||||
|
|
||||||
|
% Mark the end of the current chain; any `\tl@milestone` issued afterward will be on a new timeline.
|
||||||
|
\def\tl@resetchain{%
|
||||||
|
\stepcounter{tl@chainidx}%
|
||||||
|
\setcounter{tl@nodeidx}{0}%
|
||||||
|
}
|
||||||
|
|
||||||
|
% Create a node in the current timeline and link it to the previous node; if the previous milestone
|
||||||
|
% is on the last shipped out page, draw a line that extends until the top margin. The argument is laid out as a label (default left).
|
||||||
|
\def\tl@milestone#1{%
|
||||||
|
\edef\@tl@prev{tl-\thetl@chainidx-\thetl@nodeidx}%
|
||||||
|
\stepcounter{tl@nodeidx}%
|
||||||
|
\edef\@tl@this{tl-\thetl@chainidx-\thetl@nodeidx}%
|
||||||
|
\tikz[remember picture,overlay] {
|
||||||
|
\node[tl_milestone={#1}] (\@tl@this) {};
|
||||||
|
\ifnum\thetl@nodeidx>1
|
||||||
|
\pgfpointdiff{\pgfpointanchor{\@tl@prev}{center}}{\pgfpointanchor{\@tl@this}{center}}
|
||||||
|
\ifnum\pgf@y>0
|
||||||
|
\draw[tl_link] (\@tl@this) -- ([yshift=-1em] \@tl@this |- current page.north);
|
||||||
|
\else
|
||||||
|
\draw[tl_link] (\@tl@this) -- (\@tl@prev);
|
||||||
|
\fi
|
||||||
|
\fi
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
\AddToHook{shipout/background}{%
|
||||||
|
% If there are follow-up milestones in the current timeline, draw a line that extends until the bottom margin
|
||||||
|
\edef\@tl@prev{tl-\thetl@chainidx-\number\numexpr\thetl@nodeidx-1}%
|
||||||
|
\edef\@tl@this{tl-\thetl@chainidx-\thetl@nodeidx}%
|
||||||
|
\tikz[remember picture,overlay] {
|
||||||
|
\ifnum\thetl@nodeidx>1
|
||||||
|
\pgfpointdiff{\pgfpointanchor{\@tl@prev}{center}}{\pgfpointanchor{\@tl@this}{center}}
|
||||||
|
\ifnum\pgf@y>0
|
||||||
|
\draw[tl_link] (\@tl@prev) -- ([yshift=1em] \@tl@prev |- current page.south);
|
||||||
|
\fi
|
||||||
|
\fi
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
\AtEndDocument{\tl@resetchain}
|
||||||
|
|
||||||
|
\let\@old@section=\section%
|
||||||
|
\RenewDocumentCommand{\section}{sm}{\tl@resetchain\@old@section{#1}}
|
||||||
|
|
||||||
|
\endinput
|
||||||
|
|
||||||
|
|
||||||
|
%% end of file `moderncvverticaltimeline.sty'.
|
||||||
BIN
signature.png
Normal file
BIN
signature.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 13 KiB |
90
template.tex
90
template.tex
|
|
@ -1,5 +1,5 @@
|
||||||
%% start of file `template.tex'.
|
%% start of file `template.tex'.
|
||||||
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
|
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
|
||||||
%
|
%
|
||||||
% This work may be distributed and/or modified under the
|
% This work may be distributed and/or modified under the
|
||||||
% conditions of the LaTeX Project Public License version 1.3c,
|
% conditions of the LaTeX Project Public License version 1.3c,
|
||||||
|
|
@ -8,20 +8,49 @@
|
||||||
|
|
||||||
\documentclass[11pt,a4paper,sans]{moderncv} % possible options include font size ('10pt', '11pt' and '12pt'), paper size ('a4paper', 'letterpaper', 'a5paper', 'legalpaper', 'executivepaper' and 'landscape') and font family ('sans' and 'roman')
|
\documentclass[11pt,a4paper,sans]{moderncv} % possible options include font size ('10pt', '11pt' and '12pt'), paper size ('a4paper', 'letterpaper', 'a5paper', 'legalpaper', 'executivepaper' and 'landscape') and font family ('sans' and 'roman')
|
||||||
|
|
||||||
|
\moderncvcolor{cerulean} % color options 'black', 'blue' (default), 'burgundy', 'green', 'grey', 'orange', 'purple' and 'red'; for contemporary style use 'cerulean'
|
||||||
% moderncv themes
|
% moderncv themes
|
||||||
\moderncvstyle{casual} % style options are 'casual' (default), 'classic', 'banking', 'oldstyle' and 'fancy'
|
\moderncvstyle[]{contemporary} % style options are 'casual' (default), 'classic', 'banking', 'oldstyle', 'fancy' and 'contemporary'
|
||||||
\moderncvcolor{blue} % color options 'black', 'blue' (default), 'burgundy', 'green', 'grey', 'orange', 'purple' and 'red'
|
% the 'contemporary' style optionally takes the `qr` (default) or `noqr` options
|
||||||
%\renewcommand{\familydefault}{\sfdefault} % to set the default font; use '\sfdefault' for the default sans serif font, '\rmdefault' for the default roman one, or any tex font name
|
%\renewcommand{\familydefault}{\sfdefault} % to set the default font; use '\sfdefault' for the default sans serif font, '\rmdefault' for the default roman one, or any tex font name
|
||||||
%\nopagenumbers{} % uncomment to suppress automatic page numbering for CVs longer than one page
|
%\nopagenumbers{} % uncomment to suppress automatic page numbering for CVs longer than one page
|
||||||
|
|
||||||
% character encoding
|
|
||||||
%\usepackage[utf8]{inputenc} % if you are not using xelatex ou lualatex, replace by the encoding you are using
|
|
||||||
%\usepackage{CJKutf8} % if you need to use CJK to typeset your resume in Chinese, Japanese or Korean
|
|
||||||
|
|
||||||
% adjust the page margins
|
% adjust the page margins
|
||||||
\usepackage[scale=0.75]{geometry}
|
\usepackage[hmargin=0.5in,vmargin=10pt]{geometry} % the 'contemporary' style looks better with reduced margins; uncomment the line below for increased margin
|
||||||
|
%\usepackage[scale=0.75]{geometry}
|
||||||
%\setlength{\hintscolumnwidth}{3cm} % if you want to change the width of the column with the dates
|
%\setlength{\hintscolumnwidth}{3cm} % if you want to change the width of the column with the dates
|
||||||
%\setlength{\makecvheadnamewidth}{10cm} % for the 'classic' style, if you want to force the width allocated to your name and avoid line breaks. be careful though, the length is normally calculated to avoid any overlap with your personal info; use this at your own typographical risks...
|
%\setlength{\makecvheadnamewidth}{10cm} % for the 'classic' style, if you want to force the width allocated to your name and avoid line breaks. be careful though, the length is normally calculated to avoid any overlap with your personal info; use this at your own typographical risks...
|
||||||
|
%\setlength{\listitemsymbolspace}{10pt} % set custom spacing between list symbol and text item (influences \cvlistitem and \cvlistdoubleitem)
|
||||||
|
|
||||||
|
% the 'contemporary' style allows to append additional elements to the head background; uncomment and customize if needed
|
||||||
|
%\def\@moderncvheadBackground{
|
||||||
|
%}
|
||||||
|
|
||||||
|
% font loading
|
||||||
|
% for luatex and xetex, do not use inputenc and fontenc
|
||||||
|
% see https://tex.stackexchange.com/a/496643
|
||||||
|
\ifxetexorluatex
|
||||||
|
\usepackage{fontspec}
|
||||||
|
\usepackage{unicode-math}
|
||||||
|
\defaultfontfeatures{Ligatures=TeX}
|
||||||
|
\setmainfont{Latin Modern Roman}
|
||||||
|
\setsansfont{Latin Modern Sans}
|
||||||
|
\setmonofont{Latin Modern Mono}
|
||||||
|
\setmathfont{Latin Modern Math}
|
||||||
|
|
||||||
|
% you may also consider Fira Sans Light for a extra modern look
|
||||||
|
%\setsansfont[ItalicFont={Fira Sans Light Italic},%
|
||||||
|
% BoldFont={Fira Sans},%
|
||||||
|
% BoldItalicFont={Fira Sans Italic}]%
|
||||||
|
% {Fira Sans Light}%
|
||||||
|
\else
|
||||||
|
\usepackage[utf8]{inputenc}
|
||||||
|
\usepackage[T1]{fontenc}
|
||||||
|
\usepackage{lmodern}
|
||||||
|
\fi
|
||||||
|
|
||||||
|
% document language
|
||||||
|
\usepackage[english]{babel} % FIXME: using spanish breaks moderncv
|
||||||
|
|
||||||
% personal data
|
% personal data
|
||||||
\name{John}{Doe}
|
\name{John}{Doe}
|
||||||
|
|
@ -36,25 +65,50 @@
|
||||||
|
|
||||||
% Social icons
|
% Social icons
|
||||||
\social[linkedin]{john.doe} % optional, remove / comment the line if not wanted
|
\social[linkedin]{john.doe} % optional, remove / comment the line if not wanted
|
||||||
\social[xing]{john_doe} % optional, remove / comment the line if not wanted
|
\social[xing]{john\_doe} % optional, remove / comment the line if not wanted
|
||||||
\social[twitter]{jdoe} % optional, remove / comment the line if not wanted
|
|
||||||
\social[github]{jdoe} % optional, remove / comment the line if not wanted
|
\social[github]{jdoe} % optional, remove / comment the line if not wanted
|
||||||
\social[gitlab]{jdoe} % optional, remove / comment the line if not wanted
|
\social[gitlab]{jdoe} % optional, remove / comment the line if not wanted
|
||||||
\social[stackoverflow]{0000000/johndoe} % optional, remove / comment the line if not wanted
|
\social[codeberg]{jdoe} % optional, remove / comment the line if not wanted
|
||||||
\social[bitbucket]{jdoe} % optional, remove / comment the line if not wanted
|
\social[bitbucket]{jdoe} % optional, remove / comment the line if not wanted
|
||||||
|
\social[stackoverflow]{0000000/johndoe} % optional, remove / comment the line if not wanted
|
||||||
|
|
||||||
\social[skype]{jdoe} % optional, remove / comment the line if not wanted
|
\social[skype]{jdoe} % optional, remove / comment the line if not wanted
|
||||||
\social[orcid]{0000-0000-000-000} % optional, remove / comment the line if not wanted
|
\social[orcid]{0000-0000-000-000} % optional, remove / comment the line if not wanted
|
||||||
\social[researchgate]{jdoe} % optional, remove / comment the line if not wanted
|
\social[researchgate]{jdoe} % optional, remove / comment the line if not wanted
|
||||||
\social[researcherid]{jdoe} % optional, remove / comment the line if not wanted
|
\social[researcherid]{jdoe} % optional, remove / comment the line if not wanted
|
||||||
|
\social[googlescholar]{googlescholarid} % optional, remove / comment the line if not wanted
|
||||||
|
|
||||||
|
\social[twitter]{ji\_doe} % optional, remove / comment the line if not wanted
|
||||||
|
\social[mastodon]{mastodon.social/web/@user} % optional, remove / comment the line if not wanted
|
||||||
\social[telegram]{jdoe} % optional, remove / comment the line if not wanted
|
\social[telegram]{jdoe} % optional, remove / comment the line if not wanted
|
||||||
\social[whatsapp]{12345678901} % optional, remove / comment the line if not wanted
|
\social[whatsapp]{12345678901} % optional, remove / comment the line if not wanted
|
||||||
\social[signal]{12345678901} % optional, remove / comment the line if not wanted
|
\social[signal]{12345678901} % optional, remove / comment the line if not wanted
|
||||||
\social[matrix]{@johndoe:matrix.org} % optional, remove / comment the line if not wanted
|
\social[matrix]{@johndoe:matrix.org} % optional, remove / comment the line if not wanted
|
||||||
\social[googlescholar]{googlescholarid} % optional, remove / comment the line if not wanted
|
\social[discord]{jdoe\#0000} % optional, remove / comment the line if not wanted
|
||||||
|
|
||||||
|
% YouTube links can take several forms, depending on how your account and channel are set up.
|
||||||
|
% See https://support.google.com/youtube/answer/6180214 for more information.
|
||||||
|
\social[youtube]{c/jdoeschannel} % optional, remove / comment the line if not wanted; Custom URL - can be shorted by removing 'c/'
|
||||||
|
\social[youtube]{channel/XXXXXX} % optional, remove / comment the line if not wanted; Channel URL (ID-based) - can not be shortened
|
||||||
|
\social[youtube]{user/jdoe} % optional, remove / comment the line if not wanted; Legacy username URL - if jdoe is not already claimed by a Custom URL, can be shortened by removing 'user/'
|
||||||
|
|
||||||
|
\social[twitch]{jdoe} % optional, remove / comment the line if not wanted
|
||||||
|
\social[tiktok]{jdoe} % optional, remove / comment the line if not wanted
|
||||||
|
\social[instagram]{jdoe} % optional, remove / comment the line if not wanted
|
||||||
|
|
||||||
|
\social[soundcloud]{jdoe} % optional, remove / comment the line if not wanted
|
||||||
|
|
||||||
|
\social[steam]{jdoe} % optional, remove / comment the line if not wanted
|
||||||
|
\social[xbox]{jdoe} % optional, remove / comment the line if not wanted
|
||||||
|
\social[playstation]{jdoe} % optional, remove / comment the line if not wanted
|
||||||
|
\social[battlenet]{jdoe\#0000} % optional, remove / comment the line if not wanted
|
||||||
|
\social[arxiv]{doe\_j\_1} % optional, remove / comment the line if not wanted
|
||||||
|
\social[inspire]{0000000} % optional, remove / comment the line if not wanted
|
||||||
|
|
||||||
|
|
||||||
\extrainfo{additional information} % optional, remove / comment the line if not wanted
|
\extrainfo{additional information} % optional, remove / comment the line if not wanted
|
||||||
\photo[64pt][0.4pt]{picture} % optional, remove / comment the line if not wanted; '64pt' is the height the picture must be resized to, 0.4pt is the thickness of the frame around it (put it to 0pt for no frame) and 'picture' is the name of the picture file
|
\photo[64pt][2pt]{picture} % optional, remove / comment the line if not wanted; '64pt' is the height the picture must be resized to, 2pt is the thickness of the frame around it (put it to 0pt for no frame) and 'picture' is the name of the picture file
|
||||||
\quote{Some quote} % optional, remove / comment the line if not wanted
|
\quote{Some quote} % optional, remove / comment the line if not wanted
|
||||||
|
|
||||||
% bibliography adjustments (only useful if you make citations in your resume, or print a list of publications using BibTeX)
|
% bibliography adjustments (only useful if you make citations in your resume, or print a list of publications using BibTeX)
|
||||||
|
|
@ -64,7 +118,7 @@
|
||||||
% to redefine the bibliography heading string ("Publications")
|
% to redefine the bibliography heading string ("Publications")
|
||||||
%\renewcommand{\refname}{Articles}
|
%\renewcommand{\refname}{Articles}
|
||||||
|
|
||||||
% bibliography with mutiple entries
|
% bibliography with multiple entries
|
||||||
%\usepackage{multibib}
|
%\usepackage{multibib}
|
||||||
%\newcites{book,misc}{{Books},{Others}}
|
%\newcites{book,misc}{{Books},{Others}}
|
||||||
%----------------------------------------------------------------------------------
|
%----------------------------------------------------------------------------------
|
||||||
|
|
@ -75,7 +129,7 @@
|
||||||
%----- resume ---------------------------------------------------------
|
%----- resume ---------------------------------------------------------
|
||||||
\makecvtitle
|
\makecvtitle
|
||||||
|
|
||||||
\section{Education}
|
\section{Education} % for 'contemporary' style use optional argument for displaying an icon, e.g. \section[\faGraduationCap]{Education}
|
||||||
\cventry{year--year}{Degree}{Institution}{City}{\textit{Grade}}{Description} % arguments 3 to 6 can be left empty
|
\cventry{year--year}{Degree}{Institution}{City}{\textit{Grade}}{Description} % arguments 3 to 6 can be left empty
|
||||||
\cventry{year--year}{Degree}{Institution}{City}{\textit{Grade}}{Description}
|
\cventry{year--year}{Degree}{Institution}{City}{\textit{Grade}}{Description}
|
||||||
|
|
||||||
|
|
@ -104,7 +158,7 @@ Detailed achievements:
|
||||||
\item Achievement 3
|
\item Achievement 3
|
||||||
\item Achievement 4
|
\item Achievement 4
|
||||||
\end{itemize}}
|
\end{itemize}}
|
||||||
\cventry{year--year}{Job title}{Employer}{City}{}{Description line 1\newline{}Description line 2\newline{}}
|
\cventry{year--year}{Job title}{Employer}{City}{}{Description line 1\newline{}Description line 2\newline{}Description line 3}
|
||||||
\subsection{Miscellaneous}
|
\subsection{Miscellaneous}
|
||||||
\cventry{year--year}{Job title}{Employer}{City}{}{Description}
|
\cventry{year--year}{Job title}{Employer}{City}{}{Description}
|
||||||
|
|
||||||
|
|
@ -118,6 +172,7 @@ Detailed achievements:
|
||||||
\cvdoubleitem{category 1}{XXX, YYY, ZZZ}{category 4}{XXX, YYY, ZZZ}
|
\cvdoubleitem{category 1}{XXX, YYY, ZZZ}{category 4}{XXX, YYY, ZZZ}
|
||||||
\cvdoubleitem{category 2}{XXX, YYY, ZZZ}{category 5}{XXX, YYY, ZZZ}
|
\cvdoubleitem{category 2}{XXX, YYY, ZZZ}{category 5}{XXX, YYY, ZZZ}
|
||||||
\cvdoubleitem{category 3}{XXX, YYY, ZZZ}{category 6}{XXX, YYY, ZZZ}
|
\cvdoubleitem{category 3}{XXX, YYY, ZZZ}{category 6}{XXX, YYY, ZZZ}
|
||||||
|
\cvtripleitem{category 4}{XYZ}{category 5}{XYZ}{category 6}{XYZ}
|
||||||
|
|
||||||
\section{Skill matrix}
|
\section{Skill matrix}
|
||||||
\cvitem{Skill matrix}{Alternatively, provide a skill matrix to show off your skills}
|
\cvitem{Skill matrix}{Alternatively, provide a skill matrix to show off your skills}
|
||||||
|
|
@ -215,8 +270,10 @@ Detailed achievements:
|
||||||
% recipient data
|
% recipient data
|
||||||
\recipient{Company Recruitment team}{Company, Inc.\\123 somestreet\\some city}
|
\recipient{Company Recruitment team}{Company, Inc.\\123 somestreet\\some city}
|
||||||
\date{January 01, 1984}
|
\date{January 01, 1984}
|
||||||
|
\subject{Job application}
|
||||||
\opening{Dear Sir or Madam,}
|
\opening{Dear Sir or Madam,}
|
||||||
\closing{Yours faithfully,}
|
\closing{Yours faithfully,}
|
||||||
|
\signature{0.9}{signature.png} % optional, remove / comment the line if not wanted: first argument goes to \includegraphics > scale
|
||||||
\enclosure[Attached]{curriculum vit\ae{}} % use an optional argument to use a string other than "Enclosure", or redefine \enclname
|
\enclosure[Attached]{curriculum vit\ae{}} % use an optional argument to use a string other than "Enclosure", or redefine \enclname
|
||||||
\makelettertitle
|
\makelettertitle
|
||||||
|
|
||||||
|
|
@ -237,4 +294,3 @@ Albert Einstein discovered that $e=mc^2$ in 1905.
|
||||||
|
|
||||||
|
|
||||||
%% end of file `template.tex'.
|
%% end of file `template.tex'.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
%% start of file `tweaklist.sty'.
|
%% start of file `tweaklist.sty'.
|
||||||
%% Original by Jakob Schiotz, downloaded from http://dcwww.camd.dtu.dk/~schiotz/comp/LatexTips/tweaklist.sty; not found on ctan.
|
%% Original by Jakob Schiotz, downloaded from http://dcwww.camd.dtu.dk/~schiotz/comp/LatexTips/tweaklist.sty; not found on ctan.
|
||||||
%% Modified by Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
|
%% Modified by Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
|
||||||
%
|
%
|
||||||
% The tweaklist.sty package redefines the itemize, enumerate and description packages, so that all parameters can be adjusted.
|
% The tweaklist.sty package redefines the itemize, enumerate and description packages, so that all parameters can be adjusted.
|
||||||
% This was done by copying the original definitions, and adding "hook commands" that are executed when entering the environment.
|
% This was done by copying the original definitions, and adding "hook commands" that are executed when entering the environment.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue