クラス 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}afterを追加できますが、その結果、非常に見苦しい CV になります。そのため、これを行うコードは示しません...\end{list}rSection

パッケージの呼び出しを両方とも削除したことを確認してくださいtitlesec。パッケージを 2 回ロードしないでください。パッケージはtitlesec私が行った変更には必要ありません。

最後に一言:

私には、あなたは履歴書を 1 ページに収めようとしているように見えます。書体を変更する (その結果、見栄えの悪い履歴書になる) よりも、履歴書の内容を言い換える方がよいでしょう。省略できるものをもう一度確認してください (履歴書を読む人の立場で考えてみてください。何が役に立つ情報で、何が仕事にとって興味をそそらない情報かを考えてください)。

答え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 の CV テンプレートは次のリンクにあります:

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

使用したリンクは次のとおりです:

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

それは、テンプレートの使い方を実際に知らなくても、誰でも履歴書を追加できる場所です。

最後に、内部をチェックしますtex.stackexchange履歴書に使用できるテンプレートについての質問ですが、ほとんどの場合、「美しい」結果が得られるように見えるが、出力の小さなプロパティを変更するためにもハックが必要な複雑なテンプレートを使用するよりも、理解できるテンプレート (少なくとも使用方法がわかるテンプレート) を使用する方が重要であることに留意してください。

TeX.SXへようこそ!

関連情報