基线网格上第一列具有固定宽度的三列线

基线网格上第一列具有固定宽度的三列线

我正在尝试格式化简历中的工作标题,以满足以下限制:

  • company name对齐并占据固定宽度,例如 2.5 厘米。
  • 它们job titles全部都左对齐。
  • 年份在 右对齐\textwidth
  • 文本位于基线网格上。

就像这样:

Work Experience

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

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

这可以通过如下表格实现用于简历输入的三个固定宽度列。表格的问题在于,与基线网格对齐比使用单行段落更困难。

以下是我想写的内容:

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

完整上下文和 MWE:

我正在使用带有两列基线网格的 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

最小工作示例(Context Mkiv)

答案1

此时表格是不必要的,而且感觉有点多余。您自己已经提出了一个解决方案,即

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

然后你注意到,这个被分割成多行。原因是在 TeX 中,一个框不会开始一个新段落。hbox 将被附加到现有的垂直列表中,并且只有字母J»Job Title« 的字母才会开始段落。因此,你必须手动在框之前开始段落。\dontleavehmode如果你想要隐藏缩进框(如果你有非零的\parindent),你可以使用 来做到这一点\noindent

此外,我推测您希望水平框的内容左对齐。这可以通过在内容右侧插入填充粘连轻松实现,即\hbox to 4cm{Bar Company\hfil}。否则,单词间空间将被拉伸,使得内容填满整个框,在本例中这可能不是所希望的。(此外,您还会在日志中收到有关水平框未满的消息)。

\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

在此处输入图片描述

相关内容