使用 \def 輸出布林真/假值 - 任務包「復原」功能中的用法

使用 \def 輸出布林真/假值 - 任務包「復原」功能中的用法

我試圖使用 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/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}

在此輸入影像描述

相關內容