我现在的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&%
\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&%
\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&%
\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&%
\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)。
现在字母已对齐。但是,有些地方的字母排版是右对齐的。如果您想要这种行为,您可以保留右对齐(请参阅 2. 以了解关于 itemize items 的解决方案),也可以在环境中手动设置字母文本
flushleft
。并不是说不能从右对齐模式改回对齐段落布局。出现换行是因为表格太宽。它被设置为
\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&%
\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}