# BibLaTeX-dw style authortitle-dw: How to apply firstfull=true but not to entries with shorthand field

I'm using BibLaTeX with style=authortitle-dw and option firstfull=true. Is there a way to NOT apply firstfull=true to those entries in my .bib-file, which have a shorthand entry?

A MWE, that only shows, that firstfull=true works as expected, would be:

\documentclass{article}

\usepackage[style=authortitle-dw,backend=biber, firstfull=true]{biblatex}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}

@Book{A1,
Title                    = {Title1},
Author                   = {AuthorA},
Year                     = {1900},
Shorthand                = {GuI}
}

@Book{B2,
Title                    = {Title2},
Author                   = {AuthorB},
Year                     = {1900}
}

@Book{C2,
Title                    = {Title2},
Author                   = {AuthorC},
Year                     = {1900}
}
\end{filecontents}

\begin{document}

"Some citation of a shorthand title"\parencite[][34]{A1}

"Some citation of the same shorthand title in a footnote"\footcite[][34]{A1}

"Some citation of the same title from another page"\footcite[][70]{A1}

"Some citation of a non-shorthand title"\footcite[][12]{B2}

"Some citation of the same non-shorthand title from another page"\footcite[][15]{B2}

"Some citation of the same non-shorthand title from another author"\footcite[][15]{C2}

\printshorthands

\printbibliography

\end{document}


I looked in the authortitle-dw.cbx file and might have found a solution. Changing the \newbibmacro*{cite} definition seems to get the job done:

\renewbibmacro*{cite}{%
\usebibmacro{cite:citepages}%
\global\boolfalse{cbx:loccit}%
\ifbool{cbx:inreffull}
{\usebibmacro{cite:inreffull}}
{\ifbool{cbx:firstfull}
{\ifciteseen
{\usebibmacro{cite:normal}}
{\iffieldundef{shorthand}
{\usebibmacro{cite:firstfull}}
{\usebibmacro{cite:normal}}}}
{\usebibmacro{cite:normal}}}}


But since I don't really know, what I'm doing, I don't know, if that solution is appropriate for very long documents.

Here is the MWE:

\documentclass{article}

\usepackage[style=authortitle-dw,backend=biber, firstfull=true]{biblatex}

\renewbibmacro*{cite}{%
\usebibmacro{cite:citepages}%
\global\boolfalse{cbx:loccit}%
\ifbool{cbx:inreffull}
{\usebibmacro{cite:inreffull}}
{\ifbool{cbx:firstfull}
{\ifciteseen
{\usebibmacro{cite:normal}}
{\iffieldundef{shorthand}
{\usebibmacro{cite:firstfull}}
{\usebibmacro{cite:normal}}}}
{\usebibmacro{cite:normal}}}}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}

@Book{A1,
Title                    = {Title1},
Author                   = {AuthorA},
Year                     = {1900},
Shorthand                = {GuI}
}

@Book{B2,
Title                    = {Title2},
Author                   = {AuthorB},
Year                     = {1900}
}

@Book{C2,
Title                    = {Title2},
Author                   = {AuthorC},
Year                     = {1900}
}
\end{filecontents}

\begin{document}

"Some citation of a shorthand title"\parencite[][34]{A1}

"Some citation of the same shorthand title in a footnote"\footcite[][34]{A1}

"Some citation of the same title from another page"\footcite[][70]{A1}

"Some citation of a non-shorthand title"\footcite[][12]{B2}

"Some citation of the same non-shorthand title from another page"\footcite[][15]{B2}

"Some citation of the same non-shorthand title from another author"\footcite[][15]{C2}

\printshorthands

\printbibliography

\end{document}