- TeX 99.8%
- Shell 0.2%
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>
|
||
|---|---|---|
| .github | ||
| manual | ||
| .codespellrc | ||
| .gitignore | ||
| CHANGELOG | ||
| CONTRIBUTING.md | ||
| create-release-tarball.sh | ||
| KNOWN_BUGS | ||
| LICENSE.txt | ||
| moderncv.cls | ||
| moderncvbodyi.sty | ||
| moderncvbodyii.sty | ||
| moderncvbodyiii.sty | ||
| moderncvbodyiv.sty | ||
| moderncvbodyv.sty | ||
| moderncvbodyvi.sty | ||
| moderncvcollection.sty | ||
| moderncvcolorblack.sty | ||
| moderncvcolorblue.sty | ||
| moderncvcolorburgundy.sty | ||
| moderncvcolorcerulean.sty | ||
| moderncvcolorgreen.sty | ||
| moderncvcolorgrey.sty | ||
| moderncvcolororange.sty | ||
| moderncvcolorpurple.sty | ||
| moderncvcolorred.sty | ||
| moderncvcolors.sty | ||
| moderncvcompatibility.sty | ||
| moderncvdebugtools.sty | ||
| moderncvfooti.sty | ||
| moderncvheadi.sty | ||
| moderncvheadii.sty | ||
| moderncvheadiii.sty | ||
| moderncvheadiv.sty | ||
| moderncvheadv.sty | ||
| moderncvheadvi.sty | ||
| moderncvheadvii.sty | ||
| moderncviconsacademic.sty | ||
| moderncviconsawesome.sty | ||
| moderncviconsletters.sty | ||
| moderncviconsmarvosym.sty | ||
| moderncviconssymbols.sty | ||
| moderncviconstikz.sty | ||
| moderncvskillmatrix.sty | ||
| moderncvstylebanking.sty | ||
| moderncvstylecasual.sty | ||
| moderncvstyleclassic.sty | ||
| moderncvstylecontemporary.sty | ||
| moderncvstyleempty.sty | ||
| moderncvstylefancy.sty | ||
| moderncvstyleoldstyle.sty | ||
| moderncvverticaltimeline.sty | ||
| picture.eps | ||
| picture.jpg | ||
| publications.bib | ||
| README.md | ||
| signature.png | ||
| template.tex | ||
| tweaklist.sty | ||
moderncv
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.