ベースライン グリッドの最初の列に固定幅を持つ 3 列の線

ベースライン グリッドの最初の列に固定幅を持つ 3 列の線

私は、次の制約を満たす履歴書の職務見出しをフォーマットしようとしています。

  • company name左揃えで、固定幅(例:2.5cm)を占めます。
  • これらはjob titlesすべて互いに左揃えになっています。
  • 年は で右揃えになります\textwidth
  • テキストはベースライン グリッド上に配置されます。

そのようです:

Work Experience

Bar Company        Job Title                 2017-present
Job description....

Foo Company        Job Title                    2015-2017
Job description....

これは、次の表で説明されているように可能です。履歴書入力用の固定幅の列が3つあります表の問題は、1 行の段落を使用する場合よりも、ベースライン グリッドに揃えるのが難しいことです。

私が書きたいのは次のようなことです:

\hbox to 4cm {Bar Company} Job Title \hfill 2017-present

完全なコンテキストと MWE:

2 つの列を持つベースライン グリッドで Context を使用しています。 \WorkHeadingおよび は\WorkHeadingTable関連するコマンドです。

\setuppapersize[letter]
\setuplayout[grid=yes]

\define\GoldenRatio{0.61996}
\defineparagraphs[GoldenColumns][n=2]
\setupparagraphs[GoldenColumns][1][width=\GoldenRatio\textwidth]
\define[3]\WorkHeading{#1 -- #2 \hfill #3}

\starttexdefinition WorkHeadingTable #1#2#3
  \startembeddedxtable[option=stretch,loffset=-1.8pt,roffset=-2.1pt]
    \startxrow
      \startxcell[width=4cm] #1 \stopxcell
      \startxcell #2 \stopxcell
      \startxcell \hfill #3 \stopxcell
    \stopxrow
  \stopembeddedxtable
\stoptexdefinition

\showgrid
\showframe

\starttext
\startGoldenColumns
Elon Musk
\blank[3*line]

Work Experience

\WorkHeading{Tesla}{CEO}{2016-present}
\startitemize
\item Nunc eleifend leo vitae magna. Mauris ac felis vel velit tristique
  imperdiet.  Vestibulum convallis, lorem a tempus semper, dui dui euismod elit,
  vitae placerat urna tortor vitae lacus.
\item Aliquam feugiat tellus ut neque.
\stopitemize

\WorkHeadingTable{Solar City}{CEO}{2012-present}
\startitemize
\item Nunc eleifend leo vitae magna. Aenean in sem ac leo mollis blandit.
\item Donec at pede.
\stopitemize

\GoldenColumns
[email protected]
\blank[3*line]
Rockets

Praesent augue. Nam vestibulum accumsan nisl.  Donec at pede.Praesent fermentum
tempor tellus.
\stopGoldenColumns
\stoptext

最小限の動作例 (コンテキスト Mkiv)

答え1

この時点でテーブルは不要であり、少しやり過ぎな感じもします。あなた自身がすでに解決策を提案しています。

\hbox to 4cm {Bar Company} Job Title \hfill 2017-present

次に、これが複数行に分割されることに気付きました。その理由は、TeX ではボックスは新しい段落を開始しないからです。hbox は既存の垂直リストに追加され、J段落を開始するのは「Job Title」の文字のみです。したがって、手動でボックスの前に段落を開始する必要があります。これを行うには、 または\dontleavehmode、インデント ボックスを抑制したい場合 ( がゼロ以外の場合\parindent) は を使用します\noindent

さらに、hbox の内容を左揃えにしたいとお考えだと思います。これは、内容の右側に充填グルーを挿入することで簡単に実現できます\hbox to 4cm{Bar Company\hfil}。つまり、 です。そうしないと、単語間のスペースが引き伸ばされて内容がボックス全体を埋め尽くしてしまいますが、これはおそらくこの場合は望ましくありません。(また、hbox が不足していることを示すメッセージがログに表示されます)。

\setuppapersize[letter]
\setuplayout[grid=yes]

\define\GoldenRatio{0.61996}
\defineparagraphs[GoldenColumns][n=2]
\setupparagraphs[GoldenColumns][1][width=\GoldenRatio\textwidth]
\define[3]\WorkHeading{%
  \dontleavehmode
  \hbox to 4cm{#1\hfil} #2 \hfill #3}

\showgrid
\showframe

\starttext
\startGoldenColumns
Elon Musk
\blank[3*line]

Work Experience

\WorkHeading{Tesla}{CEO}{2016-present}
\startitemize
\item Nunc eleifend leo vitae magna. Mauris ac felis vel velit tristique
  imperdiet.  Vestibulum convallis, lorem a tempus semper, dui dui euismod elit,
  vitae placerat urna tortor vitae lacus.
\item Aliquam feugiat tellus ut neque.
\stopitemize

\WorkHeading{Solar City}{CEO}{2012-present}
\startitemize
\item Nunc eleifend leo vitae magna. Aenean in sem ac leo mollis blandit.
\item Donec at pede.
\stopitemize

\GoldenColumns
[email protected]
\blank[3*line]
Rockets

Praesent augue. Nam vestibulum accumsan nisl.  Donec at pede.Praesent fermentum
tempor tellus.
\stopGoldenColumns
\stoptext

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

関連情報