如何使用命令 (enumitem) 格式化描述标签

如何使用命令 (enumitem) 格式化描述标签

我必须根据应该用来描述C功能的描述来制作列表环境。

例如:

% !TeX program = lualatex

\documentclass[11pt]{report}
\usepackage{enumitem}
\usepackage{minted}

\NewDocumentCommand{\code}{m}{\texttt{#1}}

\newlist{funcDescription}{description}{1}
\setlist[funcDescription, 1]{style=nextline, font=\mdseries\ttfamily, align=left}

\begin{document}

    \begin{funcDescription}
        \item[int printf(const char * format, ...)]
            Writes the \code{C} string pointed by format to the standard output
            (stdout). If format includes format specifiers (subsequences
            beginning with \code{\%}), the additional arguments following
            format are formatted and inserted in the resulting string replacing
            their respective specifiers.
    \end{funcDescription}
    
\end{document}

它产生了

在此处输入图片描述

但我想将\mintinline命令应用于\item[]参数。另外,我想将动词文本传递给\item[]and\code{}参数。

因此存在以下问题:

  1. 如何将某些命令应用到funcDescription项目\setlist
  2. 如何使用将动词文本传递给\code{}latex 中的命令\NewDocumentCommand{}{}{}
  3. 如何将动词文本传递给的参数\item[]

texdoc研究没有帮助)

答案1

这用来\funcitem代替\item,这似乎不会造成太大的麻烦。

\documentclass[11pt]{report}
\usepackage{enumitem}
\usepackage{minted}

\newmintinline[code]{C}{}

\newlist{funcDescription}{description}{1}
\setlist[funcDescription, 1]{
  style=nextline,
  font=\mdseries\ttfamily,
  align=left,
}
\NewDocumentCommand{\funcitem}{v}{\item[\code|#1|]}

\begin{document}

\begin{funcDescription}
  \funcitem{int printf(const char * format, ...)}
    Writes the \code{C} string pointed by format to the standard output
    (stdout). If format includes format specifiers (subsequences
    beginning with \code|%|), the additional arguments following
    format are formatted and inserted in the resulting string replacing
    their respective specifiers.
  \funcitem|printf(%d,argument_list)|
    This is just to show how to do with \code|%|
\end{funcDescription}
    
\end{document}

如果需要,也\funcitem可以将 的参数括在 中|...|(或任何其他一对相等的字符,与 的通常情况一样\verb),如示例中所示。 也一样\code

在此处输入图片描述

相关内容