A modern curriculum vitae class for LaTeX
  • TeX 99.8%
  • Shell 0.2%
Find a file
Patrick Neumann a31e3af59e Fix orphaned \section and \subsection headings (#226)
In the body variants that typeset headings with \cvitem (i/ii, used by the
casual and classic styles, and vi, used by the contemporary style), \cvitem
ends with \par\addvspace{0ex}. That contributes glue right after the heading
box and *before* the \nobreak of the heading definition. Glue following a box
is a legal page breakpoint, so LaTeX was free to break there and leave the
heading alone at the bottom of a page while its first \cventry moved to the
next page.

Add \@cvheadingitem to moderncv.cls, which calls \cvitem with \addvspace
gobbled, and use it in the affected heading definitions. The \nobreak is then
the first item after the heading box, so the page can only break before the
heading. The heading's own \par\nobreak\addvspace{...} still supplies the
space below it, so output is unchanged whenever no break occurs.

Verified with pdflatex on all six shipped styles: renderings are
pixel-identical to the previous ones for documents without an orphan, and
casual/classic (\section and \subsection) plus contemporary (\subsection) no
longer orphan headings. banking, oldstyle and fancy were never affected, as
their headings do not go through \cvitem.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-30 11:00:31 +02:00
.github Fix auto guide generation on master (#284) 2026-05-25 23:04:48 +02:00
manual Add option for half-filled circles in skill matrix (#309) 2026-09-25 18:24:27 +02:00
.codespellrc Add codespell support (config, workflow to detect/not fix) and make it fix some typos (#253) 2025-09-06 19:54:28 +02:00
.gitignore documentation paragraph for contemporary style, ignoring .toc in git (#187) 2024-05-10 16:56:23 +02:00
CHANGELOG Fix orphaned \section and \subsection headings (#226) 2026-09-30 11:00:31 +02:00
CONTRIBUTING.md adds a contributing guidelines for moderncv and references it in the README.md file 2026-05-24 17:23:18 +03:00
create-release-tarball.sh Prepare v2.5.1 release (#266) 2026-01-31 13:06:35 +01:00
KNOWN_BUGS Update user guide (#169) 2024-04-17 22:29:57 +02:00
LICENSE.txt update readme and add license text (#8) 2020-07-04 23:30:34 +02:00
moderncv.cls Fix orphaned \section and \subsection headings (#226) 2026-09-30 11:00:31 +02:00
moderncvbodyi.sty Fix orphaned \section and \subsection headings (#226) 2026-09-30 11:00:31 +02:00
moderncvbodyii.sty Replaced moderncvbodyii.sty by a symlink to moderncvbodyi.sty 2015-08-01 15:35:47 -07:00
moderncvbodyiii.sty Fix underfull hbox in banking subsection dotted rules (#308) 2026-08-29 17:05:33 +02:00
moderncvbodyiv.sty prepare new patch release v2.6.1 2026-06-24 18:05:42 +02:00
moderncvbodyv.sty prepare new patch release v2.6.1 2026-06-24 18:05:42 +02:00
moderncvbodyvi.sty Fix orphaned \section and \subsection headings (#226) 2026-09-30 11:00:31 +02:00
moderncvcollection.sty prepare new patch release v2.6.1 2026-06-24 18:05:42 +02:00
moderncvcolorblack.sty prepare new patch release v2.6.1 2026-06-24 18:05:42 +02:00
moderncvcolorblue.sty prepare new patch release v2.6.1 2026-06-24 18:05:42 +02:00
moderncvcolorburgundy.sty prepare new patch release v2.6.1 2026-06-24 18:05:42 +02:00
moderncvcolorcerulean.sty prepare new patch release v2.6.1 2026-06-24 18:05:42 +02:00
moderncvcolorgreen.sty prepare new patch release v2.6.1 2026-06-24 18:05:42 +02:00
moderncvcolorgrey.sty prepare new patch release v2.6.1 2026-06-24 18:05:42 +02:00
moderncvcolororange.sty prepare new patch release v2.6.1 2026-06-24 18:05:42 +02:00
moderncvcolorpurple.sty prepare new patch release v2.6.1 2026-06-24 18:05:42 +02:00
moderncvcolorred.sty prepare new patch release v2.6.1 2026-06-24 18:05:42 +02:00
moderncvcolors.sty prepare new patch release v2.6.1 2026-06-24 18:05:42 +02:00
moderncvcompatibility.sty prepare new patch release v2.6.1 2026-06-24 18:05:42 +02:00
moderncvdebugtools.sty prepare new patch release v2.6.1 2026-06-24 18:05:42 +02:00
moderncvfooti.sty prepare new patch release v2.6.1 2026-06-24 18:05:42 +02:00
moderncvheadi.sty prepare new patch release v2.6.1 2026-06-24 18:05:42 +02:00
moderncvheadii.sty prepare new patch release v2.6.1 2026-06-24 18:05:42 +02:00
moderncvheadiii.sty prepare new patch release v2.6.1 2026-06-24 18:05:42 +02:00
moderncvheadiv.sty prepare new patch release v2.6.1 2026-06-24 18:05:42 +02:00
moderncvheadv.sty prepare new patch release v2.6.1 2026-06-24 18:05:42 +02:00
moderncvheadvi.sty prepare new patch release v2.6.1 2026-06-24 18:05:42 +02:00
moderncvheadvii.sty prepare new patch release v2.6.1 2026-06-24 18:05:42 +02:00
moderncviconsacademic.sty prepare new patch release v2.6.1 2026-06-24 18:05:42 +02:00
moderncviconsawesome.sty Upgrade fontawesome7 (#301) 2026-07-14 20:34:40 +02:00
moderncviconsletters.sty Upgrade fontawesome7 (#301) 2026-07-14 20:34:40 +02:00
moderncviconsmarvosym.sty prepare new patch release v2.6.1 2026-06-24 18:05:42 +02:00
moderncviconssymbols.sty prepare new patch release v2.6.1 2026-06-24 18:05:42 +02:00
moderncviconstikz.sty prepare new patch release v2.6.1 2026-06-24 18:05:42 +02:00
moderncvskillmatrix.sty Add option for half-filled circles in skill matrix (#309) 2026-09-25 18:24:27 +02:00
moderncvstylebanking.sty prepare new patch release v2.6.1 2026-06-24 18:05:42 +02:00
moderncvstylecasual.sty prepare new patch release v2.6.1 2026-06-24 18:05:42 +02:00
moderncvstyleclassic.sty prepare new patch release v2.6.1 2026-06-24 18:05:42 +02:00
moderncvstylecontemporary.sty prepare new patch release v2.6.1 2026-06-24 18:05:42 +02:00
moderncvstyleempty.sty prepare new patch release v2.6.1 2026-06-24 18:05:42 +02:00
moderncvstylefancy.sty prepare new patch release v2.6.1 2026-06-24 18:05:42 +02:00
moderncvstyleoldstyle.sty prepare new patch release v2.6.1 2026-06-24 18:05:42 +02:00
moderncvverticaltimeline.sty prepare new patch release v2.6.1 2026-06-24 18:05:42 +02:00
picture.eps Better folder structure 2020-10-18 11:30:30 +02:00
picture.jpg Better folder structure 2020-10-18 11:30:30 +02:00
publications.bib Prepare v2.5.1 release (#266) 2026-01-31 13:06:35 +01:00
README.md adds a contributing guidelines for moderncv and references it in the README.md file 2026-05-24 17:23:18 +03:00
signature.png make the signature optional and available in all styles 2023-05-09 11:27:51 +03:00
template.tex Add option for half-filled circles in skill matrix (#309) 2026-09-25 18:24:27 +02:00
tweaklist.sty Prepare v2.5.1 release (#266) 2026-01-31 13:06:35 +01:00

moderncv

Build template CTAN Matrix

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. Alternatively, you can also build the package from source by cloning the its GitHub repository 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 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, feel free to join if you have questions or want to contribute. Development takes place at github.com/moderncv/moderncv. We are always happy if you want to contribute. Before you start, please make sure to read our guidelines in CONTRIBUTING.md.

Licence

moderncv is licensed under the LPPL-1.3c.

Origin

Original author: Xavier Danaux xdanaux@gmail.com
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.