如何修改这个自定义列表环境?

如何修改这个自定义列表环境?

我目前正在尝试微调我的简历,我想修改我拥有的自定义列表环境,但我不知道该怎么做。我可以强制使用我拥有的当前列表环境来获得所需的结果,但我很确定有一种比\hspace{\fill}\footnotesize{...}每次都手动指定更符合 LaTeX 的方式来实现我需要的结果。

考虑以下 MWE:

\documentclass[]{article}

\RequirePackage[left=1cm,top=1cm,right=1cm,bottom=1cm,nohead,nofoot]{geometry}

\newdimen\colsep \colsep=1em
\def\topbox#1#2{\vtop{\parindent=0pt \hsize=\dimexpr#1\relax #2}}
\def\entry#1#2#3#4{\par
   \vspace{5pt}\hbox{\topbox{1.75cm}{#1\raggedleft}\kern\colsep
         \topbox{\hsize-2\colsep-1.75cm}{{\bf#2}\hfill {\footnotesize#3}\endgraf#4\strut}}
   \smallskip
} 

\begin{document}

  \entry
    {2022}
    {Conference Title}
    {Something}
    {Paper 1\hspace{\fill}\footnotesize{Place1, year1}\\
    \normalsize{Paper 2}\hspace{\fill}\footnotesize{Place2, year2}}

\end{document}

它生成以下输出,我非常喜欢:

在此处输入图片描述

我想获得相同的输出,但使用代码在列表环境的定义中自动设置间距和字体大小,而不是手动设置,这样每个条目看起来都像这样:

  \entry
    {2022}
    {Conference Title}
    {Something}
    {{Paper 1}{Place1, year1}}\\
    {{Paper 2}{Place2, year2}}

我不知道如何修改当前的列表环境,以便像上面这样的更简单的输入代码生成所需的输出。有什么帮助吗?

答案1

你是指这样的吗?

\documentclass{article}
\usepackage[
  a4paper,
  left=1cm,
  top=1cm,
  right=1cm,
  bottom=1cm,
  nohead,
  nofoot
]{geometry}

\setlength{\parindent}{0pt}

\newcommand{\entry}[5]{%
  \par\addvspace{5pt}%
  \begingroup
  \leftskip=1.75cm
  \makebox[0pt][r]{\makebox[\leftskip][l]{#1}}% year
  \textbf{#2}% conference title
  \hfill{\footnotesize #3}% info
  \par\nopagebreak
  #4\par\pagebreak[0]\addvspace{5pt}
  \endgroup
}
\newcommand{\paper}[2]{#1\hfill{\footnotesize#2}\par\nopagebreak}

\begin{document}

\entry{2022}
  {Conference Title}
  {Something}
  {
   \paper{Paper 1}{Place1, year1}
   \paper{Paper 2}{Place2, year2}
  }

\end{document}

在此处输入图片描述

相关内容