
Я пытаюсь использовать 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
на буквальное значение «истина», например: \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}