0

The solution of moewe to the question Biblatex: Two bibliographies with different styles and sortings II Part 3 produces the desired output. Unfortunately, there is a special case where the output differs from the "normal" behavior.

Problem source: It seems to be the replacement of the \space with \addthinspace (\renewcommand*{\multicitedelim}{\addsemicolon\space} with \renewcommand*{\multicitedelim}{\addsemicolon\addthinspace}).

Problem: Long citations of several lines (multiple authors all in alpha style) with, for instance, \cite overflow the text margins when using the above-mentioned solution with \addthinspace.

Question: Is there a solution adding short/thin spaces instead of normal spaces?

Output with \renewcommand*{\multicitedelim}{\addsemicolon\space} enter image description here

Output with \renewcommand*{\multicitedelim}{\addsemicolon\addthinspace} enter image description here

MWE

\documentclass[parskip=full]{scrbook}
\usepackage{microtype}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usepackage[backend=biber,
style=numeric-comp,
labelalpha, defernumbers,
locallabelwidth]{biblatex}

\usepackage[colorlinks=true,citecolor=blue,urlcolor=red]{hyperref}
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.25pt}
\renewcommand*\ShowFrameColor{\color{red}}

%Append keywords to identify different bibliography entries.
\DeclareSourcemap{
    \maps[datatype=bibtex, overwrite]{
        \map{
            \perdatasource{biblatextest1.bib}
            \step[fieldset=KEYWORDS, fieldvalue=primary]
        }
        \map{
            \perdatasource{biblatextest2.bib}
            \step[fieldset=KEYWORDS, fieldvalue=secondary]
        }
    }
}
%Rewritting of internal commands. Solution of moewe
%https://tex.stackexchange.com/questions/557555/biblatex-two-bibliographies-with-different-styles-and-sortings-ii-part-3
%==========================================================================================%
%\renewcommand*{\multicitedelim}{\addsemicolon\space}
\renewcommand*{\multicitedelim}{\addsemicolon\addthinspace}

\renewcommand*{\ppspace}{\addnbthinspace}

\letbibmacro{cite:num:comp}{cite:comp}

\newbibmacro{cite:alpha}{%
    \printtext[bibhyperref]{%
        \printfield{labelprefix}%
        \printfield{labelalpha}%
        \printfield{extraalpha}%
        \ifbool{bbx:subentry}
        {\printfield{entrysetcount}}
        {}}}

\renewbibmacro*{cite:comp}{%
    \ifkeyword{primary}
    {\usebibmacro{cite:dump}%
        \ifnumgreater{\value{cbx@tempcntb}}{-1}
        {\multicitedelim}
        {\iffirstcitekey
            {}
            {\multicitedelim}}%
        \usebibmacro{cite:alpha}%
        \iflastcitekeylocal
        {}
        {\multicitedelim}%
        \setcounter{cbx@tempcnta}{0}%
        \setcounter{cbx@tempcntb}{-2}}
    {\usebibmacro{cite:num:comp}}}

\makeatletter
\newcommand*\iflastcitekeylocal{%
    \ifnumequal\c@citecount\c@citetotal}

\renewbibmacro*{cite:init}{%
    \global\boolfalse{cbx:parens}%
    \global\undef\cbx@lasthash
    \global\undef\cbx@lastnumber
    \global\undef\cbx@lastprefix
    \global\undef\cbx@secondtolastprefix
    \setcounter{cbx@tempcnta}{0}%
    \setcounter{cbx@tempcntb}{-2}}

\newcommand*{\ifsamelabelprefix}{%
    \iffieldundef{labelprefix}
    {\ifundef\cbx@lastprefix}
    {\iffieldequals{labelprefix}{\cbx@lastprefix}}}

