
부울 출력을 제공하기 위해 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}