
При использовании условия iftoggle первая буква после условия удаляется из вывода. Рассмотрим код ниже
\documentclass{article}
\usepackage{etoolbox}
\begin{document}
\newtoggle{test}
\toggletrue{test}
First sentence.\iftoggle{test}{ Second sentence.} Last sentence.
\end{document}
Если выполнить код выше, то он "First sentence. Second sentence.ast sentence."
удаляет «L»!. Может ли кто-нибудь сказать мне, как это исправить?
решение1
Тест iftoggle
представляет собой команду с тремя обязательными аргументами со следующим синтаксисом:
\iftoggle{ name }{ true }{ false }
Расширяется до значения
true
, если состояние логического флагаname
равно true, и доfalse
значения в противном случае.
В вашем примере у вас есть следующий тест:
\iftoggle{test}{ Second sentence.} Last sentence
с этой настройкой:
name ==> test
true ==> Second sentence.
false ==> L
Это происходит потому, что стандартный обязательный аргумент заключен в фигурные скобки или может быть одним токеном.