diff --git a/.codespellrc b/.codespellrc new file mode 100644 index 0000000..89950d6 --- /dev/null +++ b/.codespellrc @@ -0,0 +1,7 @@ +[codespell] +# Ref: https://github.com/codespell-project/codespell#using-a-config-file +skip = .git*,*.pdf,.codespellrc +check-hidden = true +# names, case sensitive +ignore-regex = \bWille\b|\\@\S+ +# ignore-words-list = diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..dfec81a --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -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. diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..bbcbbe7 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -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. diff --git a/.github/workflows/build-pdf.yml b/.github/workflows/build-pdf.yml new file mode 100644 index 0000000..8d320f4 --- /dev/null +++ b/.github/workflows/build-pdf.yml @@ -0,0 +1,48 @@ +name: Build template + +on: + push: + branches: + - master + pull_request: + registry_package: + +jobs: + build-template: + name: Build template + runs-on: ubuntu-latest + container: + image: texlive/texlive:latest-full + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Build pdf + run: | + prev_style=contemporary + for style in casual classic banking oldstyle fancy contemporary + do + echo -e "\033[1;35mCompiling style $style...\033[0m" + # first cleanup, but keep .log files for later artifact upload + latexmk -c -e 'sub cleanup_generated { my $ext = $_[0]; return 0 if $ext eq "log"; return 1; }' + sed -i "s/moderncvstyle\[\]{${prev_style}}/moderncvstyle\[\]{${style}}/g" template.tex + latexmk -pdflua ./template.tex + mv template.pdf template_${style}.pdf + mv template.log template_${style}.log + # remember previous style + prev_style=$style + done + + - name: Upload pdf + uses: actions/upload-artifact@v4 + with: + name: template.pdf + path: ./template_*.pdf + + - name: Upload log + if: ${{ always() }} + uses: actions/upload-artifact@v4 + with: + name: template.log + path: ./template_*.log diff --git a/.github/workflows/build-userguide-pdf.yml b/.github/workflows/build-userguide-pdf.yml new file mode 100644 index 0000000..665b93c --- /dev/null +++ b/.github/workflows/build-userguide-pdf.yml @@ -0,0 +1,55 @@ +name: Build user guide + +on: + push: + branches: + - master + paths: + - 'manual/moderncv_userguide.tex' + pull_request: + paths: + - 'manual/moderncv_userguide.tex' + +jobs: + build-userguide: + name: Build user guide + runs-on: ubuntu-latest + env: + UG_AUTHOR: Auto Userguide Creator + UG_COMMIT_MESSAGE: build of user guide + container: + image: texlive/texlive:latest-full + + steps: + - name: Checkout source code + uses: actions/checkout@v4 + with: + fetch-depth: 2 + + - name: Build user guide pdf + run: latexmk -pdflua -cd ./manual/moderncv_userguide.tex + + - name: Upload user guide pdf + uses: actions/upload-artifact@v4 + with: + name: moderncv_userguide.pdf + path: ./manual/moderncv_userguide.pdf + + - name: Upload user guide log + if: ${{ always() }} + uses: actions/upload-artifact@v4 + with: + name: moderncv_userguide.log + path: ./manual/moderncv_userguide.log + + - name: Push new user guide to master + if: ${{ github.ref_name == 'master' }} + run: | + # maybe switch to an image with git already included, for now install it here + apt update && apt install git -y + git config --global user.name '${{ env.UG_AUTHOR }}' + git config --global user.email '${{ github.actor }}@users.noreply.github.com' + ls -l + git add manual/moderncv_userguide.pdf + git commit -m "${{ env.UG_COMMIT_MESSAGE }}" + git push diff --git a/.github/workflows/codespell.yml b/.github/workflows/codespell.yml new file mode 100644 index 0000000..b026c85 --- /dev/null +++ b/.github/workflows/codespell.yml @@ -0,0 +1,25 @@ +# Codespell configuration is within .codespellrc +--- +name: Codespell + +on: + push: + branches: [master] + pull_request: + branches: [master] + +permissions: + contents: read + +jobs: + codespell: + name: Check for spelling errors + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Annotate locations with typos + uses: codespell-project/codespell-problem-matcher@v1 + - name: Codespell + uses: codespell-project/actions-codespell@v2 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2e83ea9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,18 @@ +# general latex build output files +*.aux +*.bbl +*.blg +*.fdb_latexmk +*.fls +*.log +*.out +*.synctex.gz +*.xdv +*.toc + +# template.tex output +# move to *.pdf once manual is done +template.pdf + +# release tarballs +moderncv-*.tar.gz diff --git a/CHANGELOG b/CHANGELOG index 8f3d8a1..f950fc9 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,37 +1,457 @@ -version 0.3 (10 April 2006) - - moderncv now uses the 'longtable' class, allowing cv sections to split across multiple pages. - - 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 to any width, for people - needing a smaller or larger one. To do that, either use - \sethintscolumnlength{}, - where is the desired length in a unit LaTeX understands, or - \sethintscolumntowidth{}, - where 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 of such a feature. - - added the command \emptysection{}, which makes it possible to start a section without - name. In combination with \closesection{}, this makes it possible to drop out of the layout of - moderncv, and come back to it later. This should make the inclusion of arbitrary elements not - covered by moderncv code possible. - - corrected a spacing problem in the cventry command, as pointed out and solved by - B. Eßmann. +version next +- Upgrade to Fontawesome 6 (#183) +- Document how to set custom strings for social command (#239) +- Correct documentation to reflect new order \moderncvcolor before \moderncvstyle (#256) -version 0.2 (6 March 2006) - - 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 separate file per style, - named moderncvstyle. It should now be 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 the next version. - - due to the previous point, styles are now loaded by the command +version 2.5.1 (31 Jan 2026) +- Fix french babel breaking contemporary style (#219) +- Fix birthdate not showing up in contemporary style (#244) +- Fix Inspire HEP social link (#241) +- 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) +- Added SimpleX and Threema social (#217) +- Fix spacing between first and last name again (#220) +- Make header details flush against sides for casual, classic, and contemporary + styles (#229) +- Fix tikz icon color in contemporary style (#224) +- Add contemporary CV header style to cover letter, which also makes icons + visible (#186) +- Fix minor horizontal spacing issue in 'contemporary' style header + + +version 2.4.2 (01 Feb 2025) +- Added support for additional social icons like medium. (#264) + +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. + 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). 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) (#150). +- Setting \listitemsymbolspace allows custom spacing between list symbol and text item (for \cvlistitem and \cvlistdoubleitem) (#74). +- Introducing \cvtripleitem command for items in three columns. Closing feature request #174. +- Fixed wrong cvlistitem vspace caused by multiline section titles in fancy style (#69). + +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é. +- Various other minor fixes. + +version 2.1.0 (21 Jan 2021) +- Maintainer change: now team maintained (https://github.com/moderncv), since + original repository has been basically dead since 2016. +- New \social options: Xing, Skype, GitLab, Bitbucket, stack overflow, ORCID, + ResearcherID, ResearchGate, Telegram and Google Scholar. +- Hyperlinks in phone numbers. +- Switch from l3regex to expl3. +- New skill matrix feature. +- Move to fontawesome5 package. +- Default to https. + +version 2.0.0 (28 Jul 2015) +- Refactored the code into heads, body, foot and icon substyles. All styles + (classic, casual, banking and oldstyle) are just a combination of these and + some font selection. Mixing substyles (e.g., the banking header with the + classic body) is now trivial by using the \moderncvhead, \moderncvbody, + \moderncvfoot and \moderncvicons commands. Each of these take a substyle + number as argument. \moderncvcolor takes a color name as argument. +- Added a new style: fancy. +- Added an optional argument to \moderncvstyle to specify style options, i.e. + \moderncvstyle[options]{style}. Below is a list of the available options per + style: + * classic + > to specify where at the top one's name should appear: "left" (default) or + "right; + * casual + > to specify where at the top one's name should appear: "left" (default) or + "right; + * banking + > to specify how the section and subsection rules should be set: + "fullrules", "shortrules", "mixedrules" (default; full rules for sections, + short rules for subsections), "centered" (fullrules with centered title) + and "norules" (norules, small caps font); + > to specify how the body should be aligned: left" (default), "center" or + "right"; + * oldstyle & fancy + > n/a +- Added a new color variant: "burgundy". +- Corrected \addressstyle color to match the one effectively used (color2). +- Adjusted the bibliography spacing to handle entries with or without labels. +- Added a check on the emptiness of \title when setting the hyperref document + properties. + +version 1.5.1 (29 Apr 2013) +- Made sure that XeTeX or LuaTeX is in use before loading the awesome icon set + and if not, revert to the marvosym icon set. + +version 1.5.0 (23 Apr 2013) +- Added a command to showcase social accounts in one's personal information: + \social. The command currently handles LinkedIn, Twitter and Github accounts + automatically, and other links can be provided explicitly. +- 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 styles + (can be changed back with \moderncvicons{marvosym}). +- Forced all the icons of the "letters" icon set to be of the same width, for + alignment purposes. +- Added a letter icon ("W") for the homepage of the "letters" icon set. +- Forced some whitespace between the main text and the footer of the casual + style. +- Removed the rule below the headings of the cvcolumns environment. + +version 1.4.0 (28 Mar 2013) +- Deprecated \phone, \mobile and \fax in favour of \phone[], where + can be "fixed" (default), "mobile" or "fax". As part of the change, one can + now use each of these multiple times, e.g. to display multiple mobile phone + numbers. +- Deprecated \firstname and \familyname in favour of \name{}{}. +- Added a new mechanism to select among different possible icon sets: + \moderncvicons{}, where can be "marvosym" (used by + default in the banking, casual and classic styles) or "letters" (used by + default in the oldstyle style). \moderncvicons should always be called after + \moderncvstyle in order to override the styles' defaults. +- Added a command to control the font of the page numbering: \pagenumberfont, as + requested by fr1a1nky (launchpad question #224496). +- Removed the use of the suffix package. + +version 1.3.0 (09 Feb 2013) +- Added a new environment to create multiple columns: cvcolumns. Each column is + then created by \cvcolumn[width]{header}{content}, where the optional width is + 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 nested + itemize environment). +- Added a macro (\pdfpagemode) to control what is visible upon opening compiled + PDFs (assuming PDF reader support), as suggested by U. Stöhr. + Possible values include: "UseNone" (only the document), "UseThumbs" (show + thumbnails), "UseOutlines" (show bookmarks) and "FullScreen" (open in + fullscreen mode). +- Added a 3rd, fully optional (can be omitted or left blank) argument to + \address to specify a country, as requested on launchpad (launchpad bug + #1063995). +- Compacted list environments further. +- Replaced the use of the xargs package by the xparse one. + +version 1.2.1 (04 Dec 2012) +- Fixed a regression bug introduced in v1.2.0 in the header of the banking style + when no title is used, as reported on tex.stackexchange (question #85427). + +version 1.2.0 (31 Oct 2012) +- Updated the banking style header to include the option to show a title. +- Set the values of \arrayrulewidth and \doublerulesep to their standard values + (0.4pt and 2pt, respectively) to enable the drawing of rules in tabulars and + arrays by default. +- Modified the code of \makecvtitle and \makelettertitle of the casual style to + avoid it causing horizontal alignment issues before and after itself. +- 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 + by B. Schlimmchen and S. Fnord. +- Removed the need to set pdfpagelabels=false when loading hyperref by putting + \pagenumbering{arabic} (to define \thepage) before loading hyperref, as + figured out by J. Wolf. +- Corrected the line wrapping of \cvlistitem 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. +- 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 + macros shared by all styles and defining the macros that the style files need + to implement). + +version 1.1.3 (10 Aug 2012) +- Corrected a long-standing issue causing hyperref to issue two warnings about + its "pdfpagelabels" option, as pointed out and solved by P. Leifeld (launchpad + bug #1035466). + +version 1.1.2 (09 Aug 2012) +- Fixed a regression bug introduced in v1.0.0 in the footer of the casual style, + as discovered on tex.stackexchange (question #66316). + +version 1.1.1 (30 Jul 2012) +- Fixed a compatibility issue introduced in v1.0.0 when \maketitlenamewidth was + renamed to \makecvtitlenamewidth, as reported by Peppe on launchpad (launchpad + bug #1030802). The template now correctly uses \makecvtitlenamewidth, and + \maketitlenamewidth was created as an alias forbackward compatibility. + +version 1.1.0 (29 Jul 2012) +- Fixed the switching from letter to resume, correcting spacing errors when a + letter is typeset before the resume, as noticed by U. Gabor. +- Fixed the vertical alignment of the footers, as reported by T. Homa. Footers + are now aligned to the bottom and the letter and CV footers are perfectly + aligned in the casual style. +- Prepared moderncv for fontspec font loading (still commented out in code). +- Changed the handling of the "sans" and "roman" class options, to be reflected + at the beginning of the document and override style font choices. +- Turned unicode support in hyperref on by default. +- Tweaked the use of \textbullet to avoid a fallback to Computer Modern fonts + and prepared the use of symbols from the MarVoSym font for fontspec (LuaTeX or + XeTeX). +- Tweaked the \subsectionfill of the banking style to distribute extra space + evenly between leaders. +- Added two options to change the "Enclosure" string used for the letter + enclosure: either specify another string as an optional argument to \enclosure + or redefine \enclname, as suggested by D. Wille. + +version 1.0.0 (26 Mar 2012) +- Added commands to generate letters for every resume style: \recipient, \date, + \opening, \closing, \enclosure, \makelettertitle and \makeletterclosing. The + old \maketitle and \makefooter commands are now deprecated and replaced by + \makecvtitle and \makecvfooter. +- Changed the alignment algorithm for the personal data display in the oldstyle + style, to align on the baseline of the first line with the surrounding text. + +version 0.19.0 (06 Feb 2012) +- Reintroduced the ability to force the width reserved to display the name in + the resume header for the classic style (\maketitlenamewidth). +- 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, + as reported by S. Wunsch (launchpad bug #922470). +- Fixed a display bug when an address was given without postcode/city, as + reported by O. Shaneh (launchpad bug #670263). + +version 0.18.0 (05 Feb 2012) +- Corrected the handling of PDF bookmarks, as suggested on stackexchange by + U. Fischer. +- Improved the spacing between sections and subsections by using \addvspace + instead of \vspace. +- Corrected the spacing between entries with nested itemize environments + (temporary solution working only for single line items). +- Added a check in the oldstyle style for an empty 4th argument in the + \cvdoubleitem definition to avoid printing a colon without a preceding label. +- Added a new style on top of classic, casual and oldstyle: banking. + +version 0.17.0 (25 Jan 2012) +- Changed the footer algorithm of the casual style to avoid starting lines with + the footer symbol. +- Aligned the space before and after the title across styles. +- Added an optional title to the casual style. +- Changed the definition of the font styles to avoid undesired extra spacing. +- Added a Spanish template, kindly provided by I. Buitrón. +- Corrected the vertical misalignment between the page number and the center + footer in the casual style. + +version 0.16.0 (15 Jan 2012) +- Added starred versions of \section and \subsection that are identical to their + non-starred versions (e.g. to enable BibLaTeX support) as requested by + S. Verberkt (launchpad bug #913102). +- Corrected a misalignment of the colored rule in front of the section titles in + the classic and casual styles, as reported by P. Neidhardt (launchpad bug + #915910). + +version 0.15.1 (23 December 2011) +- Corrected a bug in the classic style causing the address font and color to not + be carried over newlines, as reported by J. Smith. + +version 0.15.0 (19 December 2011) +- Corrected list spacing. +- Corrected inconsistent use of sans serif fonts in roman layout option. +- The lmodern fonts are now automatically loaded only if they're installed on + the system. The "nolmodern" option is now therefore obsolete. +- Completed code refactoring separating themes in separate styles and colors. +- Renamed \cvline to \cvitem, \cvlanguage to \cvitemwithcomment and \cvcomputer + to \cvdoubleitem (the old command names still work and redirect to the new + ones, but are deprecated). +- Removed the arbitrary minipage widths of skill proficiency vs comment in + \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 + the remaining horizontal space. +- Changed the optional argument of \cvlistitem and \cvlistdoubleitem to specify + the vertical skip after the item (as for \cvitem, \cvitemwithcomments, etc). + The way to change the list symbol is to redefine \listitemsymbol. +- Added a new style on top of classic and casual: oldstyle. +- Loaded the microtype package to improve typography. + +version 0.14.0 (04 December 2011) +- Added support for CJK, thanks to the help of P. D'Apice. +- The use of \recomputelengths after modifying any length in the preamble is now + unnecessary; \recomputelength is automatically called at the start of the + document. + +version 0.13.1 (11 November 2011) +- Corrected a bug introduced by v0.13 in the classic style when no \photo is + used, as reported by S. Gislais (launchpad bug #888702). + +version 0.13.0 (06 November 2011) +- Added a "black" color option to render the resume in black & white, as + suggested by F. Bicarri. +- Removed the pdflatex option when loading hyperref to enable other engines + (e.g., dvips, XeTeX), leftover from the v0.11 cleanup, as reported by + K. Amaterasu and P. Mavrogiorgos (launchpad bugs #754693 and #859834). +- Added a "purple" color option, as proposed by B. Ravel. +- 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 + requested by T. Krennwallner (launchpad bug #664568). + +version 0.12.0 (03 August 2010) +- Prevented pagebreaks after sections and subsections (launchpad bug #409902), + as originally reported by C. Gaspoz and fixed by launchpad user tentotwo. + +version 0.11.0 (20 July 2010) +- Removed the \ifpdf check when loading the graphicx package, as graphicx + already does this check internally. This was preventing proper functioning + with XeTeX and LuaTeX, as reported by A. Trautmann. The same check was also + removed everywhere else in the document (i.e. when loading the color and + hyperref packages). + +version 0.10.0 (13 June 2010) +- Fixed a compatibility issue with the natbib package (natbib uses \section* to + format the bibliography title, while only \section was defined by moderncv), + as reported on launchpad (launchpad bug #393920). +- Fixed compatibility issues with (any package relying on) the etoolbox package, + due to the double definition of \AtEndPreamble, as reported by D. Becker. + +version 0.9.0 (31 May 2010) +- Added support for the itemize, enumerate and description environments. + +version 0.8.0 (24 May 2010) +- 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. +- Added a command to indicate your personal homepage (\homepage{url}), as + requested by J. de Jong and A. Pairet. +- Corrected an alignment bug for text following a \quote with no immediate + \section, as kindly reported by J. Vermeulen and L. Saliou. +- Corrected a spacing bug when no blank line (or \par) is left after \maketitle. + Thanks to A. Menzel for reporting the strange behaviour. +- Corrected the alignment of the \extrainfo title part when no picture was used, + as reported by M. Bana. +- Corrected the misplacement of PDF bookmarks as noticed by L. Fortunato. +- Corrected several bugs linked to the code for checking for empty arguments in + \cventry, as reported by B. Ekran (launchpad bug #268768), L. Păncescu and + E. Gregorio. + +version 0.7.0 (17 June 2008) +- Corrected an outstanding spacing bug where the space between cvlines was + longer than 1 line. +- Removed the need to use \closesection and \emptysection as internal tabulars + are now always closed. This allows the use of bibliography packages such as + bibunits. Thanks to S. Busch for pointing out the incompatibility and helping + test out the bug correction. +- Changed the definition of \photo: the first (optional) argument should give + the desired width of the picture, instead of its height +- Corrected an alignment bug for \cvlistitems longer than 1 line, as reported by + S. Nikolopoulos. +- Deprecated the commands \sethintscolumnlength and \sethintscolumntowidth. + Instead, just set \hintscolumnwidth to the desired length by using the regular + \setlength or \settowidth commands, and call \recomputelengths. +- Added the ability to control the width of the name placeholder in the classic + theme, by setting the length \maketitlenamewidth. Again, don't forget to call + \recomputelengths afterward. + +version 0.6.0 (28 May 2007) +- Corrected some spacing bugs and cleaned up the code. +- 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. +- Added a page counter for resumes running longer than 1 page, as requested by + A. Martin. It can be disabled by the command \nopagenumbers{}. +- Added commands to include a mobile phone and fax number. +- Made the symbols used for the phone number, the email etc. customizable. To + modify those symbols, just redefine \phonesymbol, \emailsymbol etc. +- Corrected the PDF information given to hyperref as pointed out by C. Knuepfer. +- Rewrote the examples. + +version 0.5.0 (9 September 2006) +- Added a \photo command to display a picture. This command takes the name of + the file with the picture as a required argument and the desired height as an + optional argument. +- Implemented the needed commands to make moderncv compatible with BibTeX, as + suggested by J. Lie. This makes it possible to display one's publications, + stored in the BibTeX file "publications.bib" by using: + \nocite{*} + \bibliographystyle{plain} + \bibliography{publications} + As usual, the name of the section title can be changed by redefining \refname. +- Added the \today command, useful for example if one needs to add the date the + resume was produced with: + \closesection{} + \vfill{\hfill{\scriptsize Produced \today.}} + at the end of your CV, as suggested by F. Hammann. + +version 0.4.0 (2 May 2006) +- Removed the dependency on the geometry package so that users can now invoke it + themselves and easily change the geometry of the page. + +version 0.3.0 (10 April 2006) +- Moderncv now uses the longtable class, allowing CV sections to split across + multiple pages. +- 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 + to any width, for people needing a smaller or larger one. To do that, either + use + \sethintscolumnlength{}, + where is the desired length in a unit LaTeX understands, or + \sethintscolumntowidth{}, + where 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 + of such a feature. +- Added the command \emptysection{}, which makes it possible to start an unnamed + section. In combination with \closesection{}, this makes it possible to drop + out of the layout of moderncv, and come back to it later. This should make the + inclusion of arbitrary elements not covered by moderncv code possible. +- Corrected a spacing problem in the \cventry command, as pointed out and solved + by B. Eßmann. + +version 0.2.0 (6 March 2006) +- 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 + separate file per style, named moderncvstyle. It should now be + 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 + the next version. +- 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 "casual" and "classic" class options, so these are now broken! Use \moderncvstyle{casual} or \moderncvstyle{classic} at the beginning of your - document. This should be the only incompatibility with version 0.1. - - added class option "nolmodern" for people without the latin modern fonts. - - corrected some English mistakes in the examples. Thanks to Machael H. Prager for + document. This should be the only incompatibility with v0.1. +- Added class option "nolmodern" for people without the Latin Modern fonts. +- Corrected some English mistakes in the examples. Thanks to M. H. Prager for pointing them out. - - added a \cvlistitem to produce items with a bullet (controlled by \listitemsymbol), and - renamed \cvresume to \cvlistdoubleitem for consistency purpose. For compatibility - reasons, the command \cvresume still works, but should be avoided. +- Added a \cvlistitem to produce items with a bullet (or whatever is defined in + \listitemsymbol), and renamed \cvresume to \cvlistdoubleitem for consistency + purposes. For compatibility reasons, the command \cvresume still works, but + should be avoided. -version 0.1 (1 March 2006) - - first release. +version 0.1.0 (1 March 2006) +- First release. diff --git a/KNOWN_BUGS b/KNOWN_BUGS index 129df68..25ef872 100644 --- a/KNOWN_BUGS +++ b/KNOWN_BUGS @@ -1,3 +1,12 @@ -* Inside the last argument of \cventry, used to display some complementary -information of an entry, the command "\\" doesn't seem to work, while "\newline" works -perfectly. I have no idea why... +- moderncv is incompatible with biber. +- moderncv is incompatible with BibLaTeX. +- moderncv is incompatible with babel in Spanish. + +- Skill matrices don't break automatically in fancy style. +- Long names break the oldstyle style and possibly other styles (needs testing). +- Long URLs in classic style can make the name break line. Fixed width for the address part must be implemented. +- When using the fancy style, undesired space is added between the bibliography head and the first entry, as well as after the last entry. +- Footnotes generate errors, but the output seems correct when running with "-interaction=nonstopmode" +- When using CJK, the last \clearpage required for the fancyhdr package to work properly kills the "lastpage" counter, and therefore also the page numbering. +- 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. +- 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. diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 0000000..f8b699e --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,415 @@ +The LaTeX Project Public License +=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- + +LPPL Version 1.3c 2008-05-04 + +Copyright 1999 2002-2008 LaTeX3 Project + Everyone is allowed to distribute verbatim copies of this + license document, but modification of it is not allowed. + + +PREAMBLE +======== + +The LaTeX Project Public License (LPPL) is the primary license under +which the LaTeX kernel and the base LaTeX packages are distributed. + +You may use this license for any work of which you hold the copyright +and which you wish to distribute. This license may be particularly +suitable if your work is TeX-related (such as a LaTeX package), but +it is written in such a way that you can use it even if your work is +unrelated to TeX. + +The section `WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE', +below, gives instructions, examples, and recommendations for authors +who are considering distributing their works under this license. + +This license gives conditions under which a work may be distributed +and modified, as well as conditions under which modified versions of +that work may be distributed. + +We, the LaTeX3 Project, believe that the conditions below give you +the freedom to make and distribute modified versions of your work +that conform with whatever technical specifications you wish while +maintaining the availability, integrity, and reliability of +that work. If you do not see how to achieve your goal while +meeting these conditions, then read the document `cfgguide.tex' +and `modguide.tex' in the base LaTeX distribution for suggestions. + + +DEFINITIONS +=========== + +In this license document the following terms are used: + + `Work' + Any work being distributed under this License. + + `Derived Work' + Any work that under any applicable law is derived from the Work. + + `Modification' + Any procedure that produces a Derived Work under any applicable + law -- for example, the production of a file containing an + original file associated with the Work or a significant portion of + such a file, either verbatim or with modifications and/or + translated into another language. + + `Modify' + To apply any procedure that produces a Derived Work under any + applicable law. + + `Distribution' + Making copies of the Work available from one person to another, in + whole or in part. Distribution includes (but is not limited to) + making any electronic components of the Work accessible by + file transfer protocols such as FTP or HTTP or by shared file + systems such as Sun's Network File System (NFS). + + `Compiled Work' + A version of the Work that has been processed into a form where it + is directly usable on a computer system. This processing may + include using installation facilities provided by the Work, + transformations of the Work, copying of components of the Work, or + other activities. Note that modification of any installation + facilities provided by the Work constitutes modification of the Work. + + `Current Maintainer' + A person or persons nominated as such within the Work. If there is + no such explicit nomination then it is the `Copyright Holder' under + any applicable law. + + `Base Interpreter' + A program or process that is normally needed for running or + interpreting a part or the whole of the Work. + + A Base Interpreter may depend on external components but these + are not considered part of the Base Interpreter provided that each + external component clearly identifies itself whenever it is used + interactively. Unless explicitly specified when applying the + license to the Work, the only applicable Base Interpreter is a + `LaTeX-Format' or in the case of files belonging to the + `LaTeX-format' a program implementing the `TeX language'. + + + +CONDITIONS ON DISTRIBUTION AND MODIFICATION +=========================================== + +1. Activities other than distribution and/or modification of the Work +are not covered by this license; they are outside its scope. In +particular, the act of running the Work is not restricted and no +requirements are made concerning any offers of support for the Work. + +2. You may distribute a complete, unmodified copy of the Work as you +received it. Distribution of only part of the Work is considered +modification of the Work, and no right to distribute such a Derived +Work may be assumed under the terms of this clause. + +3. You may distribute a Compiled Work that has been generated from a +complete, unmodified copy of the Work as distributed under Clause 2 +above, as long as that Compiled Work is distributed in such a way that +the recipients may install the Compiled Work on their system exactly +as it would have been installed if they generated a Compiled Work +directly from the Work. + +4. If you are the Current Maintainer of the Work, you may, without +restriction, modify the Work, thus creating a Derived Work. You may +also distribute the Derived Work without restriction, including +Compiled Works generated from the Derived Work. Derived Works +distributed in this manner by the Current Maintainer are considered to +be updated versions of the Work. + +5. If you are not the Current Maintainer of the Work, you may modify +your copy of the Work, thus creating a Derived Work based on the Work, +and compile this Derived Work, thus creating a Compiled Work based on +the Derived Work. + +6. If you are not the Current Maintainer of the Work, you may +distribute a Derived Work provided the following conditions are met +for every component of the Work unless that component clearly states +in the copyright notice that it is exempt from that condition. Only +the Current Maintainer is allowed to add such statements of exemption +to a component of the Work. + + a. If a component of this Derived Work can be a direct replacement + for a component of the Work when that component is used with the + Base Interpreter, then, wherever this component of the Work + identifies itself to the user when used interactively with that + Base Interpreter, the replacement component of this Derived Work + clearly and unambiguously identifies itself as a modified version + of this component to the user when used interactively with that + Base Interpreter. + + b. Every component of the Derived Work contains prominent notices + detailing the nature of the changes to that component, or a + prominent reference to another file that is distributed as part + of the Derived Work and that contains a complete and accurate log + of the changes. + + c. No information in the Derived Work implies that any persons, + including (but not limited to) the authors of the original version + of the Work, provide any support, including (but not limited to) + the reporting and handling of errors, to recipients of the + Derived Work unless those persons have stated explicitly that + they do provide such support for the Derived Work. + + d. You distribute at least one of the following with the Derived Work: + + 1. A complete, unmodified copy of the Work; + if your distribution of a modified component is made by + offering access to copy the modified component from a + designated place, then offering equivalent access to copy + the Work from the same or some similar place meets this + condition, even though third parties are not compelled to + copy the Work along with the modified component; + + 2. Information that is sufficient to obtain a complete, + unmodified copy of the Work. + +7. If you are not the Current Maintainer of the Work, you may +distribute a Compiled Work generated from a Derived Work, as long as +the Derived Work is distributed to all recipients of the Compiled +Work, and as long as the conditions of Clause 6, above, are met with +regard to the Derived Work. + +8. The conditions above are not intended to prohibit, and hence do not +apply to, the modification, by any method, of any component so that it +becomes identical to an updated version of that component of the Work as +it is distributed by the Current Maintainer under Clause 4, above. + +9. Distribution of the Work or any Derived Work in an alternative +format, where the Work or that Derived Work (in whole or in part) is +then produced by applying some process to that format, does not relax or +nullify any sections of this license as they pertain to the results of +applying that process. + +10. a. A Derived Work may be distributed under a different license + provided that license itself honors the conditions listed in + Clause 6 above, in regard to the Work, though it does not have + to honor the rest of the conditions in this license. + + b. If a Derived Work is distributed under a different license, that + Derived Work must provide sufficient documentation as part of + itself to allow each recipient of that Derived Work to honor the + restrictions in Clause 6 above, concerning changes from the Work. + +11. This license places no restrictions on works that are unrelated to +the Work, nor does this license place any restrictions on aggregating +such works with the Work by any means. + +12. Nothing in this license is intended to, or may be used to, prevent +complete compliance by all parties with all applicable laws. + + +NO WARRANTY +=========== + +There is no warranty for the Work. Except when otherwise stated in +writing, the Copyright Holder provides the Work `as is', without +warranty of any kind, either expressed or implied, including, but not +limited to, the implied warranties of merchantability and fitness for a +particular purpose. The entire risk as to the quality and performance +of the Work is with you. Should the Work prove defective, you assume +the cost of all necessary servicing, repair, or correction. + +In no event unless required by applicable law or agreed to in writing +will The Copyright Holder, or any author named in the components of the +Work, or any other party who may distribute and/or modify the Work as +permitted above, be liable to you for damages, including any general, +special, incidental or consequential damages arising out of any use of +the Work or out of inability to use the Work (including, but not limited +to, loss of data, data being rendered inaccurate, or losses sustained by +anyone as a result of any failure of the Work to operate with any other +programs), even if the Copyright Holder or said author or said other +party has been advised of the possibility of such damages. + + +MAINTENANCE OF THE WORK +======================= + +The Work has the status `author-maintained' if the Copyright Holder +explicitly and prominently states near the primary copyright notice in +the Work that the Work can only be maintained by the Copyright Holder +or simply that it is `author-maintained'. + +The Work has the status `maintained' if there is a Current Maintainer +who has indicated in the Work that they are willing to receive error +reports for the Work (for example, by supplying a valid e-mail +address). It is not required for the Current Maintainer to acknowledge +or act upon these error reports. + +The Work changes from status `maintained' to `unmaintained' if there +is no Current Maintainer, or the person stated to be Current +Maintainer of the work cannot be reached through the indicated means +of communication for a period of six months, and there are no other +significant signs of active maintenance. + +You can become the Current Maintainer of the Work by agreement with +any existing Current Maintainer to take over this role. + +If the Work is unmaintained, you can become the Current Maintainer of +the Work through the following steps: + + 1. Make a reasonable attempt to trace the Current Maintainer (and + the Copyright Holder, if the two differ) through the means of + an Internet or similar search. + + 2. If this search is successful, then enquire whether the Work + is still maintained. + + a. If it is being maintained, then ask the Current Maintainer + to update their communication data within one month. + + b. If the search is unsuccessful or no action to resume active + maintenance is taken by the Current Maintainer, then announce + within the pertinent community your intention to take over + maintenance. (If the Work is a LaTeX work, this could be + done, for example, by posting to comp.text.tex.) + + 3a. If the Current Maintainer is reachable and agrees to pass + maintenance of the Work to you, then this takes effect + immediately upon announcement. + + b. If the Current Maintainer is not reachable and the Copyright + Holder agrees that maintenance of the Work be passed to you, + then this takes effect immediately upon announcement. + + 4. If you make an `intention announcement' as described in 2b. above + and after three months your intention is challenged neither by + the Current Maintainer nor by the Copyright Holder nor by other + people, then you may arrange for the Work to be changed so as + to name you as the (new) Current Maintainer. + + 5. If the previously unreachable Current Maintainer becomes + reachable once more within three months of a change completed + under the terms of 3b) or 4), then that Current Maintainer must + become or remain the Current Maintainer upon request provided + they then update their communication data within one month. + +A change in the Current Maintainer does not, of itself, alter the fact +that the Work is distributed under the LPPL license. + +If you become the Current Maintainer of the Work, you should +immediately provide, within the Work, a prominent and unambiguous +statement of your status as Current Maintainer. You should also +announce your new status to the same pertinent community as +in 2b) above. + + +WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE +====================================================== + +This section contains important instructions, examples, and +recommendations for authors who are considering distributing their +works under this license. These authors are addressed as `you' in +this section. + +Choosing This License or Another License +---------------------------------------- + +If for any part of your work you want or need to use *distribution* +conditions that differ significantly from those in this license, then +do not refer to this license anywhere in your work but, instead, +distribute your work under a different license. You may use the text +of this license as a model for your own license, but your license +should not refer to the LPPL or otherwise give the impression that +your work is distributed under the LPPL. + +The document `modguide.tex' in the base LaTeX distribution explains +the motivation behind the conditions of this license. It explains, +for example, why distributing LaTeX under the GNU General Public +License (GPL) was considered inappropriate. Even if your work is +unrelated to LaTeX, the discussion in `modguide.tex' may still be +relevant, and authors intending to distribute their works under any +license are encouraged to read it. + +A Recommendation on Modification Without Distribution +----------------------------------------------------- + +It is wise never to modify a component of the Work, even for your own +personal use, without also meeting the above conditions for +distributing the modified component. While you might intend that such +modifications will never be distributed, often this will happen by +accident -- you may forget that you have modified that component; or +it may not occur to you when allowing others to access the modified +version that you are thus distributing it and violating the conditions +of this license in ways that could have legal implications and, worse, +cause problems for the community. It is therefore usually in your +best interest to keep your copy of the Work identical with the public +one. Many works provide ways to control the behavior of that work +without altering any of its licensed components. + +How to Use This License +----------------------- + +To use this license, place in each of the components of your work both +an explicit copyright notice including your name and the year the work +was authored and/or last substantially modified. Include also a +statement that the distribution and/or modification of that +component is constrained by the conditions in this license. + +Here is an example of such a notice and statement: + + %% pig.dtx + %% Copyright 2005 M. Y. Name + % + % This work may be distributed and/or modified under the + % conditions of the LaTeX Project Public License, either version 1.3 + % of this license or (at your option) any later version. + % The latest version of this license is in + % http://www.latex-project.org/lppl.txt + % and version 1.3 or later is part of all distributions of LaTeX + % version 2005/12/01 or later. + % + % This work has the LPPL maintenance status `maintained'. + % + % The Current Maintainer of this work is M. Y. Name. + % + % This work consists of the files pig.dtx and pig.ins + % and the derived file pig.sty. + +Given such a notice and statement in a file, the conditions +given in this license document would apply, with the `Work' referring +to the three files `pig.dtx', `pig.ins', and `pig.sty' (the last being +generated from `pig.dtx' using `pig.ins'), the `Base Interpreter' +referring to any `LaTeX-Format', and both `Copyright Holder' and +`Current Maintainer' referring to the person `M. Y. Name'. + +If you do not want the Maintenance section of LPPL to apply to your +Work, change `maintained' above into `author-maintained'. +However, we recommend that you use `maintained', as the Maintenance +section was added in order to ensure that your Work remains useful to +the community even when you can no longer maintain and support it +yourself. + +Derived Works That Are Not Replacements +--------------------------------------- + +Several clauses of the LPPL specify means to provide reliability and +stability for the user community. They therefore concern themselves +with the case that a Derived Work is intended to be used as a +(compatible or incompatible) replacement of the original Work. If +this is not the case (e.g., if a few lines of code are reused for a +completely different task), then clauses 6b and 6d shall not apply. + + +Important Recommendations +------------------------- + + Defining What Constitutes the Work + + The LPPL requires that distributions of the Work contain all the + files of the Work. It is therefore important that you provide a + way for the licensee to determine which files constitute the Work. + This could, for example, be achieved by explicitly listing all the + files of the Work near the copyright notice of each file or by + using a line such as: + + % This work consists of all files listed in manifest.txt. + + in that place. In the absence of an unequivocal list it might be + impossible for the licensee to determine what is considered by you + to comprise the Work and, in such a case, the licensee would be + entitled to make reasonable conjectures as to which files comprise + the Work. diff --git a/README b/README deleted file mode 100644 index 5867ece..0000000 --- a/README +++ /dev/null @@ -1,19 +0,0 @@ -moderncv -- a modern curriculum vitae class - -Moderncv provides a documentclass for typesetting modern curriculum vitaes, both in a -classic and in a casual style. It is fairly customisable, allowing you to define your own -style by changing the colors, the fonts, ... - -The moderncv documentclass need it's input to be formatted with regular commands -(\section, \subsection, \maketitle, ...), but also defines its own special commands -(\cventry, \makequote, \firsname, \familyname, ...). -All the commands are defined in such a way that the arguments are always optional. - -Documents can be compiled into dvi, ps or pdf. - -Until a decent manual is written, you can always look in the "examples" directory for -some decent examples. - - -Author: Xavier Danaux -Date: 10 April 2006 diff --git a/README.md b/README.md new file mode 100644 index 0000000..19ff062 --- /dev/null +++ b/README.md @@ -0,0 +1,44 @@ +# moderncv + +[![Build template](https://github.com/moderncv/moderncv/actions/workflows/build-pdf.yml/badge.svg)](https://github.com/moderncv/moderncv/actions/workflows/build-pdf.yml) +[![CTAN](https://img.shields.io/ctan/v/moderncv.svg)](https://www.ctan.org/pkg/moderncv) +[![Matrix](https://img.shields.io/matrix/moderncv:matrix.org)](https://matrix.to/#/#moderncv:matrix.org) + +## A modern curriculum vitae class for LaTeX + +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. + +## Getting started + +### 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 + +`moderncv` is licensed under the [LPPL-1.3c](https://spdx.org/licenses/LPPL-1.3c.html). + +## Origin + +Original author: Xavier Danaux +
+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. diff --git a/create-release-tarball.sh b/create-release-tarball.sh new file mode 100755 index 0000000..1550249 --- /dev/null +++ b/create-release-tarball.sh @@ -0,0 +1,23 @@ +#!/bin/sh +# script to create a tarball for the files that should be in the CTAN upload +# +# do not forget to replace comments/headers beforehand +# 1. date and version in moderncv_userguide.tex +# 2. find . -type f -exec sed -i 's/$OLD_DATE $OLD_VERSION/$NEW_DATE $NEW_VERSION/g' {} \; +# 3. find . -type f -exec sed -i 's|-$OLD_YEAR moderncv maintainers (github.com/moderncv)|-$NEW_YEAR moderncv maintainers (github.com/moderncv)|g' {} \; + +# fetch version via git +VERSION=$(git describe --tags --dirty) +TARBALL=moderncv-$VERSION.tar + +# remove existing tarballs +rm -f $TARBALL $TARBALL.gz + +# create tar with all files in git repo +git archive --prefix=moderncv/ HEAD > $TARBALL + +# remove git specific files +tar -f $TARBALL --delete moderncv/.github/ moderncv/.gitignore moderncv/create-release-tarball.sh moderncv/.codespellrc + +# compress +gzip $TARBALL diff --git a/examples/jdoe_casual.pdf b/examples/jdoe_casual.pdf deleted file mode 100644 index 5f4ef36..0000000 Binary files a/examples/jdoe_casual.pdf and /dev/null differ diff --git a/examples/jdoe_casual.tex b/examples/jdoe_casual.tex deleted file mode 100644 index 01b26a7..0000000 --- a/examples/jdoe_casual.tex +++ /dev/null @@ -1,95 +0,0 @@ -\documentclass[11pt]{moderncv} - -% moderncv styles -\moderncvstyle{casual} -%\moderncvstyle[nocolor]{casual} -%\moderncvstyle{classic} -%\moderncvstyle[roman]{classic} - -% character encoding -\usepackage[utf8]{inputenc} - -% personal data -\firstname{John} -\familyname{Doe} -\title{Design enthusiast\dots} -%\address{12 somestreet\\3456 somecity} % for classic style -\address{12 somestreet, 3456 somecity} % for casual style -\phone{+12 (3)456 78 90} -\email{jdoe@design.org} -%\extrainfo{{\small maried with childrens}} -\quote{Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction.} - -%\renewcommand{\listsymbol}{{\fontencoding{U}\fontfamily{ding}\selectfont\tiny\symbol{'102}}} -\definecolor{see}{rgb}{0.5,0.5,0.5} - -% command for text subscripts -\newcommand{\up}[1]{\ensuremath{^\textrm{\scriptsize#1}}} - -% the ConTeXt symbol -\def\ConTeXt{% - C% - \kern-.0333emo% - \kern-.0333emn% - \kern-.0667em\TeX% - \kern-.0333emt} - -% slanted small caps (only with roman family; the sans serif font doesn't exists :-() -%\usepackage{slantsc} -%\DeclareFontFamily{T1}{myfont}{} -%\DeclareFontShape{T1}{myfont}{m}{scsl}{ <-> cork-lmssqbo8}{} -%\usefont{T1}{myfont}{m}{scsl}Testing the font - - -%---------------------------------------------------------------------------------- -% content -%---------------------------------------------------------------------------------- -\begin{document} -\maketitle -\makequote - -\section{Education} -\cventry{2003--2006}{Master of Design}{Valparezzo School of Design}{}{}{1\up{st} year: 79\%\hspace{2em}2\up{nd} year: 84\%\hspace{2em}3\up{rd} year: ---\hspace{2em}(graduation expected in June 2006)} -\cventry{2001--2003}{Bachelor of Design}{Beijing Drawing University}{}{}{1\up{st} year: 63\%\hspace{2em}2\up{nd} year: 76\%} - -\section{Master thesis} -\cvitem{title}{\emph{On the design of modern curriculum vit\ae{}s}} -\cvitem{supervisors}{Pr P. Picasso and Pr G. Klimt} -\cvitem{description}{\small Study of the complex design of a curriculum vit\ae{}, also known as ``résumé''. In my opinion, a good design needs to be show the personality of its author. Some people will thus prefer a more classic style, and others will be more audacious\dots} - -\section{Experience} -\cventry{February 2006--\\current}{Maintainer of the a CTAN package}{CTAN}{World}{}{Maintainer of the {\ttfamily moderncv} package, meant to ease the production of beautiful curriculum vit\ae{}s.} -\cventry{2005--2006}{Mathematics tutor}{UCL}{Louvain-la-Neuve}{}{Supervision of practical sessions for a mathematical course given to second year engineering students (course \emph{FSAB1104: Numerical Methods}).\hfill{\itshape\color{see}\footnotesize{}See \httplink{www.legat-online.be/b2q1/num}.}} -\cventry{2004--2006}{Cultural project leader}{Tchouque-Tschouk Kot}{Louvain-la-Neuve}{}{Leader of a student home with a cultural project, requiring day to day management as well as the organization of public events.\hfill{\itshape\color{see}\footnotesize{}See \httplink{www.organe.be}.}} -\cventry{1999--2001}{IMO preselected}{SBPMef}{Wépion}{}{Advanced mathematical training, as Belgian preselected candidate for the International Mathematical Olympiads, selected by the Belgian mathematical society.\hfill{\itshape\color{see}\footnotesize{}See \weblink{imo.math.ca/belgium.html}.}} - -\section{Languages} -\cvlanguage{French}{Native}{} -\cvlanguage{Dutch}{Near-native}{Primary education degree obtained in a Dutch college\\(Sint-Jozefscollege te Sint-Pieters-Woluwe).} -\cvlanguage{English}{Very good}{Many journeys in English speaking countries, including the United States,\\the United Kingdom and Kenya.} -\cvlanguage{Mandarin}{Elementary}{Taking classes at the ``Institut des Langues Vivantes'' (UCL), for the second year now.} - -\section{Computer skills} -\cvcomputer{OS}{Linux, Unix, Windows}{administration}{Apache, Mailman} -\cvcomputer{programming}{\textsc{Java}, C/C++}{scripting}{PHP, Shell, Ruby} -\cvcomputer{scientific}{Matlab, Autocad, Abaqus}{typography}{\LaTeX, \ConTeXt, Scribus, QuarkXPress} -\cvcomputer{web design}{XHTML, CSS, AJAX}{database}{MySQL, PostgreSQL} - -\section{Interests} -\cvitem{design}{\small I am a design fan, especially when it comes to typography and photography.} -\cvitem{adventure sports}{\small I like practicing adventure sports like skiing, rock climbing and scuba diving, and have been a boy scout for five years.} -\cvitem{travelling}{\small I have been living abroad during my childhood, and love travelling around the world.} - -%\section{Section with a list} -%\cvlistitem{lol} -%\cvlistitem{lol} -%\cvlistdoubleitem{lol}{relol} -%\cvlistdoubleitem{lol}{relol} - -%\section{Section with your own content}\closesection -%Your content here,\\ -%inside the normal \LaTeX{} environment. - -%\emptysection{} -%\cvitem{Now}{Back to moderncv layout, without making a new section :-)} -\end{document} diff --git a/examples/jdoe_casual_nocolor.pdf b/examples/jdoe_casual_nocolor.pdf deleted file mode 100644 index bca9eba..0000000 Binary files a/examples/jdoe_casual_nocolor.pdf and /dev/null differ diff --git a/examples/jdoe_casual_nocolor.tex b/examples/jdoe_casual_nocolor.tex deleted file mode 100644 index f7b7f39..0000000 --- a/examples/jdoe_casual_nocolor.tex +++ /dev/null @@ -1,91 +0,0 @@ -\documentclass[10pt]{moderncv} - -% moderncv styles -%\moderncvstyle{casual} -\moderncvstyle[nocolor]{casual} -%\moderncvstyle{classic} -%\moderncvstyle[roman]{classic} - -% character encoding -\usepackage[utf8]{inputenc} - -% personal data -\firstname{John} -\familyname{Doe} -\title{Design enthusiast\dots} -%\address{12 somestreet\\3456 somecity} % for classic style -\address{12 somestreet, 3456 somecity} % for casual style -\phone{+12 (3)456 78 90} -\email{jdoe@design.org} -%\extrainfo{{\small maried with childrens}} -\quote{Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction.} - -%\renewcommand{\listsymbol}{{\fontencoding{U}\fontfamily{ding}\selectfont\tiny\symbol{'102}}} -\definecolor{see}{rgb}{0.5,0.5,0.5} - -% command for text subscripts -\newcommand{\up}[1]{\ensuremath{^\textrm{\scriptsize#1}}} - -% the ConTeXt symbol -\def\ConTeXt{% - C% - \kern-.0333emo% - \kern-.0333emn% - \kern-.0667em\TeX% - \kern-.0333emt} - -% slanted small caps (only with roman family; the sans serif font doesn't exists :-() -%\usepackage{slantsc} -%\DeclareFontFamily{T1}{myfont}{} -%\DeclareFontShape{T1}{myfont}{m}{scsl}{ <-> cork-lmssqbo8}{} -%\usefont{T1}{myfont}{m}{scsl}Testing the font - - -%---------------------------------------------------------------------------------- -% content -%---------------------------------------------------------------------------------- -\begin{document} -\maketitle -%\makequote - -\section{Education} -\cventry{2003--2006}{Master of Design}{Valparezzo School of Design}{}{}{1\up{st} year: 79\%\hspace{2em}2\up{nd} year: 84\%\hspace{2em}3\up{rd} year: ---\hspace{2em}(graduation expected in June 2006)} -\cventry{2001--2003}{Bachelor of Design}{Beijing Drawing University}{}{}{1\up{st} year: 63\%\hspace{2em}2\up{nd} year: 76\%} - -\section{Master thesis} -\cvitem{title}{\emph{On the design of modern curriculum vit\ae{}s}} -\cvitem{supervisors}{Pr P. Picasso and Pr G. Klimt} -\cvitem{description}{\small Study of the complex design of a curriculum vit\ae{}, also known as ``résumé''. In my opinion, a good design needs to be show the personality of its author. Some people will thus prefer a more classic style, and others will be more audacious\dots} - -\section{Experience} -\cventry{February 2006--\\current}{Maintainer of the a CTAN package}{CTAN}{World}{}{Maintainer of the {\ttfamily moderncv} package, meant to ease the production of beautiful curriculum vit\ae{}s.} -\cventry{2005--2006}{Mathematics tutor}{UCL}{Louvain-la-Neuve}{}{Supervision of practical sessions for a mathematical course given to second year engineering students (course \emph{FSAB1104: Numerical Methods}).\hfill{\itshape\color{see}\footnotesize{}See \httplink{www.legat-online.be/b2q1/num}.}} -\cventry{2004--2006}{Cultural project leader}{Tchouque-Tschouk Kot}{Louvain-la-Neuve}{}{Leader of a student home with a cultural project, requiring day to day management as well as the organization of public events.\hfill{\itshape\color{see}\footnotesize{}See \httplink{www.organe.be}.}} -\cventry{1999--2001}{IMO preselected}{SBPMef}{Wépion}{}{Advanced mathematical training, as Belgian preselected candidate for the International Mathematical Olympiads, selected by the Belgian mathematical society.\hfill{\itshape\color{see}\footnotesize{}See \weblink{imo.math.ca/belgium.html}.}} - -\section{Languages} -\cvlanguage{French}{Native}{} -\cvlanguage{Dutch}{Near-native}{Primary education degree obtained in a Dutch college\\(Sint-Jozefscollege te Sint-Pieters-Woluwe).} -\cvlanguage{English}{Very good}{Many journeys in English speaking countries, including the United States,\\the United Kingdom and Kenya.} -\cvlanguage{Mandarin}{Elementary}{Taking classes at the ``Institut des Langues Vivantes'' (UCL), for the second year now.} - -\section{Computer skills} -\cvcomputer{OS}{Linux, Unix, Windows}{administration}{Apache, Mailman} -\cvcomputer{programming}{\textsc{Java}, C/C++}{scripting}{PHP, Shell, Ruby} -\cvcomputer{scientific}{Matlab, Autocad, Abaqus}{typography}{\LaTeX, \ConTeXt, Scribus, QuarkXPress} -\cvcomputer{web design}{XHTML, CSS, AJAX}{database}{MySQL, PostgreSQL} - -\section{Interests} -\cvitem{design}{\small I am a design fan, especially when it comes to typography and photography.} -\cvitem{adventure sports}{\small I like practicing adventure sports like skiing, rock climbing and scuba diving, and have been a boy scout for five years.} -\cvitem{travelling}{\small I have been living abroad during my childhood, and love travelling around the world.} - -%\section{Section with a list} -%\cvlistitem{lol} -%\cvlistitem{lol} -%\cvlistdoubleitem{lol}{relol} -%\cvlistdoubleitem{lol}{relol} - -%\section{Section with your own content}\closesection -%Your content here -\end{document} diff --git a/examples/jdoe_classic.pdf b/examples/jdoe_classic.pdf deleted file mode 100644 index 5e82987..0000000 Binary files a/examples/jdoe_classic.pdf and /dev/null differ diff --git a/examples/jdoe_classic.tex b/examples/jdoe_classic.tex deleted file mode 100644 index f094b16..0000000 --- a/examples/jdoe_classic.tex +++ /dev/null @@ -1,91 +0,0 @@ -\documentclass[10pt]{moderncv} - -% moderncv styles -%\moderncvstyle{casual} -%\moderncvstyle[nocolor]{casual} -\moderncvstyle{classic} -%\moderncvstyle[roman]{classic} - -% character encoding -\usepackage[utf8]{inputenc} - -% personal data -\firstname{John} -\familyname{Doe} -\title{Design enthusiast\dots} -\address{12 somestreet\\3456 somecity} % for classic style -%\address{12 somestreet, 3456 somecity} % for casual style -\phone{+12 (3)456 78 90} -\email{jdoe@design.org} -%\extrainfo{{\small maried with childrens}} -\quote{Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction.} - -%\renewcommand{\listsymbol}{{\fontencoding{U}\fontfamily{ding}\selectfont\tiny\symbol{'102}}} -\definecolor{see}{rgb}{0.5,0.5,0.5} - -% command for text subscripts -\newcommand{\up}[1]{\ensuremath{^\textrm{\scriptsize#1}}} - -% the ConTeXt symbol -\def\ConTeXt{% - C% - \kern-.0333emo% - \kern-.0333emn% - \kern-.0667em\TeX% - \kern-.0333emt} - -% slanted small caps (only with roman family; the sans serif font doesn't exists :-() -%\usepackage{slantsc} -%\DeclareFontFamily{T1}{myfont}{} -%\DeclareFontShape{T1}{myfont}{m}{scsl}{ <-> cork-lmssqbo8}{} -%\usefont{T1}{myfont}{m}{scsl}Testing the font - - -%---------------------------------------------------------------------------------- -% content -%---------------------------------------------------------------------------------- -\begin{document} -\maketitle -%\makequote - -\section{Education} -\cventry{2003--2006}{Master of Design}{Valparezzo School of Design}{}{}{1\up{st} year: 79\%\hspace{2em}2\up{nd} year: 84\%\hspace{2em}3\up{rd} year: ---\hspace{2em}(graduation expected in June 2006)} -\cventry{2001--2003}{Bachelor of Design}{Beijing Drawing University}{}{}{1\up{st} year: 63\%\hspace{2em}2\up{nd} year: 76\%} - -\section{Master thesis} -\cvitem{title}{\emph{On the design of modern curriculum vit\ae{}s}} -\cvitem{supervisors}{Pr P. Picasso and Pr G. Klimt} -\cvitem{description}{\small Study of the complex design of a curriculum vit\ae{}, also known as ``résumé''. In my opinion, a good design needs to be show the personality of its author. Some people will thus prefer a more classic style, and others will be more audacious\dots} - -\section{Experience} -\cventry{February 2006--\\current}{Maintainer of the a CTAN package}{CTAN}{World}{}{Maintainer of the {\ttfamily moderncv} package, meant to ease the production of beautiful curriculum vit\ae{}s.} -\cventry{2005--2006}{Mathematics tutor}{UCL}{Louvain-la-Neuve}{}{Supervision of practical sessions for a mathematical course given to second year engineering students (course \emph{FSAB1104: Numerical Methods}).\hfill{\itshape\color{see}\footnotesize{}See \httplink{www.legat-online.be/b2q1/num}.}} -\cventry{2004--2006}{Cultural project leader}{Tchouque-Tschouk Kot}{Louvain-la-Neuve}{}{Leader of a student home with a cultural project, requiring day to day management as well as the organization of public events.\hfill{\itshape\color{see}\footnotesize{}See \httplink{www.organe.be}.}} -\cventry{1999--2001}{IMO preselected}{SBPMef}{Wépion}{}{Advanced mathematical training, as Belgian preselected candidate for the International Mathematical Olympiads, selected by the Belgian mathematical society.\hfill{\itshape\color{see}\footnotesize{}See \weblink{imo.math.ca/belgium.html}.}} - -\section{Languages} -\cvlanguage{French}{Native}{} -\cvlanguage{Dutch}{Near-native}{Primary education degree obtained in a Dutch college\\(Sint-Jozefscollege te Sint-Pieters-Woluwe).} -\cvlanguage{English}{Very good}{Many journeys in English speaking countries, including the United States,\\the United Kingdom and Kenya.} -\cvlanguage{Mandarin}{Elementary}{Taking classes at the ``Institut des Langues Vivantes'' (UCL), for the second year now.} - -\section{Computer skills} -\cvcomputer{OS}{Linux, Unix, Windows}{administration}{Apache, Mailman} -\cvcomputer{programming}{\textsc{Java}, C/C++}{scripting}{PHP, Shell, Ruby} -\cvcomputer{scientific}{Matlab, Autocad, Abaqus}{typography}{\LaTeX, \ConTeXt, Scribus, QuarkXPress} -\cvcomputer{web design}{XHTML, CSS, AJAX}{database}{MySQL, PostgreSQL} - -\section{Interests} -\cvitem{design}{\small I am a design fan, especially when it comes to typography and photography.} -\cvitem{adventure sports}{\small I like practicing adventure sports like skiing, rock climbing and scuba diving, and have been a boy scout for five years.} -\cvitem{travelling}{\small I have been living abroad during my childhood, and love travelling around the world.} - -%\section{Section with a list} -%\cvlistitem{lol} -%\cvlistitem{lol} -%\cvlistdoubleitem{lol}{relol} -%\cvlistdoubleitem{lol}{relol} - -%\section{Section with your own content}\closesection -%Your content here -\end{document} diff --git a/examples/jdoe_classic_roman.pdf b/examples/jdoe_classic_roman.pdf deleted file mode 100644 index 80e7618..0000000 Binary files a/examples/jdoe_classic_roman.pdf and /dev/null differ diff --git a/examples/jdoe_classic_roman.tex b/examples/jdoe_classic_roman.tex deleted file mode 100644 index 56cd02b..0000000 --- a/examples/jdoe_classic_roman.tex +++ /dev/null @@ -1,91 +0,0 @@ -\documentclass[12pt]{moderncv} - -% moderncv styles -%\moderncvstyle{casual} -%\moderncvstyle[nocolor]{casual} -%\moderncvstyle{classic} -\moderncvstyle[roman]{classic} - -% character encoding -\usepackage[utf8]{inputenc} - -% personal data -\firstname{John} -\familyname{Doe} -\title{Design enthusiast\dots} -\address{12 somestreet\\3456 somecity} % for classic style -%\address{12 somestreet, 3456 somecity} % for casual style -\phone{+12 (3)456 78 90} -\email{jdoe@design.org} -%\extrainfo{{\small maried with childrens}} -\quote{Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction.} - -%\renewcommand{\listsymbol}{{\fontencoding{U}\fontfamily{ding}\selectfont\tiny\symbol{'102}}} -\definecolor{see}{rgb}{0.5,0.5,0.5} - -% command for text subscripts -\newcommand{\up}[1]{\ensuremath{^\textrm{\scriptsize#1}}} - -% the ConTeXt symbol -\def\ConTeXt{% - C% - \kern-.0333emo% - \kern-.0333emn% - \kern-.0667em\TeX% - \kern-.0333emt} - -% slanted small caps (only with roman family; the sans serif font doesn't exists :-() -%\usepackage{slantsc} -%\DeclareFontFamily{T1}{myfont}{} -%\DeclareFontShape{T1}{myfont}{m}{scsl}{ <-> cork-lmssqbo8}{} -%\usefont{T1}{myfont}{m}{scsl}Testing the font - - -%---------------------------------------------------------------------------------- -% content -%---------------------------------------------------------------------------------- -\begin{document} -\maketitle -\makequote - -\section{Education} -\cventry{2003--2006}{Master of Design}{Valparezzo School of Design}{}{}{1\up{st} year: 79\%\hspace{2em}2\up{nd} year: 84\%\hspace{2em}3\up{rd} year: ---\hspace{2em}(graduation expected in June 2006)} -\cventry{2001--2003}{Bachelor of Design}{Beijing Drawing University}{}{}{1\up{st} year: 63\%\hspace{2em}2\up{nd} year: 76\%} - -\section{Master thesis} -\cvitem{title}{\emph{On the design of modern curriculum vit\ae{}s}} -\cvitem{supervisors}{Pr P. Picasso and Pr G. Klimt} -\cvitem{description}{\small Study of the complex design of a curriculum vit\ae{}, also known as ``résumé''. In my opinion, a good design needs to be show the personality of its author. Some people will thus prefer a more classic style, and others will be more audacious\dots} - -\section{Experience} -\cventry{February 2006--\\current}{Maintainer of the a CTAN package}{CTAN}{World}{}{Maintainer of the {\ttfamily moderncv} package, meant to ease the production of beautiful curriculum vit\ae{}s.} -\cventry{2005--2006}{Mathematics tutor}{UCL}{Louvain-la-Neuve}{}{Supervision of practical sessions for a mathematical course given to second year engineering students (course \emph{FSAB1104: Numerical Methods}).\hfill{\itshape\color{see}\footnotesize{}See \httplink{www.legat-online.be/b2q1/num}.}} -\cventry{2004--2006}{Cultural project leader}{Tchouque-Tschouk Kot}{Louvain-la-Neuve}{}{Leader of a student home with a cultural project, requiring day to day management as well as the organization of public events.\hfill{\itshape\color{see}\footnotesize{}See \httplink{www.organe.be}.}} -\cventry{1999--2001}{IMO preselected}{SBPMef}{Wépion}{}{Advanced mathematical training, as Belgian preselected candidate for the International Mathematical Olympiads, selected by the Belgian mathematical society.\hfill{\itshape\color{see}\footnotesize{}See \weblink{imo.math.ca/belgium.html}.}} - -\section{Languages} -\cvlanguage{French}{Native}{} -\cvlanguage{Dutch}{Near-native}{Primary education degree obtained in a Dutch college\\(Sint-Jozefscollege te Sint-Pieters-Woluwe).} -\cvlanguage{English}{Very good}{Many journeys in English speaking countries, including the United States,\\the United Kingdom and Kenya.} -\cvlanguage{Mandarin}{Elementary}{Taking classes at the ``Institut des Langues Vivantes'' (UCL), for the second year now.} - -\section{Computer skills} -\cvcomputer{OS}{Linux, Unix, Windows}{administration}{Apache, Mailman} -\cvcomputer{programming}{\textsc{Java}, C/C++}{scripting}{PHP, Shell, Ruby} -\cvcomputer{scientific}{Matlab, Autocad, Abaqus}{typography}{\LaTeX, \ConTeXt, Scribus, QuarkXPress} -\cvcomputer{web design}{XHTML, CSS, AJAX}{database}{MySQL, PostgreSQL} - -\section{Interests} -\cvitem{design}{\small I am a design fan, especially when it comes to typography and photography.} -\cvitem{adventure sports}{\small I like practicing adventure sports like skiing, rock climbing and scuba diving, and have been a boy scout for five years.} -\cvitem{travelling}{\small I have been living abroad during my childhood, and love travelling around the world.} - -%\section{Section with a list} -%\cvlistitem{lol} -%\cvlistitem{lol} -%\cvlistdoubleitem{lol}{relol} -%\cvlistdoubleitem{lol}{relol} - -%\section{Section with your own content}\closesection -%Your content here -\end{document} diff --git a/manual/moderncv_userguide.pdf b/manual/moderncv_userguide.pdf new file mode 100644 index 0000000..6c91c56 Binary files /dev/null and b/manual/moderncv_userguide.pdf differ diff --git a/manual/moderncv_userguide.tex b/manual/moderncv_userguide.tex new file mode 100644 index 0000000..e8b982b --- /dev/null +++ b/manual/moderncv_userguide.tex @@ -0,0 +1,1099 @@ +%% moderncv_userguide.tex as shipped with 2026-01-31 v2.5.1 modern curriculum vitae and letter document class (moderncv) +%% 2021 David Seus (cryptointerest@posteo.de), 2021-2026 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/. + +\documentclass[a4paper, 11pt]{article} + +\title{% + \texttt{moderncv} User Guide\\ + {\small Package v2.5.1}% +} +% Cristina Sambo, +\author{% + Package by Xavier Danaux\\ + and\\ + moderncv community\\ + {\small Documentation by David Seus}% +} +\date{2026-01-31} + +% Language and encoding options +\usepackage[english]{babel} +\usepackage{ifxetex, ifluatex} +\newif\ifxetexorluatex +\ifxetex + \xetexorluatextrue +\else + \ifluatex + \xetexorluatextrue + \else + \xetexorluatexfalse + \fi +\fi + +% PDFLaTeX or LUALaTeX/XeLaTeX +\ifxetexorluatex + % \usepackage{luatextra} + % \usepackage{lualatex-math} + \usepackage{shellesc} % Fix a bug for lualatex shellescape + % \usepackage{unicode-math} + % \setmathfont{xits-math.otf} +\else + \usepackage[utf8]{inputenx} % Uncomment if using pdflatex, comment if using lualatex +\fi +\PassOptionsToPackage{T1}{fontenc} % T2A for Cyrillic +\usepackage[T1]{fontenc} + +% Font options +\usepackage{txfonts} +\usepackage{marvosym} +\usepackage{pifont} + +% Margins, spacing and page layout +\usepackage[pdftex, colorlinks=true]{hyperref} % hyperref must be loaded before geometry +\usepackage[pdftex, marginparwidth=50pt]{geometry} +\geometry{top=2.5cm, bottom=3cm} +\usepackage{parskip} % Replace paragraph indentation with vertical spacing +\frenchspacing % Suppress additional space after a full stop +\renewcommand{\arraystretch}{1.1} + +% Packages +\usepackage{graphicx} +\usepackage{xcolor} +\usepackage[labelfont=sl, font=small, width=0.9\textwidth]{caption} +\usepackage{marvosym} +\usepackage{latexsym} +\usepackage{url} +\usepackage{scrhack} % Fix warnings when using KOMA with listings package +\usepackage{xspace} % Fix spacing after macros +\usepackage{mparhack} % Fix marginpar +\usepackage{microtype} +\usepackage{multicol} % Multicolumn text for long lists + +% Code listings +\usepackage{listings} +% \lstset{emph={trueIndex, root}, emphstyle=\color{BlueViolet}}% \underbar} % Special keywords +\lstset{% + language=[LaTeX]Tex, % C++, + morekeywords={PassOptionsToPackage, selectlanguage}, + keywordstyle=\color{cvblue}, % \bfseries, + basicstyle=\small\ttfamily, + % identifierstyle=\color{NavyBlue}, + commentstyle=\color{gray}\ttfamily, + stringstyle=\rmfamily, + numbers=none, % left, + numberstyle=\scriptsize, % \tiny + stepnumber=5, + numbersep=8pt, + showstringspaces=false, + breaklines=true, + % frameround=ftff, + % frame=single, + belowcaptionskip=0.75\baselineskip, + % frame=L, + emph={ + cvitem, cventry, cvdoubleentry, cvdoubleitem, cvtripleitem, cvlistitem, cvlistdoubleitem, cvcolumns, moderncvstyle, moderncvcolor, + cvskill, cvskilllegend, cvskillplainlegend, cvskillhead, cvskillentry, nopagenumbers, + name, born, address, email, link, social, phone, homepage, extrainfo, photo, quote, section, subsection, setlength, NewDocumentCommand, definecolor, colorlet, cvitemwithcomment, + recipient, subject, opening, closing, signature, enclosure + }, + emphstyle={\color{cvblue}}, + emph={[2] + familydefault, sfdefault, rmdefault, inputenc, moderncv, document, bibliographyitemlabel, + addresssymbol, mobilephonesymbol, fixedphonesymbol, faxphonesymbol, emailsymbol, homepagesymbol, linkedinsocialsymbol, + xingsocialsymbol, twittersocialsymbol, githubsocialsymbol, gitlabsocialsymbol, mastodonsocialsymbol, codebergsocialsymbol, discordsocialsymbol, twitchsocialsymbol, youtubesocialsymbol, tiktoksocialsymbol, instagramsocialsymbol, soundcloudsocialsymbol, steamsocialsymbol, xboxsocialsymbol, playstationsocialsymbol, battlenetsocialsymbol, simplexsocialsymbol, threemasocialsymbol, + stackoverflowsocialsymbol, bitbucketsocialsymbol, skypesocialsymbol, orcidsocialsymbol, researchgatesocialsymbol, arxivsocialsymbol, inspiresocialsymbol, + researcheridsocialsymbol, telegramsocialsymbol, whatsappsocialsymbol, signalsocialsymbol, matrixsocialsymbol, googlescholarsocialsymbol, cvstretchability, bornsymbol + }, + emphstyle={[2]\color{cvblue!60!cvgrey}\bfseries}, + literate={{é}{{\'e}}1}, +} + +% Hyperlinks +\usepackage{hyperref} +\hypersetup{ + unicode=true, + % draft, % Draft mode for printing (see below) + colorlinks=true, linktocpage=true, pdfstartpage=3, pdfstartview=FitV, + % colorlinks=false, linktocpage=false, pdfstartpage=3, pdfstartview=FitV, pdfborder={0 0 0}, % Black links (e.g., for printing) + breaklinks=true, pageanchor=true, + pdfpagemode=UseNone, + % pdfpagemode=UseOutlines, + plainpages=false, bookmarksnumbered, bookmarksopen=true, bookmarksopenlevel=1, + hypertexnames=true, pdfhighlight=/O, % nesting=true, frenchlinks, + urlcolor=cvblue, linkcolor=cvblue, citecolor=cvblue, % pagecolor=RoyalBlue, + % urlcolor=Black, linkcolor=Black, citecolor=Black, % pagecolor=Black, + % pdfborder={0 0 1}, % Width of PDF link border 0 0 1, 0 0 0 = colorlinks + % linkbordercolor=gray!15, + % citebordercolor=green!15, +} + +% Colors +\definecolor{cvblue}{rgb}{0.22, 0.45, 0.70} +\definecolor{cvgreen}{rgb}{0.35, 0.70, 0.30} +\definecolor{cvred}{rgb}{0.95, 0.20, 0.20} +\definecolor{cvorange}{rgb}{0.95, 0.55, 0.15} +\definecolor{cvgrey}{rgb}{0.75, 0.75, 0.75} +\definecolor{cvburgundy}{rgb}{0.596078, 0, 0} % burgundy: 139/255 (0.545098) or 152/255 (0.596078) +\definecolor{cvgrey}{rgb}{0.55, 0.55, 0.55} +\definecolor{cvpurple}{rgb}{0.50, 0.33, 0.80} + +% Macros +\newcommand{\todo}[1]{\marginpar{\raggedright \textcolor{red}{[\textbf{TODO:} #1]}}} +\newcommand{\todox}[1]{\textcolor{red}{[\textbf{TODO:} #1]}} +\newcommand{\note}{\paragraph{Note.}} +\newcommand{\code}[1]{\lstinline!#1!} +\newcommand{\moderncv}{\code{moderncv}} +\newcommand{\Moderncv}{\moderncv~} +\newcommand{\github}{GitHub} +\newcommand{\Github}{\github~} +\newcommand{\ctan}{CTAN} +\newcommand{\Ctan}{\ctan~} +\newcommand{\cvtemplate}{\code{template.tex}} +\newcommand{\Cvtemplate}{\cvtemplate~} +\newcommand{\Latex}{\LaTeX~} +\newcommand{\biblatex}{BibLaTeX} +\newcommand{\Biblatex}{\biblatex~} +\newcommand{\cvdoccolorbox}[1]{{\color{#1}\rule{4ex}{2ex}}} +\newcommand{\moderncvGithub}{\url{https://github.com/moderncv/moderncv}} +\newcommand{\moderncvCtan}{\url{https://ctan.org/pkg/moderncv}} + + + + + +% ================== +% DOCUMENT BEGINNING +% ================== +\begin{document} +\maketitle +\begin{abstract} + \noindent + The \Moderncv package provides a document class for typesetting modern curriculum vit\ae{} and cover letters in various styles. + Five predefined styles are available, each of which can be adjusted through various options for headings, footers and colors. + It is fairly customizable, allowing the user to adjust the look and feel of each style to their liking. + Several macros allow the user to add content to the CV and format it in a consistent way. + A letter of motivation consistent with the style is part of the template as well. +\end{abstract} +\tableofcontents + + + +\section{Getting started} +\subsection{How to read this manual} +This manual is organized as follows. +The current section explains on how to get started with the \Moderncv package, i.e. how to install required packages. +% \emph{Note that it is assumed that you know how to install \Latex packages in case some are missing.} +Section \ref{section:moderncvTemplate} explains how to work with the \Moderncv template file step by step. +Section \ref{section:customization} details the customizations that the user can make: the different styles, their options, colors and tips and tricks. +Section \ref{section:implementationDetails} details the packages that \Moderncv uses, known problems and possible solutions to those problems. + +\subsection{Installation instructions} +If the \Moderncv package does not ship with your \Latex distribution or if the installed version is too old, grab the \Moderncv code from \Ctan or \github: + +\begin{tabular}{l} + \moderncvCtan \\% [.5ex] + \moderncvGithub +\end{tabular} + +\note Depending on your \Latex distribution, you may have to install some additional packages. +Section \ref{section:implementationDetails:requiredPackages} lists all the packages that \Moderncv requires to be installed on your system. + + + +\section{The \texttt{moderncv} template step by step} +This section is a quick reference to the \Moderncv package and should contain enough information to typeset a first working CV. +\label{section:moderncvTemplate} +The easiest way to get started with \Moderncv is to use the template that comes with the package. +If \Moderncv is part of your \Latex distribution, search for the folder \Moderncv on your system, which should contain all the files for the package. +In this folder, there should be a file called \cvtemplate. +If you downloaded the package from \Github or \ctan, look for \Cvtemplate in the folder of the newly downloaded (and possibly extracted) package. + +\note If you downloaded \Moderncv from \Github or \Ctan and moved \Cvtemplate to another folder, make sure to adjust the \code{TEXINPUTS} variable to find the newly downloaded package. +Otherwise, either the package version provided by your \Latex distribution gets used or \Latex throws an error if there is no other version installed. + +Test your setup by compiling \Cvtemplate and looking at the result. + +\note The \Moderncv package should compile with \code{pdflatex}, \code{lualatex} and \code{xelatex}. +However, not all icons are available when using \code{pdflatex}, so using either \code{lualatex} or \code{xelatex} \emph{is highly recommended.} + +\subsection{Basic setup} +A document using the \Moderncv document class is set up like any other document class. +We will go through the template step by step. + +\subsubsection*{Configuring document class options} +The \Moderncv document class is loaded as per usual, by +\begin{lstlisting} + \documentclass[]{moderncv} +\end{lstlisting} +where at most one value for each option can be passed to the document class: + +\begin{tabular}{r@{\hspace{2ex}}p{0.55\textwidth}} + \textbf{\code{paper}:} & \code{a4paper} (default), \code{a5paper}, \code{b5paper}, \code{letterpaper}, + \code{legalpaper}, \code{executivepaper}, \code{landscape} \\ + \textbf{\code{font family}:} & \code{sans}, \code{roman} \\ + \textbf{\code{font size}:} & \code{10pt}, \code{11pt} (default), \code{12pt} \\ + \textbf{\code{draft/final}:} & \code{draft}, \code{final} (default) +\end{tabular} + +\subsubsection*{Choosing a \texttt{moderncv} style and color} +Choose a \Moderncv style and color by adjusting the commands (command order is important!): +\begin{lstlisting} + \moderncvcolor{} + \moderncvstyle{