从 moderncv 中的部分中删除彩色框

从 moderncv 中的部分中删除彩色框

我想摆脱在开始新部分时出现的彩色框moderncv。我发现了这个问题这里但所提出的解决方案均未达到我的要求。

请参阅下面的 MWE,了解一份文档中的解决方案以供测试。

解决方案 1 很好地完成了它应该做的事情,将栏的颜色设置为白色。但它仍然存在并占用空间,而我更喜欢一种与“标准”部分非常相似的格式,部分名称向左对齐(但没有数字,因为这在简历中没有任何意义)。

解决方案 2 给出错误

未找到文件“moderncvcolorwhite.sty”。^^M

而且这个解决方案也只是将颜色设置为白色。

解决方案 3 不会给出错误,但也没有任何(可见的)效果。

我发现网站(遗憾的是德语)中各部分的定义moderncv.cls(小心,我不确定这有多可靠!)。我尝试简单地删除该框,但产生了很多错误。

有人可以帮忙吗?

平均能量损失

\documentclass[12pt,a4paper]{moderncv}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[left=2.4cm, right=1.0cm, top=1.7cm, bottom=2.0cm]{geometry}
\usepackage{comment}
\moderncvtheme[black]{classic}

%===============================================
%Solution 1
\begin{comment}
\definecolor{white}{rgb}{255,255,255}   % color white
\makeatletter                             % make @ a letter
\renewcommand*{\section}[1]{%
  \par\addvspace{2.5ex}%
  \phantomsection{}% reset the anchor for hyperrefs
  \addcontentsline{toc}{section}{#1}%
  \parbox[t]{\hintscolumnwidth}{\strut\raggedleft\raisebox{\baseletterheight}{\color{white}\rule{\hintscolumnwidth}{0.95ex}}}%
  \hspace{\separatorcolumnwidth}%
  \parbox[t]{\maincolumnwidth}{\strut\sectionstyle{#1}}%
  \par\nobreak\addvspace{1ex}\@afterheading}% to avoid a pagebreak after the heading
\makeatother
\end{comment}

%====================================================
%Solution 2
%\begin{comment}
\AtBeginDocument{%
\definecolor{white}{rgb}{1,1,1}
}
\moderncvcolor{white}
%\end{comment}

%=================================================
%Solution 3
%\begin{comment}
\usepackage{etoolbox}% http://ctan.org/pkg/etoolbox
\patchcmd{\section}% <cmd>
  {\strut}% <search>
  {\strut\renewcommand{\raisebox}[2]{}}% <replace>
  {}{}% <success><failure>
%\end{comment}


%=======================================
%Snippet from moderncv.cls
\begin{comment}
\newcommand*{\section}[1]{%
    \vspace*{2.5ex \@plus 1ex \@minus .2ex}%
  \phantomsection{}% reset the anchor for hyperrefs
  \addcontentsline{toc}{part}{#1}%
  \parbox[m]{\hintscolumnwidth}{\raggedleft\hintfont{\color{sectionrectanglecolor}\rule{\hintscolumnwidth}{1ex}}}%
  \hspace{\separatorcolumnwidth}%
  \parbox[m]{\maincolumnwidth}{\sectionstyle{#1}}\\[1ex]}
\end{comment}
%====================================

\firstname{Homer Jay}
\familyname{Simpson}
\title{Curriculum Vitae}
\address{742 Evergreen Terrace}{Springfield}
\mobile{1234/56789}
\email{[email protected]}
\begin{document}
  \makecvtitle

\section{Personal Data}
  \cvitem{Family status}{married}
  \cvitem{Nationality}{US-American}
  \cvitem{Date of birth}{1956-05-12}
  \cvitem{Place of birth}{Springfield}

\section{Education}
  \cventry{1960 -- 1970}{Elementary School}{}{}{}{}


  \vfill
  Homer Jay Simpson\\
  Springfield, \today
\end{document}

答案1

嗯,这里的问题是moderncv设计有第一列和第二列(参见以下生成的 pdf 中的红线)。

你想要做的是彻底破坏好的设计。我会不是推荐这个。

为了解决这个问题,您可以定义以下新命令\mysection

\newcommand*{\mysection}[1]{%
  \vspace{2.5ex}% \@plus 1ex \@minus .2ex}%
  \phantomsection{}% reset the anchor for hyperrefs
  \addcontentsline{toc}{part}{#1}%
  % ... deleted
  \parbox[m]{\textwidth}{\sectionstyle{#1}}\\[1ex]}

请注意第二行和最后一行的变化,还请看到我删除了一些行。

使用以下完整的 MWE

\documentclass[12pt,a4paper]{moderncv}

\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[%
  left=2.4cm, right=1.0cm, top=1.7cm, bottom=2.0cm,
  showframe
]{geometry}

\moderncvtheme[black]{classic} % banking classic casual

%===============================================
%Solution 1
\definecolor{white}{rgb}{255,255,255}   % color white
\makeatletter                             % make @ a letter
\renewcommand*{\section}[1]{%
  \par\addvspace{2.5ex}%
  \phantomsection{}% reset the anchor for hyperrefs
  \addcontentsline{toc}{section}{#1}%
  \parbox[t]{\hintscolumnwidth}{\strut\raggedleft\raisebox{\baseletterheight}{\color{white}\rule{\hintscolumnwidth}{0.95ex}}}%
  \hspace{\separatorcolumnwidth}%
  \parbox[t]{\maincolumnwidth}{\strut\sectionstyle{#1}}%
  \par\nobreak\addvspace{1ex}\@afterheading}% to avoid a pagebreak after the heading
\makeatother

\newcommand*{\mysection}[1]{%
  \vspace{2.5ex}% \@plus 1ex \@minus .2ex}%
  \phantomsection{}% reset the anchor for hyperrefs
  \addcontentsline{toc}{part}{#1}%
  \parbox[m]{\textwidth}{\sectionstyle{#1}}\\[1ex]}


\firstname{Homer Jay}
\familyname{Simpson}
\title{Curriculum Vitae}
\address{742 Evergreen Terrace}{Springfield}
\mobile{1234/56789}
\email{[email protected]}


\begin{document}
\makecvtitle

\section{Personal Data}
\cvitem{Family status}{married}
\cvitem{Nationality}{US-American}
\cvitem{Date of birth}{1956-05-12}
\cvitem{Place of birth}{Springfield}

\section{Education}
\cventry{1960 -- 1970}{Elementary School}{}{}{}{}

\vspace{2.5ex}
\mysection{Personal Data to test a longer line to see what happens if the line breaks into two lines}
\cvitem{Family status}{married}
\cvitem{Nationality}{US-American}
\cvitem{Date of birth}{1956-05-12}
\cvitem{Place of birth}{Springfield}

\mysection{Education}
\cventry{1960 -- 1970}{Elementary School}{}{}{}{}

\vfill
Homer Jay Simpson\\
Springfield, \today
\end{document} 

showframe您可以在生成的 pdf 中看到生成的打字区域(选项):

生成的 pdf

看起来不太好看,我建议使用其他类或使用article自己的设计...

相关内容