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