moderncv:没有职位名称的 cventry

moderncv:没有职位名称的 cventry

我现在的cventry样子是这样的:

\item{\cventry{year}{}{company}{location}{} ... }

我不需要第二行,但是它仍然占用空间,看起来很糟糕,因为标题不是垂直居中(与左边的项目符号相比):

在此处输入图片描述

有什么想法可以让它看起来更好吗?提前谢谢您。

更新:我用过这个模板:https://www.overleaf.com/articles/physics/vnrpxccpnqkw#.WH-HWhsrLmE

梅威瑟:

\documentclass[11pt,a4paper,sans]{moderncv}
\moderncvstyle{banking}
\moderncvcolor{blue}
\usepackage[utf8]{inputenc}
\usepackage[scale=0.75]{geometry}

\usepackage{import}
\name{Isaiah}{Becker-Mayer}
\title{Physics}
\begin{document}
\section{Previous Employment}
\vspace{6pt}
\begin{itemize}

\item{\cventry{Date}{}{Company}{Location}{}{\vspace{3pt} ... }}

\end{itemize}
\end{document}

最大能量损失 2:

在@Martin 提供的解决方案中添加一封求职信后,它似乎坏了。

在此处输入图片描述

\documentclass[11pt,a4paper,sans]{moderncv}
\moderncvstyle{banking}
\moderncvcolor{blue}
\usepackage[utf8]{inputenc}
\usepackage[scale=0.75]{geometry}