\renewbibmacro*{cite:comp:comp}{%
    \renewcommand*{\multicitedelim}{\addcomma\addthinspace}%
    \ifsamelabelprefix
    {\ifnumequal{\thefield{labelnumber}}{\value{cbx@tempcntb}}
        {\savefield{entrykey}{\cbx@lastkey}%
            \savefield{labelnumber}{\cbx@lastnumber}%
            \addtocounter{cbx@tempcnta}{1}}
        {\ifnumequal{\thefield{labelnumber}}{\value{cbx@tempcntb}-1}
            {}
            {\usebibmacro{cite:dump}%
                \ifnumgreater{\value{cbx@tempcntb}}{-1}
                {\multicitedelim}
                {}%
                \printtext[bibhyperref]{%
                    \iffieldequals{labelprefix}{\cbx@lastprefix}
                    {}
                    {\printfield{labelprefix}}%
                    \printfield{labelnumber}}}}}
    {\usebibmacro{cite:comp:end}}%
    \setcounter{cbx@tempcntb}{\thefield{labelnumber}}%
    \global\let\cbx@secondtolastprefix\cbx@lastprefix
    \savefield{labelprefix}{\cbx@lastprefix}}

        \DefineBibliographyExtras{english}{
    \renewcommand*{\bibrangedash}{\addnbthinspace\textendash\addhpthinspace}
}
\renewbibmacro*{cite:dump}{%
    \ifnumgreater{\value{cbx@tempcnta}}{0}
    {\ifnumgreater{\value{cbx@tempcnta}}{1}
        {\bibrangedash}
        {\multicitedelim}%
        \bibhyperref[\cbx@lastkey]{%
            \ifdef\cbx@lastprefix
            {\ifdefequal\cbx@lastprefix\cbx@secondtolastprefix
                {}
                {\printtext[labelprefix]{\cbx@lastprefix}}}
            {}%
            \printtext[labelnumber]{\cbx@lastnumber}}}
    {}%
    \setcounter{cbx@tempcnta}{0}}
