¿Por qué \shorthandon y \shorthandoff no se pueden incrustar en otras macros?

¿Por qué \shorthandon y \shorthandoff no se pueden incrustar en otras macros?

La macro circundante \titlecon \shorthandon{;:!?}y \shorthandoff{;:!?}da el resultado esperado con babelel frenchidioma (espacio agregado antes de '?', '!', ':' y ';'):

\documentclass[french]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
%
\shorthandon{;:!?}%
\title{La crise? Quelle crise?}
\shorthandoff{;:!?}%
%
\begin{document}
\maketitle
\end{document}

Pero esto no funciona si \shorthandony \shorthandoffestán integrados en (una redefinición de) la \titlemacro:

\documentclass[french]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
%
\let\titleORI\title
\renewcommand{\title}[1]{%
  \shorthandon{;:!?}%
  \titleORI{#1}%
  \shorthandoff{;:!?}%
}
%
\title{La crise? Quelle crise?}
\author{Un auteur? Deux auteurs!}
%
\begin{document}
\maketitle
\end{document}

¿Cuál es la razón de esto? ¿Existe alguna solución?

Respuesta1

El decir \shorthandon{?}hace ?un personaje activo. Entonces, cuando se absorbe el argumento to \title, en el primer ejemplo, está activo y, en \maketitle, LaTeX usará la definición actual, que resulta ser la definida por babel-french.

Por el contrario, en el segundo caso el \shorthandoncomando se ejecuta cuando el argumento to \titleya ha sido absorbido, por lo que ?no está activo y permanecerá para siempre (en el texto de reemplazo de \@title, que es la macro donde \titlealmacena el título).

Debe retrasar la lectura del argumento una vez \shorthandonejecutado.

\documentclass[french]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}

\let\ORItitle\title
\renewcommand{\title}{%
  \shorthandon{;:!?}%
  \titlewithshorthand
}
\newcommand{\titlewithshorthand}[1]{%
  \ORItitle{#1}%
  \shorthandoff{;:!?}%
}

\title{La crise? Quelle crise?}

\begin{document}
\maketitle
\end{document}

Pero simplemente lo colocaría \titledespués \begin{document}.

información relacionada