CV シンボルの位置合わせの問題

CV シンボルの位置合わせの問題

ベースラインとして以下のテンプレートを使用しています:

そしてこのセクション(上記のテンプレートを変更した私のコードからの出力):

ここに画像の説明を入力してください

これは次のように構築されています:

\cvsection{Professional Experience}
\cveventt{Role name}{Company name}{jan 2020 - feb 2021}{City}
\begin{itemize}
    \item Responsabilities
\end{itemize}

\divider

\cveventt{Role name 2}{Very long company name}{jan 2020 - feb 2021}{Long name city}
\begin{itemize}
    \item Responsabilities
\end{itemize}
\divider

コマンド\cvevent

\newcommand{\cveventt}[4]{%
  {\large\color{emphasis}#1\par}
  \smallskip\normalsize
  \ifstrequal{#2}{}{}{
  \textbf{\color{accent}#2}}
  \ifstrequal{#3}{}{}{{\small\makebox[0.5\linewidth][c]
  {\faCalendar\hspace{0.5em}#3}}}%
  \ifstrequal{#4}{}{}{{\small\makebox[0.5\linewidth][l]
  {\faMapMarker\hspace{0.5em}#4}}}\par
  \medskip\normalsize
}

テキストの長さに関係なく、日付と都市を揃えようとしています。都市は右中央に、日付は中央中央に配置する必要があります。これは、現在、会社名の長さによって決まるためです。具体的には、次のことを試みています。

  • 都市シンボルは右中央の特定の位置から始まるため、都市名がどれだけ長くても、常に同じ位置から始まります。
  • カレンダー シンボルは中央の特定の位置から始まるため、カレンダーの日付/名前がどれだけ長くても、すべての日付は同じ位置から始まりま す。
  • 日付の長さによって都市記号の位置が変わることはなく、会社名によってカレンダー記号の位置も都市記号の位置も変わることはありません。

コマンドの構造を考えると、これは可能でしょうか\cvevent?

答え1

parboxes を使用するには、このコードを試してください\cveventtt。parboxes の相対的なサイズを好みに合わせて調整します。

1つの

\newcommand{\cveventtt}[4]{%
    {\large\color{emphasis}#1\par}
    \smallskip\normalsize
    \ifstrequal{#2}{}{}{%
    \parbox[t]{0.3\columnwidth}{\textbf{\color{accent}#2}}\hfill
    }
    \ifstrequal{#3}{}{}{%
        \small\faCalendar\hspace{0.5em}\parbox[t]{\dimexpr0.3\columnwidth-1em}{#3}\hfill
    }%
    \ifstrequal{#4}{}{}{%
        \small\faMapMarker\hspace{0.5em}\parbox[t]{\dimexpr0.2\columnwidth-1em}{#4}
    }\par
    \medskip\normalsize
}

このコードにより、ボックスとボックス間のスペースが簡単に確認できます。

\newcommand{\cveventtt}[4]{%
\fboxsep=0pt % tight fboxes
{\large\color{emphasis}#1\par}
\smallskip\normalsize
\ifstrequal{#2}{}{}{%
    \fbox{\parbox[t]{0.3\columnwidth}{\textbf{\color{accent}#2}}}\hfill
}
\ifstrequal{#3}{}{}{%
    \fbox{\small\faCalendar\hspace{0.5em}\parbox[t]{\dimexpr0.3\columnwidth-1em}{#3}}\hfill
}%
\ifstrequal{#4}{}{}{%
    \fbox{\small\faMapMarker\hspace{0.5em}\parbox[t]{\dimexpr0.2\columnwidth-1em}{#4}}
}\par
\medskip\normalsize
}

b

3 つのボックスがあります。この例では、最初のボックスの幅は0.3\columnwidth、2 番目のボックスの幅0.3\columnwidthは 、3 番目のボックスの幅はです0.2\columnwidth。残りの幅 ( まで) は、 2 つのボックス(それぞれ)2\columnwidthによって均等に分配されます。\hfill0.1\columnwidth

したがって、全体の幅が1になるように個々のボックスの幅を変更したり、次のように固定スペースに\columnwidth置き換えたりすることができます。 \hfill

\hspace{0.06\columnwidth}1つ目と\hspace{0.14\columnwidth}2つ目について。

列幅の割合を使用して幅を設定すると、合計がちょうど 1 列の幅であることを確認しやすくなります。

関連情報