Biblatex BibliographyOption with braces?

You can't use \edef in this context: \edef\x{...\"u...} will always fail.

If you are using UTF-8 for your files and your author can appear in the three forms

M{\"u}ller
M\"uller
Müller

then these macros can be what you want:

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

\makeatletter
\def\stripbraces#1#2{%
  \begingroup
  \def\IeC##1{##1}%
  \protected@edef\@tempa{#1}%
  \gdef\@gtempa{}%
  \expandafter\@stripbraces\@tempa\@nil
  \endgroup
  \let#2\@gtempa
}
\def\@stripbraces#1{%
  \ifx#1\@nil\else
    \expandafter\gdef\expandafter\@gtempa\expandafter{\@gtempa#1}%
    \expandafter\@stripbraces
  \fi
}

\makeatother

\begin{document}

\stripbraces{M\"uller}{\x}
\stripbraces{M{\"u}ller}{\y}
\stripbraces{Müller}{\z}

\ifdefstrequal{\x}{\y}{TRUE}{FALSE}

\ifdefstrequal{\x}{\z}{TRUE}{FALSE}

\ifdefstrequal{\y}{\z}{TRUE}{FALSE}

\stripbraces{Øre}{\x}
\stripbraces{{\O}re}{\y}
\stripbraces{\O re}{\z}

\ifdefstrequal{\x}{\y}{TRUE}{FALSE}

\ifdefstrequal{\x}{\z}{TRUE}{FALSE}

\ifdefstrequal{\y}{\z}{TRUE}{FALSE}

\stripbraces{Gauß}{\x}
\stripbraces{Gau{\ss}}{\y}
\stripbraces{Gau\ss}{\z}

\ifdefstrequal{\x}{\y}{TRUE}{FALSE}

\ifdefstrequal{\x}{\z}{TRUE}{FALSE}

\ifdefstrequal{\y}{\z}{TRUE}{FALSE}

\end{document}

All the tests yield "TRUE".

However this would fail for Fran{\c{c}}ais and Fran{\c c}ais. So the final answer depends on your needs.

Tags:

Biblatex