Скобочные предложения с механизмом, похожим на MakeAutoQuote в csquotes

Скобочные предложения с механизмом, похожим на MakeAutoQuote в csquotes

У меня есть следующий макрос для написания скобочных предложений:

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

Но я хотел сделать то же самое, что делает пакет csquote с цитированием. Он использует активные символы вместо макроса latex.

Итак, возможно ли в LaTeX иметь:

The main sentence -(the parenthetical clause)-.

преобразовано в:

The main sentence \incise{the parenthetical clause}.

решение1

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

делает *(xxxx)*так, как вам нравится, пока вы не используете его *где-либо еще....

решение2

Вы можете использовать команды csquotes - они работают даже с символами utf8, где вы не можете напрямую использовать \catcodeтрюк Дэвида. Основная проблема - выбрать символы так, чтобы не получить побочных эффектов в остальной части документа.

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

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