Uppercase and lowercase small caps in abbreviations/shorthands

biblatex-dwfontssmall-caps

I use abbreviations/shorthands to cite sources in running text (using the \parencite command). What I would like to get is the abbreviations being printed in small caps, with the uppercase letters slightly larger than the lowercase letters. Right now, the small caps are all the same size and have about the height of lowercase letters (see MWE). Can anyone help me achieve the different size of the small caps? Many thanks in advance!

Here's a MWE

\documentclass[12pt, a4paper, openany]{report}

%Disables "ibid" in running text while leaving it activated in footnotes:

\makeatletter
\def\blx@opt@ibidtracker@foot{%
  \let\blx@imc@ifciteibid\blx@ifciteibid@foot
  \let\blx@ibidtracker\blx@ibidtracker@foot
  \let\blx@ibidreset\blx@ibidreset@foot
  \booltrue{citetracker}}

\def\blx@ifciteibid@foot{%
  \ifbool{citetracker}
    {\iftoggle{blx@footnote}
       {\blx@imc@iffieldequals{entrykey}\blx@lastkey@text}
       {\@secondoftwo}}
    {\@secondoftwo}}

\def\blx@ibidtracker@foot{%
  \ifbool{citetracker}
    {\iftoggle{blx@footnote}
       {\global\let\blx@lastkey@text\abx@field@entrykey}
       {\global\let\blx@lastkey@foot\abx@field@entrykey}}
    {}}

\def\blx@ibidreset@foot{%
  \iftoggle{blx@footnote}
    {\global\undef\blx@lastkey@text}}
    {}
\makeatother

\usepackage[backend=biber, style=authortitle-dw, useprefix=true, acronyms=true, ibidtracker=foot]{biblatex}
\usepackage[left=2.5cm, top=2.5cm, right=2.5cm, bottom=2cm]{geometry}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{betababel}
\usepackage{csquotes}

\begin{filecontents}{\jobname.bib}
@book{Hegel,
  author      = {Hegel, Georg Wilhelm Friedrich},
  title       = {Enzyklopädie der philosophischen Wissenschaften III},
  options     = {acronym=true},
  shorthand   = {Enz III},
  }
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}

Text Text Text \parencite[10]{Hegel}. Text Text Text \parencite[10]{Hegel}.

\end{document}

Best Answer

biblatex-dw's acronym option uses \mkbibacro, which first converts its argument to lowercase and then applies small caps. This means that there is no difference between upper- and lowercase letters in your acronyms.

This can be changed by switching from \mkbibacro to \textsc in the relevant field formats.

\documentclass[12pt, a4paper, openany]{report}

\makeatletter
\def\blx@opt@ibidtracker@foot{%
  \let\blx@imc@ifciteibid\blx@ifciteibid@foot
  \let\blx@ibidtracker\blx@ibidtracker@foot
  \let\blx@ibidreset\blx@ibidreset@foot
  \booltrue{citetracker}}

\def\blx@ifciteibid@foot{%
  \ifbool{citetracker}
    {\iftoggle{blx@footnote}
       {\blx@imc@iffieldequals{entrykey}\blx@lastkey@text}
       {\@secondoftwo}}
    {\@secondoftwo}}

\def\blx@ibidtracker@foot{%
  \ifbool{citetracker}
    {\iftoggle{blx@footnote}
       {\global\let\blx@lastkey@text\abx@field@entrykey}
       {\global\let\blx@lastkey@foot\abx@field@entrykey}}
    {}}

\def\blx@ibidreset@foot{%
  \iftoggle{blx@footnote}
    {\global\undef\blx@lastkey@text}}
    {}
\makeatother

\usepackage[backend=biber, style=authortitle-dw, useprefix=true, acronyms=true, ibidtracker=foot]{biblatex}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{csquotes}

\DeclareFieldFormat{shorthandwidth}{%
  \ifboolexpr{
    bool {bbx:shorthandacro}
    and
    bool {bbx:acronym}
  }
    {\textsc{#1}\isdot}
    {#1\isdot}}
\DeclareFieldFormat{shortjournal}{%
  \ifboolexpr{
    bool {bbx:shorthandacro}
    and
    bool {bbx:acronym}
  }
    {\textsc{#1}\isdot}
    {#1\isdot}}
\DeclareFieldFormat{shorthand}{%
  \ifbool{bbx:shorthandacro}
    {\ifbool{bbx:acronym}
      {\textsc{#1}\isdot}
      {#1\isdot}}
    {#1\isdot}} 


\begin{filecontents}{\jobname.bib}
@book{Hegel,
  author      = {Hegel, Georg Wilhelm Friedrich},
  title       = {Enzyklopädie der philosophischen Wissenschaften III},
  options     = {acronym=true},
  shorthand   = {Enz III},
  }
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
Text Text Text \parencite[10]{Hegel}.
Text Text Text \parencite[10]{Hegel}.
\end{document}

Text Text Text (Enz III, S. 10). Text Text Text (Enz III, S. 10).