如何使用指令格式化描述標籤(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{}乳膠中的命令\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}

如果需要,參數 to 也\funcitem可以包含在|...|(或任何其他一對相同的字符,如通常的\verb)中,如示例所示。對於 也一樣\code

在此輸入影像描述

相關內容