我正在尝试找到一种方法来修改moderncv
LaTeX“库”(如果库是正确的词,则为 dk)。如下图所示,我希望将空间 1 和 2 减少一半。
我是 LaTeX 的新手,顺便说一下,它很棒,如果这是一个愚蠢的问题,请原谅。
答案1
答案取决于使用的样式。假设样式casual
,您可以\makecvtitle
按以下方式重新定义(修改后的行用 表示% NEW
;您可以根据需要随意更改使用的长度):
\documentclass{moderncv}
\moderncvstyle{casual}
\moderncvcolor{blue}
\firstname{John}
\familyname{Doe}
\photo{ctanlion}
\makeatletter
\renewcommand*{\makecvtitle}{%
\recomputecvlengths%
\vspace*{-3em} % NEW
\makecvfooter%
\newbox{\makecvtitlepicturebox}%
\savebox{\makecvtitlepicturebox}{%
\ifthenelse{\isundefined{\@photo}}%
{}%
{%
\setlength\fboxrule{\@photoframewidth}%
\ifdim\@photoframewidth=0pt%
\setlength{\fboxsep}{0pt}\fi%
{\color{color1}\framebox{\includegraphics[width=\@photowidth]{\@photo}}}}}%
\usebox{\makecvtitlepicturebox}%
% name
\@initializelength{\makecvtitlepicturewidth}%
\settowidth{\makecvtitlepicturewidth}{\usebox{\makecvtitlepicturebox}}%
\parbox[b]{\textwidth-\makecvtitlepicturewidth}{%
\raggedleft\namefont{\color{color2!50}\@firstname} {\color{color2}\@familyname}}\\[-.35em]% alternate design: \MakeLowercase and no space
{\color{color2!50}\rule{\textwidth}{.25ex}}%
% optional title
\ifthenelse{\equal{\@title}{}}{}{\\[1.25em]\null\hfill\titlestyle{\@title}}\\[0em]% NEW original 2.5em
\ifthenelse{\isundefined{\@quote}}%
{}%
{{\null\hfill\begin{minipage}{\quotewidth}\centering\quotestyle{\@quote}\end{minipage}\hfill\null\\[2.5em]}}%
\par}% to avoid weird spacing bug at the first section if no blank line is left after \maketitle
\makeatother
\begin{document}
\makecvtitle
\section{Test Section}
\end{document}
答案2
如果你是 LaTeX 新手,不需要 Gonzalo 解决方案提供的灵活性(即可以修改标题中的任何内容),那么你可以简单地这样写
\usepackage[scale=0.8,top=2cm]{geometry}
在您的序言中(或修改类似于此行的行)。 确保scale=0.8
边距为页面的 80% 保留给整个正文(在和0.8
之间更改为您喜欢的任意值),而强制顶部边距精确(再次将其更改为您喜欢的任意值)。0.0
1.0
top=2cm
2cm
对于标题后的空格,只需输入
\vspace*{-5mm}
紧接着\maketitle
。这会产生 的负垂直空间5mm
,或您指定的任何其他长度,即,它将以下文本移回5mm
顶部。\section
如果您想减少部分之间的空间,也可以在 之前使用此技巧。