我想在简历中写一段技能,输出内容如下-
个人属性
独立 | 好奇 | 适应性强 | 问题解决者
技术能力
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 Adaptable
etc那样编写它。
此外
如果可能的话,一个解决方案将是很好的,其中项目均匀分布,并且它们之间的间距相应地自动生成
答案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}
要使列表占据整行,请添加\hfill
到itemjoin
。显示的边距:
\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
以防止在技能中间出现换行符)。