Parenthetische Klauseln mit einem Mechanismus ähnlich dem MakeAutoQuote von csquotes

Parenthetische Klauseln mit einem Mechanismus ähnlich dem MakeAutoQuote von csquotes

Zum Schreiben von Parenthesensätzen habe ich folgendes Makro:

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

Aber ich wollte dasselbe tun, was das Paket csquote mit Anführungszeichen macht. Es verwendet aktive Zeichen anstelle eines Latex-Makros.

Ist es in LaTeX also möglich, Folgendes zu haben:

The main sentence -(the parenthetical clause)-.

umgewandelt in:

The main sentence \incise{the parenthetical clause}.

Antwort1

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

lässt sich *(xxxx)*so verhalten, wie Sie möchten, solange Sie es *nirgendwo anders verwenden …

Antwort2

Sie können die csquotes-Befehle verwenden – sie funktionieren sogar mit UTF-8-Zeichen, wo Sie den \catcodeTrick von David nicht direkt verwenden können. Das Hauptproblem besteht darin, die Zeichen so auszuwählen, dass keine Nebenwirkungen auf den Rest Ihres Dokuments auftreten.

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

verwandte Informationen