다중 사용을 위한 목록 정의

다중 사용을 위한 목록 정의

문서에서 미리 정의된 쉼표로 구분된 목록의 용도를 여러 번 변경하고 싶습니다. 최소한의 예로 예상대로 작동하지 않는 다음 코드를 살펴보십시오.

\documentclass{article}

\usepackage{xparse}

\newcommand*{\listtotestA}{
    A,
    B,
    C
}

\def\listtotestB{
    D,
    E,
    F
}

\ExplSyntaxOn
\NewDocumentCommand \teslist{m}{
    \clist_map_inline:nn{#1}{
        Output: ##1 \\
    }
}
\ExplSyntaxOff

\begin{document}

\teslist{\listtotestA}
\\
\teslist{\listtotestB}

\end{document}

대신에

Output: A
Output: B
Output: C

Output: D
Output: E
Output: F

그것은 생산한다

Output: A,B,C

Output: D,E,F

내가 무엇을 놓치고 있나요?

답변1

접근 listofitems방식.

\documentclass{article}

\usepackage{listofitems}

\newcommand*{\listtotestA}{
    A,
    B,
    C
}

\def\listtotestB{
    D,
    E,
    F
}

\newcommand\teslist[1]{%
    \readlist*\mylist{#1}%
    \foreachitem\x\in\mylist{Output: \x\\}%
}

\begin{document}

\noindent\teslist{\listtotestA}

\noindent\teslist{\listtotestB}

\end{document}

여기에 이미지 설명을 입력하세요

관련 정보