Я используюшаблон резюмеиспользую класс 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}
after \end{list}
в коде for rSection
, но это приведет к действительно уродливому cv. Поэтому я не показываю код, который делает это...
Пожалуйста, посмотрите, что я удалил оба вызова 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
определенная выше, создаст невидимый список (после считывания своего аргумента), и этот список даст некоторое дополнительное пространство.
Чтобы контролировать эти пространства, вам необходимо:
- Для вертикального пространства внутри всех разделов документа (и между их элементами):
Измените \parskip
длину с помощью команды:
\setlength{\parskip}{4pt} % Replace your desired length here
И это необходимо сделать до того, как команда \begin{document}
вступит в силу во всех разделах документа.
Для вертикального пространства внутри всехкаждый конкретныйраздел (и между их пунктами):
\parskip 4pt % Замените здесь желаемую длину
И это происходит сразу после того, как команда \begin{rSection}{<Name of section>}
вступает в силу только в определенном разделе.
Наконец, чтобы контролировать расстояние между элементами,
rSubsections
вы можете дополнительно изменить длину\itemsep
с помощью команды:\itemsep 3pt % Замените здесь желаемую длину
сразу после \begin{rSubsection}{<Name of subsection>}{<Some stuff>}{<Some stuff>}{<Some stuff>}
... ( rSubsection
среда принимает аргументы и ее среда также является списком)
Внимание:Следующая часть важнее всех вышеперечисленных решений:
Как упоминалось в другом ответе, то documentclass
, что вы использовали, действительно устарело и больше не должно использоваться. Вы можете увидеть это в шаблоне, который содержит код code как:
\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}
но это не единственная проблема (не для вашего выбора и даже не для шаблона).
Самое важное то, что вы получили свой шаблон резюме по ссылке, которую вы предоставили, хотя на самом деле настоящий шаблон на этом сайте —здесь:
На обороте страницы шаблоны резюме можно найти по ссылке:
https://www.overleaf.com/latex/templates/tagged/cv
и ссылка, которую вы использовали:
https://www.overleaf.com/gallery/tagged/cv
это просто место, куда любой может добавить свое резюме, даже если он не знает, как пользоваться шаблоном.
Наконец, проверьте внутриtex.stackexchangeвопрос о доступных шаблонах для резюме и имейте в виду, что в большинстве случаев важнее использовать шаблон, который вы понимаете (по крайней мере, как им пользоваться), чем использовать сложный шаблон, который, как кажется, дает «красивый» результат, но требует хаков даже для изменения небольших свойств выходных данных.
Добро пожаловать в TeX.SX!