带有分隔符的水平项目列表,其中一个项目位于另一个项目之下

带有分隔符的水平项目列表,其中一个项目位于另一个项目之下

我想在简历中写一段技能,输出内容如下-

个人属性

独立 | 好奇 | 适应性强 | 问题解决者

技术能力

Java | Python | AWS

我想要实现上述输出

\begin{skills}

\skilltype{Personla Attributes}
    \begin{skilllist}
    
    \item{Independent}
    \item{curious}
    \item{adaptable}

    \end{skilllist}
.
.
.
.
\begin{skills}

我该如何编写 .cls 文件以使其之间有 \textpipes?Ps 我不想像Curious \textpipe Adaptableetc那样编写它。

此外

如果可能的话,一个解决方案将是很好的,其中项目均匀分布,并且它们之间的间距相应地自动生成

答案1

使用inline列表:

\documentclass{article}
\usepackage[inline]{enumitem}

\newlist{skillset}{enumerate*}{1}
\setlist[skillset]{label={}, afterlabel={}, itemjoin={{ \textbar{} }}}

\begin{document}
\begin{skillset}
  \item Java
  \item Python
  \item AWS
\end{skillset}
\end{document}

在此处输入图片描述

要使列表占据整行,请添加\hfillitemjoin。显示的边距:

\documentclass{article}
\usepackage[inline]{enumitem}
\usepackage[showframe]{geometry} % to show margins
\newlist{skillset}{enumerate*}{1}
\setlist[skillset]{label={}, afterlabel={}, itemjoin={{\hfill \textbar{} \hfill}}}
\begin{document}
\noindent\begin{skillset}
  \item Java
  \item Python
  \item AWS
\end{skillset}
\end{document}

在此处输入图片描述

答案2

\NewDocumentEnvironment{skilllist}{}
   {%
     \RenewDocumentCommand{\item}{m} % ❶
        {%
          #1%
          \RenewDocumentCommand{\item}{m} % ❷
            { \textpipe\ ##1}% ❸
        }%
   }
   {%
     \par % ❹
   }

\begin{skilllist}定义中,我们重新定义\item❶ 以接受单个参数,即您的技能。在该重新定义中,我们将\item再次重新定义 ❷,以便在第一个之后,\item每个项目都会打印 | 以将其与前面的项目分开(| 前后有空格)。还请注意##1在内部重新定义中的使用,以便 LaTeX 知道我们指的是已定义命令的定义,而不是外部命令。

我没有做其他真正的格式化,因为除了在定义中结束段落❹之外,您可能会自己处理它\end{skilllist},但您显然可以添加任何必要的附加格式(例如,将每个技能括起来\mbox以防止在技能中间出现换行符)。

相关内容