Surrounding \title
macro with \shorthandon{;:!?}
and \shorthandoff{;:!?}
gives the expected result with babel
's french
language (space added before the '?', '!', ':' and ';'):
\documentclass[french]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
%
\shorthandon{;:!?}%
\title{La crise? Quelle crise?}
\shorthandoff{;:!?}%
%
\begin{document}
\maketitle
\end{document}
But this doesn't work if \shorthandon
and \shorthandoff
are embedded in (a redefinition of) the \title
macro:
\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}
What is the reason of this? Is there a workaround?
\verb
not working in a macro argument.