resume.cls 类中节前后的间距

resume.cls 类中节前后的间距

我正在使用简历模板使用类resume.cls,我想更改节前后的间距。目前标题和节之间的垂直距离太长。我尝试了该titlesec包,但\titlespacing没有更改文档中的任何内容。有人能帮我解决这个问题吗?提前谢谢!

节和标题之间的间距

\documentclass{resume}
\usepackage[left=0.4in,top=0.4in,right=0.4in,bottom=0.4in]{geometry} % Document margins
\usepackage{enumitem}
\usepackage{titlesec}
\newcommand{\tab}[1]{\hspace{.2667\textwidth}\rlap{#1}}
\newcommand{\itab}[1]{\hspace{0em}\rlap{#1}}
\name{XZ} % Your name
\address{123} % Your phone number and email

\usepackage{titlesec}

\begin{document}\small

\begin{rSection}{Education}
\setlength{\parskip}{0.5em}
{\bf xxx} \hfill {XXX} 
\\ Bachelor of Arts
\\Coursework 
{\bf Peking University, Beijing} \hfill {Sept.2013-Jun.2017}
\\ Bachelor of Arts
\\Coursework :  Econometrics
\end{rSection}
\end{document}

答案1

该类中用于操作距离的相关代码是

\usepackage[parfill]{parskip}
\def\sectionlineskip{\medskip} % The space above the horizontal line for each section 
\def\sectionskip{\medskip} % The space after the heading section

% Defines the rSection environment for the large sections within the CV
\newenvironment{rSection}[1]{ % 1 input argument - section name
  \sectionskip
  \MakeUppercase{\bf #1} % Section title
  \sectionlineskip
  \hrule % Horizontal line
  \begin{list}{}{ % List for each individual item in the section
    \setlength{\leftmargin}{1.5em} % Margin within the section
  }
  \item[]
}{
  \end{list}
}

改变距离的明显方法是同时使用定义的\sectionlineskip\sectionskip。例如,你可以将它们定义为0cm

\def\sectionlineskip{\vspace{0cm}}
\def\sectionskip{\vspace{0cm}}

这将为您提供以下 MWE 的结果(在我看来不是很漂亮),我进行了更改以使距离更清晰可见:

\documentclass{resume}

\usepackage[left=0.4in,top=0.4in,right=0.4in,bottom=0.4in]{geometry} % Document margins
\usepackage{enumitem}

\newcommand{\tab}[1]{\hspace{.2667\textwidth}\rlap{#1}}
\newcommand{\itab}[1]{\hspace{0em}\rlap{#1}}
\name{XZ} % Your name
\address{123} % Your phone number and email


\begin{document}

\small

text before rsection % <================================

\begin{rSection}{Education}
\setlength{\parskip}{0.5em}
{\bf xxx} \hfill {XXX} 
\\ Bachelor of Arts
\\Coursework 
{\bf Peking University, Beijing} \hfill {Sept.2013-Jun.2017}
\\ Bachelor of Arts
\\Coursework :  Econometrics
\end{rSection}

\def\sectionlineskip{\vspace{0cm}} % <==========================
\def\sectionskip{\vspace{0cm}} % <==============================

text before rsection % <========================================

\begin{rSection}{Education}
%\setlength{\parskip}{0.5em}
{\bf xxx} \hfill {XXX} 
\\ Bachelor of Arts
\\Coursework 
{\bf Peking University, Beijing} \hfill {Sept.2013-Jun.2017}
\\ Bachelor of Arts
\\Coursework :  Econometrics
\end{rSection}
\end{document}

以及生成的pdf:

在此处输入图片描述

如果您需要节省更多空间,您可以在代码中添加一个,\vspace{-0.5\baselineskip}但这会导致简历非常丑陋。所以我没有显示执行此操作的代码...\end{list}rSection

请注意,我删除了两个 package 调用titlesec。不要两次加载包。titlesec我所做的更改不需要包。

最后再说一句:

在我看来,你似乎想把你的简历放在一页纸上。比改变给定的排版(导致简历难看)更好的方法是重新措辞你的简历内容。再检查一下你可以省略哪些内容(试着以应该阅读你简历的人的身份思考:哪些是有用的信息,哪些是与工作无关的信息)。

答案2

关于要点的回答:

在模板的 resume.csv 文件中,用于创建这些“部分”的环境定义为:

% Defines the rSection environment for the large sections within the CV
\newenvironment{rSection}[1]{ % 1 input argument - section name
  \sectionskip
  \MakeUppercase{\bf #1} % Section title
  \sectionlineskip
  \hrule % Horizontal line
  \begin{list}{}{ % List for each individual item in the section
    \setlength{\leftmargin}{1.5em} % Margin within the section
  }
  \item[]
}{
  \end{list}
}

如您所见,环境以\sectionskip稍后使用代码定义的命令开始:

\def\sectionskip{\medskip}

(就在文件末尾)。

为了解决这个问题,你可以重新定义 \sectionskip 命令,例如:

\def\sectionskip{\vspace{1pt}}

(其中 1pt 是一个非常小的 - 几乎看不见的 - 长度)。

即使你放置在那里0pt甚至负长度,你会发现各部分之间的空间仍然足够大,因为rSection如上所述定义的环境将创建一个不可见的列表(读取其参数后),并且该列表将提供一些额外的空间。

要控制这些空间,您必须:

  1. 对于文档所有部分内的垂直空间(以及它们的项目之间):

\parskip使用命令更改长度:

\setlength{\parskip}{4pt} % Replace your desired length here

并且必须在命令\begin{document}在整个文档的各个部分生效之前完成此操作

  1. 对于所有内部的垂直空间每个具体部分(以及它们的项目之间):

    \parskip 4pt %在此处替换所需的长度

并且这条命令\begin{rSection}{<Name of section>}只在特定的部分生效。

  1. 最后,为了控制项目之间的空间,您可能需要使用以下命令rSubsections额外更改长度:\itemsep

    \itemsep 3pt %在此处替换您想要的长度

就在\begin{rSubsection}{<Name of subsection>}{<Some stuff>}{<Some stuff>}{<Some stuff>}... 之后(rSubsection环境需要参数并且它的环境也是一个列表)

注意力:以下部分比上述所有解决方案都重要:

正如另一个答案中提到的,documentclass您使用的确实已经过时了,不应再使用。您可以在包含代码的模板中看到它,例如:

\newenvironment{rSubsection}[4]{ % 4 input arguments - company name, year(s) employed, job title and location
 {\bf #1} \hfill {#2} % Bold company name and date on the right
 \ifthenelse{\equal{#3}{}}{}{ % If the third argument is not specified, don't print the job title and location line
  \\
  {\em #3} \hfill {\em #4} % Italic job title and location
  }\smallskip
  \begin{list}{$\cdot$}{\leftmargin=0em} % \cdot used for bullets, no indentation
   \itemsep -0.5em \vspace{-0.5em} % Compress items in list together for aesthetics
  }{
  \end{list}
  \vspace{0.5em} % Some space after the list of bullet points
}

\bf在此代码中,和命令的使用\em表明该模板是多年前创建的,并且从那时起就没有更新过。对此的更新可以使用以下命令替换这些命令:{\bfseries #1}\emph{#3}\hfill \emph{#4}但这不是唯一的问题(不是您的选择,甚至不是模板的问题)。

最重要的是,你从你提供的链接中获取了简历模板,而实际上这个网站上的真正模板是这里

在 overleaf cite 中,可以在以下链接找到简历模板:

https://www.overleaf.com/latex/templates/tagged/cv

您使用的链接是:

https://www.overleaf.com/gallery/tagged/cv

那只是一个任何人都可以添加简历的地方,即使并不真正知道如何使用模板。

最后,检查内部tex.stackexchange关于简历可用模板的问题,请记住,在大多数情况下,使用您理解的模板(至少如何使用它)比使用看似给出“漂亮”结果但需要黑客甚至更改输出的较小属性的复杂模板更重要。

欢迎来到 TeX.SX!

相关内容