Cláusulas entre paréntesis con un mecanismo similar al MakeAutoQuote de csquotes

Cláusulas entre paréntesis con un mecanismo similar al MakeAutoQuote de csquotes

Tengo la siguiente macro para escribir cláusulas entre paréntesis:

\makeatletter
\newcommand\incise[1]{%
    ---\,#1%
    \@ifnextchar.\relax{\@ifnextchar?{\@ifnextchar!{\@ifnextchar:{\@ifnextchar;\relax{\,---}}}}}
}
\makeatother

Pero quería hacer lo mismo que hace el paquete csquote con las citas. Utiliza caracteres activos en lugar de una macro de látex.

Entonces, ¿es posible en LaTeX tener:

The main sentence -(the parenthetical clause)-.

transformado a:

The main sentence \incise{the parenthetical clause}.

Respuesta1

\catcode`*\active
\def*(#1)*{\incise{#1}}

hace *(xxxx)*actuar como quieras, siempre y cuando no lo uses *en ningún otro lugar....

Respuesta2

Puedes usar los comandos csquotes; incluso funcionan con caracteres utf8 donde no puedes usar directamente el \catcodetruco de David. El principal problema es elegir los caracteres para no tener efectos secundarios en el resto del documento.

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{csquotes,xcolor}

\makeatletter
\csq@addspecial{ä}{\begingroup---!ups\color{red}}{}{}%
\csq@addspecial{ö}{\endgroup!ups---}{}{}
\makeatother

 \begin{document}
 äblubö blabla 

 \end{document} 

información relacionada