Как определить, что \centering действует?

Как определить, что \centering действует?

Мне нужно определить, набрал ли пользователь \centering перед командой. В настоящее время я определяю это с помощью следующего кода: Есть ли пограничный случай, который я упускаю? Есть ли лучший способ и может ли кто-нибудь помочь создать функцию skip_compare:nNnTF l3 для улучшения кода?

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

решение1

Я бы установил логическое значение в \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}

введите описание изображения здесь

Связанный контент