¿Cómo puedo detectar que \centering está vigente?

¿Cómo puedo detectar que \centering está vigente?

Necesito detectar si el usuario ha escrito \centering antes de un comando. Actualmente lo estoy detectando con el siguiente código: ¿Me falta algún caso límite? ¿Existe una manera mejor? ¿Alguien puede ayudar a crear una función skip_compare:nNnTF l3 para mejorar el código?

\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}

Respuesta1

Yo establecería el valor booleano en \centering:

\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}

ingrese la descripción de la imagen aquí

información relacionada