\renewcommand*{\cventry}[7][.25em]{
  \begin{tabular*}{\maincolumnwidth}{l@{\extracolsep{\fill}}r}%
    {\bfseries #4, #5} & {\itshape #2}\\%
  \end{tabular*}%
  \ifx&#7&%
  \else{\\%
    \begin{minipage}{\maincolumnwidth}%
      \small#7%
    \end{minipage}}\fi%
  \par\addvspace{#1}}

\usepackage{import}

\recipient{HR Departmnet}{Corporation\\123 Pleasant Lane\\12345 City, State} % Letter recipient
\date{\today} % Letter date
\opening{Dear Sir or Madam,} % Opening greeting
\closing{Sincerely yours,} % Closing phrase
\enclosure[Anhang]{Lebenslauf} % List of enclosed documents

\name{Isaiah}{Becker-Mayer}
\title{Physics}
\begin{document}

\makelettertitle % Print letter title

\section{Previous Employment}
\vspace{6pt}
\begin{itemize}

\item{\cventry{Date}{}{Company}{Location}{}{\vspace{3pt} ... }}

\end{itemize}
\end{document}

答案1

您可以按照以下风格来看一下您的 cventry 的定义:

\renewcommand*{\cventry}[7][.25em]{
  \begin{tabular*}{\maincolumnwidth}{l@{\extracolsep{\fill}}r}%
    {\bfseries #4} & {\bfseries #5}\\%
    {\itshape #3\ifthenelse{\equal{#6}{}}{}{, #6}} & {\itshape #2}\\%
  \end{tabular*}%
  \ifx&#7&%
  \else{\\%
    \begin{minipage}{\maincolumnwidth}%
      \small#7%
    \end{minipage}}\fi%
  \par\addvspace{#1}}

如您所见,前两行设置为表格。您可以重新定义样式以省略表格并重新排列字段输出。如果您永远不需要第二行(参数 #3 和 #6),您可以完全删除它们,例如:

\renewcommand*{\cventry}[7][.25em]{
  \begin{tabular*}{\maincolumnwidth}{l@{\extracolsep{\fill}}r}%
    {\bfseries #4, #5} & {\itshape #2}\\%
  \end{tabular*}%
  \ifx&#7&%
  \else{\\%
    \begin{minipage}{\maincolumnwidth}%
      \small#7%
    \end{minipage}}\fi%
  \par\addvspace{#1}}

适应银行业务风格

如果您有时需要该条目类型,有时不需要该行,则可以为后者添加命令,否则使用标准 cventry。但是,您的布局会有些不一致。这取决于您,如果您觉得这样的事情令人不安。

您还可以切换到另一种样式,以便可以更轻松地省略该行。例如,我使用经典样式,并将 cventry 重新定义为以下内容(删除了一些硬编码的标点符号):

\renewcommand*{\cventry}[7][.25em]{%
  \cvitem[#1]{#2}{%
    {\bfseries#3}%
    \ifthenelse{\equal{#4}{}}{}{\newline{\slshape#4}}% ... into this one (without comma).
    \ifthenelse{\equal{#5}{}}{}{, #5}%
    \ifthenelse{\equal{#6}{}}{}{, #6}%
    \strut%
    \ifx&#7&%
      \else{\newline{}\begin{minipage}[t]{\linewidth}\small#7\end{minipage}}\fi}}

改编的古典风格


编辑:我添加了所有字母命令并将 cv 移至第二页。此外,cv 会获得一个标题,我在下面的 MWE 中调用它。显然,在调用 letterhead 时设置了一些东西,告诉 itemize 在后面直接插入换行符\item。不将 cventries 放在 itemize 环境中可以解决问题。

当切换到 cv pat by 时,moderncv 实际上应该恢复 header 和 body 的所有 (字母) 设置\makecvtitle。显然它没有。

由于您需要 itemize 环境,因此这里有另一个解决方案:我更改了命令\makeletterhead(由 调用\makelettertitle)来解决项目问题(其余部分是银行样式加载的内容)。在\raggedright开头之前注释 可以实现您想要的效果。请参阅下面的完整示例。


raggedright 上的更新:昨天晚些时候,我突然意识到 raggedright (1) 应该做什么,以及之后的换行符\item存在什么问题 (2)。

  1. 现在字母已对齐。但是,有些地方的字母排版是右对齐的。如果您想要这种行为,您可以保留右对齐(请参阅 2. 以了解关于 itemize items 的解决方案),也可以在环境中手动设置字母文本flushleft。并不是说不能从右对齐模式改回对齐段落布局。

  2. 出现换行是因为表格太宽。它被设置为\linewidth既不考虑缩进也不考虑项目的项目符号。你可以做的是减少表格的宽度(见下文,其中新宽度是手动确定的,而不是根据项目缩进确定的)。就我个人而言,我认为字母应该是两端对齐的,但使用这种方法,你可以随心所欲地决定。

我已将上述编辑注释改为参考以下示例。下面是使用所有讨论过的更改的更新示例。为了更简单地使用\cventry,我将其改为单独使用 itemize。

\documentclass[11pt,a4paper,sans]{moderncv}
\moderncvstyle{banking}
\moderncvcolor{blue}
\usepackage[utf8]{inputenc}
\usepackage[scale=0.75]{geometry}
\usepackage{blindtext}

\makeatletter
\renewcommand*{\makeletterhead}{%
  % recompute lengths (in case we are switching from letter to resume, or vice versa)
  \recomputeletterlengths%
  % sender block
  \makehead%
  \par%
   % recipient block
  \begin{minipage}[t]{.5\textwidth}
    \raggedright%
    \addressfont%
    {\bfseries\upshape\@recipientname}\\%
    \@recipientaddress%
  \end{minipage}
  % date
  \hfill% US style
%  \\[1em]% UK style
  \@date\\[2em]% US informal style: "January 1, 1900"; UK formal style: "01/01/1900"
  % opening
%   \raggedright% COMMENTED FOR JUSTIFIED LETTER BODY AND FULL WIDTH CVENTRY
  \@opening\\[1.5em]%
  % ensure no extra spacing after \makelettertitle due to a possible blank line
%  \ignorespacesafterend% not working
  \hspace{0pt}\par\vspace{-\baselineskip}\vspace{-\parskip}%
  }
\makeatother

\renewcommand*{\cventry}[7][.25em]{
    \begin{itemize}
        \item \begin{tabular*}{0.975\maincolumnwidth}{l@{\extracolsep{\fill}}r}%
        {\bfseries #4, #5} & {\itshape #2}\\%
      \end{tabular*}%
      \ifx&#7&%
      \else{\\%
        \begin{minipage}{\maincolumnwidth}%
          \small#7%
        \end{minipage}}\fi%
      \par\addvspace{#1}%
    \end{itemize}%
}

\recipient{HR Departmnet}{Corporation\\123 Pleasant Lane\\12345 City, State} % Letter recipient
\date{\today} % Letter date
\opening{Dear Sir or Madam,} % Opening greeting
\closing{Sincerely yours,} % Closing phrase
\enclosure[Anhang]{Lebenslauf} % List of enclosed documents

\name{Isaiah}{Becker-Mayer}
\title{Physics}
\begin{document}

\makelettertitle % Print letter title

\blindtext[1]

\makeletterclosing
\clearpage

\makecvtitle

\section{Previous Employment}
% \vspace{6pt}
\cventry{Date}{}{Company}{Location}{}{I did stuff there\newline and more stuff\newline and more stuff}
\cventry{Date}{}{Company}{Location}{}{I did stuff there}
\end{document}

相关内容