\makeatother
%==========================================================================================%
\DeclareFieldFormat{labelalphawidth}{\mkbibbrackets{#1}}

\defbibenvironment{bibliographyALPHA}
{\list
    {\printtext[labelalphawidth]{%
            \printfield{labelprefix}%
            \printfield{labelalpha}%
            \printfield{extraalpha}}}
    {\setlength{\labelwidth}{\labelalphawidth}%
        \setlength{\leftmargin}{\labelwidth}%
        \setlength{\labelsep}{\biblabelsep}%
        \addtolength{\leftmargin}{\labelsep}%
        \setlength{\itemsep}{\bibitemsep}%
        \setlength{\parsep}{\bibparsep}}%
    \renewcommand*{\makelabel}[1]{##1\hss}}
{\endlist}
{\item}

\begin{filecontents}{biblatextest1.bib}
    @BOOK{BookB07,
        author    = {Author Ät{\"a}},
        title     = {Some Title},
        publisher = {Some Publisher},
        year      = 2003,
    }
    @BOOK{BookB08,
        author    = {Author Bb\"{a}},
        title     = {Some Title},
        publisher = {Some Publisher},
        year      = 2004,
    }
    @BOOK{BookB09,
        author    = {Author Aaa},
        title     = {Some Title},
        publisher = {Some Publisher},
        year      = 2005,
    }
    @BOOK{BookB10,
        author    = {Author Kkk},
        title     = {Some Title},
        publisher = {Some Publisher},
        year      = 2006,
    }
    @BOOK{BookB11,
        author    = {Author Lll},
        title     = {Some Title},
        publisher = {Some Publisher},
        year      = 2007,
    }
    @BOOK{BookB12,
    author    = {Author Mmm},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2008,
}
    @BOOK{BookB13,
    author    = {Author Nnn},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2009,
}
    @BOOK{BookB14,
    author    = {Author Ooo},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2010,
}
    @BOOK{BookB15,
    author    = {Author Ppp},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2011,
}
    @BOOK{BookB16,
    author    = {Author Qqq},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2012,
}
    @BOOK{BookB17,
    author    = {Author Rrr},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2013,
}
    @BOOK{BookB18,
    author    = {Author Sss},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2014,
}
    @BOOK{BookB19,
    author    = {Author Ttt},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2015,
}
    @BOOK{BookB20,
    author    = {Author Uuu},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2016,
}
    @BOOK{BookB21,
    author    = {Author Vvv},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2017,
}
    @BOOK{BookB22,
    author    = {Author Xxx},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2018,
}
    @BOOK{BookB23,
    author    = {Author Yyy},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2019,
}
    @BOOK{BookB24,
    author    = {Author Zzz},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2020,
}
    @BOOK{BookB25,
    author    = {Author Ccc},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2021,
}
    @BOOK{BookB26,
    author    = {Author Ddd},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2022,
}
    @BOOK{BookB27,
    author    = {Author Eee},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2023,
}
    @BOOK{BookB28,
    author    = {Author Fff},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2024,
}
    @BOOK{BookB29,
    author    = {Author Ggg},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2025,
}
    @BOOK{BookB30,
    author    = {Author Hhh},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2026,
}
    @BOOK{BookB31,
    author    = {Author Iii},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2027,
}
    @BOOK{BookB32,
    author    = {Author Jjj},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2028,
}
    @BOOK{BookB33,
    author    = {Author aaA},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2029,
}
    @BOOK{BookB34,
    author    = {Author bBB},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2030,
}
    @BOOK{BookB35,
    author    = {Author cCC},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2031,
}
    @BOOK{BookB36,
    author    = {Author dDD},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2032,
}
    @BOOK{BookB37,
    author    = {Author eEE},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2033,
}
    @BOOK{BookB38,
    author    = {Author ff},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2034,
}
    @BOOK{BookB39,
    author    = {Author ggG},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2035,
}
    @BOOK{BookB40,
    author    = {Author hhH},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2036,
}
    @BOOK{BookB41,
    author    = {Author i},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2037,
}
    @BOOK{BookB42,
    author    = {Author jjJ},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2038,
}
    @BOOK{BookB43,
    author    = {Author kkK},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2039,
}
    @BOOK{BookB44,
    author    = {Author llL},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2040,
}
    @BOOK{BookB45,
    author    = {Author mMM},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2041,
}
    @BOOK{BookB46,
    author    = {Author nN},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2042,
}
    @BOOK{BookB47,
    author    = {Author Oo},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2043,
}
    @BOOK{BookB48,
    author    = {Author ppP},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2044,
}
    @BOOK{BookB49,
    author    = {Author qqQ},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2045,
}
    @BOOK{BookB50,
    author    = {Author rrR},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2046,
}
    @BOOK{BookB51,
    author    = {Author ssS},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2047,
}
    @BOOK{BookB52,
    author    = {Author t},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2048,
}
    @BOOK{BookB53,
    author    = {Author uuU},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2049,
}
    @BOOK{BookB54,
    author    = {Author vvV},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2050,
}
    @BOOK{BookB55,
    author    = {Author Www},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2051,
}
    @BOOK{BookB56,
    author    = {Author xxX},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2052,
}
    @BOOK{BookB57,
    author    = {Author yyY},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2053,
}
    @BOOK{BookB58,
    author    = {Author zzZ},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2054,
}
    @BOOK{BookB59,
    author    = {Author rst},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2055,
}
\end{filecontents}
\begin{filecontents}{biblatextest2.bib}
    @MISC{LinkD03,
        author  = {Author Ccc},
        title   = {Some Title},
        year    = 2004,
        url     = {www.test1.com/bild.jpg},
    }
    @MISC{LinkD04,
        author  = {Author Ddd},
        title   = {Some Title},
        year    = 2001,
        url     = {www.test2.com/bild.jpg},
    }
    @MISC{LinkD05,
        author  = {Author Eee},
        title   = {Some Title},
        year    = 2004,
        url     = {www.test3.com/bild.jpg},
    }
    @MISC{LinkD06,
        author  = {Author Fff},
        title   = {Some Title},
        year    = 2001,
        url     = {www.test4.com/bild.jpg},
    }
    @MISC{LinkD07,
        author  = {Author Ggg},
        title   = {Some Title},
        year    = 2004,
        url     = {www.test5.com/bild.jpg},
    }
    @MISC{LinkD08,
        author  = {Author Hhh},
        title   = {Some Title},
        year    = 2001,
        url     = {www.test6.com/bild.jpg},
    }
    @MISC{LinkD09,
        author  = {Author Iii},
        title   = {Some Title},
        year    = 2001,
        url     = {www.test6.com/bild.jpg},
    }
\end{filecontents}
\addbibresource{biblatextest1.bib}
\addbibresource{biblatextest2.bib}


\begin{document}
    The first two citations \autocite{LinkD07,LinkD03}
    and \autocite{BookB10,BookB11,BookB09}. 
    Mixing both primary and secondary \autocite{LinkD08,LinkD04,LinkD05,BookB10,BookB11,BookB09}.
    The others are \autocite{LinkD03,LinkD08,LinkD05,LinkD06,LinkD07}
    as well as \autocite{LinkD03,LinkD04,LinkD05,LinkD07,LinkD08, LinkD09}
    and \autocite{BookB07}.
    With page numbers \cites[2--15]{BookB09}[3,5,23]{BookB10}[1--6]{BookB11}
    With page numbers \Cites[2--15]{BookB10}[3,5,23]{BookB09}[1--6]{BookB11}\\\\
    
    Example of very long citation with multiple authors all in alpha style \cite{BookB07,BookB08,BookB09,BookB10,BookB11,BookB12,BookB13,BookB14,BookB15,BookB16,BookB17,BookB18,BookB19,BookB20,BookB21,BookB22,BookB23,BookB24,BookB25,BookB26,BookB27,BookB28,BookB29,BookB30,BookB31,BookB32,BookB33,BookB34,BookB35,BookB36,BookB37,BookB38,BookB39,BookB40,BookB41,BookB42,BookB43,BookB44,BookB45,BookB46,BookB47,BookB48,BookB49,BookB50,BookB51,BookB52,BookB53,BookB54,BookB55,BookB56,BookB57,BookB58,BookB59}. The are some problems with the linebreaks inside the citation. 
    
    \printbibliography[env=bibliographyALPHA, title=Bibliography, keyword=primary]
    
    \newrefcontext[labelprefix=tech\string\adddot\addnbthinspace]
    \printbibliography[title=References, keyword=secondary, resetnumbers]
\end{document}
  • 1
    You need a strechable space, I think \thinspace has a fixed width. – corvus_192 Aug 19 at 13:46
1

As corvus_192 says in the comments, your main problem here is that \addthinspace produces a rigid space that can neither shrink nor stretch. If you fill entire lines only with (otherwise unbreakable) alphabetic citation labels, the only chance LaTeX has to get a good line break is by adjusting the space between the citations.

Indeed \addthinspace is defined in biblatex.sty as

\newrobustcmd*{\addthinspace}{%
  \unspace\blx@postpunct
  \hskip0.16667em\relax
  \blx@imc@resetpunctfont}

I'd define a stretchable version as follows

\newrobustcmd*{\stretchablethinspace}{%
  \hskip0.16667em plus 0.0555em minus 0.0555em\relax}

\newrobustcmd*{\addstretchablethinspace}{%
  \unspace\blx@postpunct
  \stretchablethinspace
  \blx@imc@resetpunctfont}

You can then use

\renewcommand*{\multicitedelim}{\addsemicolon\stretchablethinspace}

(Note that you don't need to use the \add... version, since the housekeeping is already done by the previous \addsemicolon).

\documentclass[parskip=full]{scrbook}
\usepackage{microtype}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usepackage[backend=biber,
style=numeric-comp,
labelalpha, defernumbers,
locallabelwidth]{biblatex}

\usepackage[colorlinks=true,citecolor=blue,urlcolor=red]{hyperref}
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.25pt}
\renewcommand*\ShowFrameColor{\color{red}}

%Append keywords to identify different bibliography entries.
\DeclareSourcemap{
    \maps[datatype=bibtex, overwrite]{
        \map{
            \perdatasource{biblatextest1.bib}
            \step[fieldset=KEYWORDS, fieldvalue=primary]
        }
        \map{
            \perdatasource{biblatextest2.bib}
            \step[fieldset=KEYWORDS, fieldvalue=secondary]
        }
    }
}

\makeatletter
\newrobustcmd*{\stretchablethinspace}{%
  \hskip0.16667em plus 0.0555em minus 0.0555em\relax}

\newrobustcmd*{\addstretchablethinspace}{%
  \unspace\blx@postpunct
  \stretchablethinspace
  \blx@imc@resetpunctfont}
\makeatother

%Rewritting of internal commands. Solution of moewe
%https://tex.stackexchange.com/questions/557555/biblatex-two-bibliographies-with-different-styles-and-sortings-ii-part-3
%==========================================================================================%
%\renewcommand*{\multicitedelim}{\addsemicolon\space}
\renewcommand*{\multicitedelim}{\addsemicolon\stretchablethinspace}

\renewcommand*{\ppspace}{\addnbthinspace}

\letbibmacro{cite:num:comp}{cite:comp}

\newbibmacro{cite:alpha}{%
    \printtext[bibhyperref]{%
        \printfield{labelprefix}%
        \printfield{labelalpha}%
        \printfield{extraalpha}%
        \ifbool{bbx:subentry}
        {\printfield{entrysetcount}}
        {}}}

\renewbibmacro*{cite:comp}{%
    \ifkeyword{primary}
    {\usebibmacro{cite:dump}%
        \ifnumgreater{\value{cbx@tempcntb}}{-1}
        {\multicitedelim}
        {\iffirstcitekey
            {}
            {\multicitedelim}}%
        \usebibmacro{cite:alpha}%
        \iflastcitekeylocal
        {}
        {\multicitedelim}%
        \setcounter{cbx@tempcnta}{0}%
        \setcounter{cbx@tempcntb}{-2}}
    {\usebibmacro{cite:num:comp}}}

\makeatletter
\newcommand*\iflastcitekeylocal{%
    \ifnumequal\c@citecount\c@citetotal}

\renewbibmacro*{cite:init}{%
    \global\boolfalse{cbx:parens}%
    \global\undef\cbx@lasthash
    \global\undef\cbx@lastnumber
    \global\undef\cbx@lastprefix
    \global\undef\cbx@secondtolastprefix
    \setcounter{cbx@tempcnta}{0}%
    \setcounter{cbx@tempcntb}{-2}}

\newcommand*{\ifsamelabelprefix}{%
    \iffieldundef{labelprefix}
    {\ifundef\cbx@lastprefix}
    {\iffieldequals{labelprefix}{\cbx@lastprefix}}}

\renewbibmacro*{cite:comp:comp}{%
    \renewcommand*{\multicitedelim}{\addcomma\stretchablethinspace}%
    \ifsamelabelprefix
    {\ifnumequal{\thefield{labelnumber}}{\value{cbx@tempcntb}}
        {\savefield{entrykey}{\cbx@lastkey}%
            \savefield{labelnumber}{\cbx@lastnumber}%
            \addtocounter{cbx@tempcnta}{1}}
        {\ifnumequal{\thefield{labelnumber}}{\value{cbx@tempcntb}-1}
            {}
            {\usebibmacro{cite:dump}%
                \ifnumgreater{\value{cbx@tempcntb}}{-1}
                {\multicitedelim}
                {}%
                \printtext[bibhyperref]{%
                    \iffieldequals{labelprefix}{\cbx@lastprefix}
                    {}
                    {\printfield{labelprefix}}%
                    \printfield{labelnumber}}}}}
    {\usebibmacro{cite:comp:end}}%
    \setcounter{cbx@tempcntb}{\thefield{labelnumber}}%
    \global\let\cbx@secondtolastprefix\cbx@lastprefix
    \savefield{labelprefix}{\cbx@lastprefix}}

        \DefineBibliographyExtras{english}{
    \renewcommand*{\bibrangedash}{\addnbthinspace\textendash\addhpthinspace}
}
\renewbibmacro*{cite:dump}{%
    \ifnumgreater{\value{cbx@tempcnta}}{0}
    {\ifnumgreater{\value{cbx@tempcnta}}{1}
        {\bibrangedash}
        {\multicitedelim}%
        \bibhyperref[\cbx@lastkey]{%
            \ifdef\cbx@lastprefix
            {\ifdefequal\cbx@lastprefix\cbx@secondtolastprefix
                {}
                {\printtext[labelprefix]{\cbx@lastprefix}}}
            {}%
            \printtext[labelnumber]{\cbx@lastnumber}}}
    {}%
    \setcounter{cbx@tempcnta}{0}}
\makeatother
%==========================================================================================%
\DeclareFieldFormat{labelalphawidth}{\mkbibbrackets{#1}}

\defbibenvironment{bibliographyALPHA}
{\list
    {\printtext[labelalphawidth]{%
            \printfield{labelprefix}%
            \printfield{labelalpha}%
            \printfield{extraalpha}}}
    {\setlength{\labelwidth}{\labelalphawidth}%
        \setlength{\leftmargin}{\labelwidth}%
        \setlength{\labelsep}{\biblabelsep}%
        \addtolength{\leftmargin}{\labelsep}%
        \setlength{\itemsep}{\bibitemsep}%
        \setlength{\parsep}{\bibparsep}}%
    \renewcommand*{\makelabel}[1]{##1\hss}}
{\endlist}
{\item}

\begin{filecontents}{biblatextest1.bib}
    @BOOK{BookB07,
        author    = {Author Ät{\"a}},
        title     = {Some Title},
        publisher = {Some Publisher},
        year      = 2003,
    }
    @BOOK{BookB08,
        author    = {Author Bb\"{a}},
        title     = {Some Title},
        publisher = {Some Publisher},
        year      = 2004,
    }
    @BOOK{BookB09,
        author    = {Author Aaa},
        title     = {Some Title},
        publisher = {Some Publisher},
        year      = 2005,
    }
    @BOOK{BookB10,
        author    = {Author Kkk},
        title     = {Some Title},
        publisher = {Some Publisher},
        year      = 2006,
    }
    @BOOK{BookB11,
        author    = {Author Lll},
        title     = {Some Title},
        publisher = {Some Publisher},
        year      = 2007,
    }
    @BOOK{BookB12,
    author    = {Author Mmm},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2008,
}
    @BOOK{BookB13,
    author    = {Author Nnn},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2009,
}
    @BOOK{BookB14,
    author    = {Author Ooo},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2010,
}
    @BOOK{BookB15,
    author    = {Author Ppp},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2011,
}
    @BOOK{BookB16,
    author    = {Author Qqq},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2012,
}
    @BOOK{BookB17,
    author    = {Author Rrr},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2013,
}
    @BOOK{BookB18,
    author    = {Author Sss},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2014,
}
    @BOOK{BookB19,
    author    = {Author Ttt},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2015,
}
    @BOOK{BookB20,
    author    = {Author Uuu},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2016,
}
    @BOOK{BookB21,
    author    = {Author Vvv},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2017,
}
    @BOOK{BookB22,
    author    = {Author Xxx},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2018,
}
    @BOOK{BookB23,
    author    = {Author Yyy},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2019,
}
    @BOOK{BookB24,
    author    = {Author Zzz},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2020,
}
    @BOOK{BookB25,
    author    = {Author Ccc},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2021,
}
    @BOOK{BookB26,
    author    = {Author Ddd},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2022,
}
    @BOOK{BookB27,
    author    = {Author Eee},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2023,
}
    @BOOK{BookB28,
    author    = {Author Fff},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2024,
}
    @BOOK{BookB29,
    author    = {Author Ggg},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2025,
}
    @BOOK{BookB30,
    author    = {Author Hhh},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2026,
}
    @BOOK{BookB31,
    author    = {Author Iii},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2027,
}
    @BOOK{BookB32,
    author    = {Author Jjj},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2028,
}
    @BOOK{BookB33,
    author    = {Author aaA},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2029,
}
    @BOOK{BookB34,
    author    = {Author bBB},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2030,
}
    @BOOK{BookB35,
    author    = {Author cCC},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2031,
}
    @BOOK{BookB36,
    author    = {Author dDD},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2032,
}
    @BOOK{BookB37,
    author    = {Author eEE},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2033,
}
    @BOOK{BookB38,
    author    = {Author ff},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2034,
}
    @BOOK{BookB39,
    author    = {Author ggG},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2035,
}
    @BOOK{BookB40,
    author    = {Author hhH},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2036,
}
    @BOOK{BookB41,
    author    = {Author i},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2037,
}
    @BOOK{BookB42,
    author    = {Author jjJ},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2038,
}
    @BOOK{BookB43,
    author    = {Author kkK},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2039,
}
    @BOOK{BookB44,
    author    = {Author llL},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2040,
}
    @BOOK{BookB45,
    author    = {Author mMM},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2041,
}
    @BOOK{BookB46,
    author    = {Author nN},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2042,
}
    @BOOK{BookB47,
    author    = {Author Oo},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2043,
}
    @BOOK{BookB48,
    author    = {Author ppP},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2044,
}
    @BOOK{BookB49,
    author    = {Author qqQ},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2045,
}
    @BOOK{BookB50,
    author    = {Author rrR},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2046,
}
    @BOOK{BookB51,
    author    = {Author ssS},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2047,
}
    @BOOK{BookB52,
    author    = {Author t},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2048,
}
    @BOOK{BookB53,
    author    = {Author uuU},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2049,
}
    @BOOK{BookB54,
    author    = {Author vvV},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2050,
}
    @BOOK{BookB55,
    author    = {Author Www},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2051,
}
    @BOOK{BookB56,
    author    = {Author xxX},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2052,
}
    @BOOK{BookB57,
    author    = {Author yyY},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2053,
}
    @BOOK{BookB58,
    author    = {Author zzZ},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2054,
}
    @BOOK{BookB59,
    author    = {Author rst},
    title     = {Some Title},
    publisher = {Some Publisher},
    year      = 2055,
}
\end{filecontents}
\begin{filecontents}{biblatextest2.bib}
    @MISC{LinkD03,
        author  = {Author Ccc},
        title   = {Some Title},
        year    = 2004,
        url     = {www.test1.com/bild.jpg},
    }
    @MISC{LinkD04,
        author  = {Author Ddd},
        title   = {Some Title},
        year    = 2001,
        url     = {www.test2.com/bild.jpg},
    }
    @MISC{LinkD05,
        author  = {Author Eee},
        title   = {Some Title},
        year    = 2004,
        url     = {www.test3.com/bild.jpg},
    }
    @MISC{LinkD06,
        author  = {Author Fff},
        title   = {Some Title},
        year    = 2001,
        url     = {www.test4.com/bild.jpg},
    }
    @MISC{LinkD07,
        author  = {Author Ggg},
        title   = {Some Title},
        year    = 2004,
        url     = {www.test5.com/bild.jpg},
    }
    @MISC{LinkD08,
        author  = {Author Hhh},
        title   = {Some Title},
        year    = 2001,
        url     = {www.test6.com/bild.jpg},
    }
    @MISC{LinkD09,
        author  = {Author Iii},
        title   = {Some Title},
        year    = 2001,
        url     = {www.test6.com/bild.jpg},
    }
\end{filecontents}
\addbibresource{biblatextest1.bib}
\addbibresource{biblatextest2.bib}


\begin{document}
    The first two citations \autocite{LinkD07,LinkD03}
    and \autocite{BookB10,BookB11,BookB09}. 
    Mixing both primary and secondary \autocite{LinkD08,LinkD04,LinkD05,BookB10,BookB11,BookB09}.
    The others are \autocite{LinkD03,LinkD08,LinkD05,LinkD06,LinkD07}
    as well as \autocite{LinkD03,LinkD04,LinkD05,LinkD07,LinkD08, LinkD09}
    and \autocite{BookB07}.
    With page numbers \cites[2--15]{BookB09}[3,5,23]{BookB10}[1--6]{BookB11}
    With page numbers \Cites[2--15]{BookB10}[3,5,23]{BookB09}[1--6]{BookB11}
    
    Example of very long citation with multiple authors all in alpha style \cite{BookB07,BookB08,BookB09,BookB10,BookB11,BookB12,BookB13,BookB14,BookB15,BookB16,BookB17,BookB18,BookB19,BookB20,BookB21,BookB22,BookB23,BookB24,BookB25,BookB26,BookB27,BookB28,BookB29,BookB30,BookB31,BookB32,BookB33,BookB34,BookB35,BookB36,BookB37,BookB38,BookB39,BookB40,BookB41,BookB42,BookB43,BookB44,BookB45,BookB46,BookB47,BookB48,BookB49,BookB50,BookB51,BookB52,BookB53,BookB54,BookB55,BookB56,BookB57,BookB58,BookB59}. The are some problems with the linebreaks inside the citation. 
    
    \printbibliography[env=bibliographyALPHA, title=Bibliography, keyword=primary]
    
    \newrefcontext[labelprefix=tech\string\adddot\addnbthinspace]
    \printbibliography[title=References, keyword=secondary, resetnumbers]
\end{document}

Nicely broken lines.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.