我想改变主题moderncv
casual
:
- 图片下方或“Persönliches”上方的空间太多...图片应直接位于第一个块的右侧。
- 我希望“Lebenslauf”位于线的左侧或中间......但不位于右侧......
我尝试了一下更改标题,但没有完全成功。而且我认为标题中有很多内容并不是真正需要的。
有人可以给我提示吗?
谢谢
\documentclass[a4paper,11pt]{moderncv}
\usepackage[scale=0.75,tmargin=2.0cm,right=2.8cm,left=2.5cm,bmargin=2.7cm]{geometry}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{paralist}
\usepackage{lmodern}
\moderncvtheme[red]{casual}
\nopagenumbers{}
\usepackage[scale=0.75]{geometry}
\renewcommand*{\titlefont}{\LARGE\mdseries\upshape}
\makeatletter
\renewcommand*{\makecvtitle}{
\recomputecvlengths
\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}}}}}
\hfill%\usebox{\makecvtitlepicturebox}%
\@initializelength{\makecvtitlepicturewidth}
\settowidth{\makecvtitlepicturewidth}{\usebox{\makecvtitlepicturebox}}%
\parbox[b]{\textwidth-\makecvtitlepicturewidth}{
\raggedleft\namefont{\color{color2!50}\textsf{\@firstname}} {
\color{color2}\textsf{\@familyname}}}\\ [-.35em]
{\color{color2!50}\rule{\textwidth}{.25ex}}%
\ifthenelse{\equal{\@title}{}}{}{\\[1.25em]\null\titlestyle{\@title}}
\hfill\smash{\raisebox{\dimexpr-\ht\makecvtitlepicturebox+\baselineskip \relax}{
\usebox{\makecvtitlepicturebox}}}\\[0.5em]
\ifthenelse{\isundefined{\@quote}}%
{}
{{\null\hfill\begin{minipage} {\quotewidth}\centering \quotestyle{\@quote}\end{minipage}\hfill\null\\[2.5em]}}
\par}%
\makeatother
\setlength{\hintscolumnwidth}{3.5cm}
\name{}{Lebenslauf}
\photo[110pt][0.0pt]{picture.jpg}
\title{~}
\begin{document}
\maketitle
\section{Persönliches}
\cvitem{Name}{-------------}
\cvitem{Adresse}{--------------------------}
\cvitem{Handy}{0176 / 0000 0000}
\cvitem{E-Mail}{[email protected]}
\cvitem{Geburtsdatum}{40. Dezember 1900}
\cvitem{Geburtsort}{Berlin}
\cvitem{Nationalität}{Deutsch}
\section{Promotion}
\end{document}
答案1
你问了两件事:
- 图片下方或“Persönliches”上方的空间太多...图片应直接位于第一个块的右侧。
- 我希望“Lebenslauf”位于线的左侧或中间......但不位于右侧......
在这种情况下,要获得您想要的东西,一个简单的方法是使用包设置照片,textpos
如下所示:
\usepackage[absolute,overlay]{textpos}
...
% in cm: (length from right, length from above)
\begin{textblock}{0}(8.5,2.6) % <=======================================
\includegraphics[width=110pt]{example-image-a}\par
\end{textblock}
请根据您自己的需要更改给定的宽度和图像放置width=110pt
位置(以厘米为单位)。这最终取决于所使用的图像以及您希望它位于何处...(8.5,2.6)
因为您没有告诉我们您是否正在使用字母(那么您可能需要使用给定的变量moderncv
)我更改了您现在可以使用的标题代码:
\name{Max}{Musterfrau}
%\photo[110pt][0.0pt]{example-image-a} % <============================!!
\title{Lebenslauf} % <==================================================
你看我评论了的定义\photo
,在你的情况下它是不需要的。
因为您的愿望完全破坏了样式的布局,casual
我们现在可以缩短代码以仅生成想要的标题(请查看字体更改!)和规则(旧代码中有很多新行,导致标题和简历第一部分之间的距离很大):
\renewcommand*{\titlefont}{\fontsize{34}{36}\mdseries\upshape} % <======
\makeatletter
\renewcommand*{\makecvtitle}{%
\recomputecvlengths
%\makecvfooter%
\newbox{\makecvtitlepicturebox}
\savebox{\makecvtitlepicturebox}{}
\@initializelength{\makecvtitlepicturewidth}
\settowidth{\makecvtitlepicturewidth}{\usebox{\makecvtitlepicturebox}}%
\parbox[b]{\textwidth-\makecvtitlepicturewidth}{%
\raggedright\titlestyle{\@title}\\[-.35em]
{\color{color2!50}\rule{\textwidth}{.25ex}}%
\\[2ex]% <==================== change to your needs: space title-cv
}%
}
% \par}}%
\makeatother
您可以通过将代码更改为数字来更改标题/规则和简历第一部分(Persönliches)之间的距离\\[2ex]
,例如您需要的\\[2cm]
。
完整的 MWE
\documentclass[a4paper,11pt]{moderncv} % version 2.0.0
\usepackage[scale=0.75]{geometry}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
% \moderncvtheme[red]{casual} % <=========================== old version
\moderncvstyle{casual} % <=============================================
\moderncvcolor{red}
\nopagenumbers{}
\renewcommand*{\titlefont}{\fontsize{34}{36}\mdseries\upshape} % <======
\makeatletter
\renewcommand*{\makecvtitle}{%
\recomputecvlengths
%\makecvfooter%
\newbox{\makecvtitlepicturebox}
\savebox{\makecvtitlepicturebox}{}
\@initializelength{\makecvtitlepicturewidth}
\settowidth{\makecvtitlepicturewidth}{\usebox{\makecvtitlepicturebox}}%
\parbox[b]{\textwidth-\makecvtitlepicturewidth}{%
\raggedright\titlestyle{\@title}\\[-.35em]
{\color{color2!50}\rule{\textwidth}{.25ex}}%
\\[2ex]% <==================== change to your needs: space title-cv
}%
}
% \par}}%
\makeatother
\setlength{\hintscolumnwidth}{3.5cm}
\name{Max}{Musterfrau}
%\photo[110pt][0.0pt]{example-image-a} % <============================!!
\title{Lebenslauf} % <==================================================
\usepackage[absolute,overlay]{textpos} % <==============================
\begin{document}
\makecvtitle
% in cm: (length from right, length from above)
\begin{textblock}{0}(8.5,2.6) % <=======================================
\includegraphics[width=110pt]{example-image-a}\par
\end{textblock}
\section{Persönliches}
\cvitem{Name}{-------------}
\cvitem{Adresse}{--------------------------}
\cvitem{Handy}{0176 / 0000 0000}
\cvitem{E-Mail}{[email protected]}
\cvitem{Geburtsdatum}{40. Dezember 1900}
\cvitem{Geburtsort}{Berlin}
\cvitem{Nationalität}{Deutsch}
\section{Promotion}
\end{document}
给出了期望的结果: