我想编写一个列表,其中同一个单词在某些情况下以粗体显示,而在其他情况下则不显示。
具体来说,列表的结构为一组 ok 键值对,如下所示:
键1:值1
关键2:值2
...
同一个单词可以作为键或值出现。我希望所有键(和冒号)都以粗体显示,而值则不显示。
我怎样才能在列表中实现这个结果?
非常感谢你!
答案1
如果该列表仅应包含键=值对,那为什么还需要列表呢?那难道不能只是一个description
环境吗?
\documentclass[]{article}
\usepackage{enumitem} % allows more control over list formatting
\newcommand*\keyvallistingFORMAT[1]{\normalfont\textbf{#1}:}
\begin{document}
\begin{description}[format=\keyvallistingFORMAT]
\item[key1] value1
\item[key2] value2
\item[key3] value3
\item[value1] key1
\end{description}
\end{document}
如果您想要更简洁的输入格式,您可以使用以下格式:
\documentclass[]{article}
\usepackage{enumitem} % allows more control over list formatting
\usepackage{expkv}
\newcommand\keyvallisting[1]
{%
\begin{description}[format=\keyvallistingFORMAT]
\ekvparse\keyvallistingKEY\keyvallistingKEYVAL{#1}
\end{description}%
}
\newcommand*\keyvallistingKEY[1]{\item[{#1}]}
\newcommand*\keyvallistingKEYVAL[2]{\item[{#1}] #2}
\newcommand*\keyvallistingFORMAT[1]{\normalfont\textbf{#1}:}
\begin{document}
\keyvallisting{key1=value1,key2=value2,key3=value3,value1=key1}
\end{document}
两者都会导致