\def를 사용하여 부울 true/false 값 출력 - 작업 패키지 "Resume" 함수의 사용법

\def를 사용하여 부울 true/false 값 출력 - 작업 패키지 "Resume" 함수의 사용법

부울 출력을 제공하기 위해 a(또는 이와 동등한 것)를 사용하려고 시도하고 있지만 \def그렇게 할 수 없습니다. 아래를 컴파일하면 다음 오류가 발생합니다.

\documentclass{amsart}
\usepackage{tasks}


\begin{document}

    \begin{tasks}(1)
        \task 1
        \task 2
        \end{tasks}

    \def \trueBool {true}

    \begin{tasks}[resume = \trueBool](1)
        \task 1
        \task 2
        \end{tasks}

\end{document}

물론 \trueBool다음과 같이 리터럴 'true' 값으로 바꾸면 \begin{tasks}[resume = true]예상대로 작동합니다.

이는 다른 조건이 다른 곳에서 true인 것을 기반으로 true/false 변수를 전달해야 하기 때문에 필요합니다.

누군가가 이 문제를 해결하는 방법을 알고 있기를 바랍니다.

답변1

자신만의 키를 정의할 수 있습니다.

\documentclass{amsart}
\usepackage{tasks}

\ExplSyntaxOn
\keys_define:nn { tasks/list }
 {
  resume? .code:n  = \exp_args:Nne \keys_set:nn { tasks/list } { resume = #1 },
  resume? .default:n = \trueBool,
 }
\ExplSyntaxOff

\newcommand{\trueBool}{true}

\begin{document}

\begin{tasks}(1)
\task 1
\task 2
\end{tasks}

Some text in between

\begin{tasks}[resume?](1)
\task 1
\task 2
\end{tasks}

Some text in between

\renewcommand\trueBool{false}

\begin{tasks}[resume?](1)
\task 1
\task 2
\end{tasks}

\end{document}

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

관련 정보