![Wie kann ich feststellen, ob \centering aktiv ist?](https://rvso.com/image/461882/Wie%20kann%20ich%20feststellen%2C%20ob%20%5Ccentering%20aktiv%20ist%3F.png)
Ich muss feststellen, ob der Benutzer vor einem Befehl ein \centering eingegeben hat. Derzeit erkenne ich dies mit dem folgenden Code: Gibt es einen Sonderfall, den ich übersehe? Gibt es einen besseren Weg und kann jemand helfen, eine skip_compare:nNnTF l3-Funktion zu erstellen, um den Code zu verbessern?
\documentclass{article}
\begin{document}
\centering
%\raggedright
%\raggedleft
\ExplSyntaxOn
\bool_new:N \centering_bool
\skip_if_eq:nnTF{\rightskip+\rightskip}{0pt plus 2.0fil}{\bool_set_true:N\centering_bool}{\bool_set_false:N\centering_bool}
\bool_if:NTF\centering_bool{TRUE}{FALSE}
\ExplSyntaxOff
\end{document}
Antwort1
Ich würde den Booleschen Wert in \centering setzen:
\documentclass{article}
\ExplSyntaxOn
\bool_new:N \l_yannis_centering_bool
\AddToHook{cmd/centering/before}{\bool_set_true:N\l_yannis_centering_bool}
\ExplSyntaxOff
\begin{document}
\ExplSyntaxOn
\bool_if:NTF \l_yannis_centering_bool{centering}{no~centering}\par
{\centering \bool_if:NTF
\l_yannis_centering_bool{centering}{nocentering}\par}
\ExplSyntaxOff
\end{document}