If we enable the package option singletitle
we can use the test \ifsingletitle
to check if there is only one work by a particular author.
We can modify the cite:title
macro to do nothing if that is the case
\renewbibmacro*{cite:title}{%
\ifsingletitle
{}
{\printtext[bibhyperref]{%
\printfield[citetitle]{labeltitle}}}}
This, leads to a tiny complication with punctuation though, so we also need
\renewbibmacro*{cite}{%
\global\boolfalse{cbx:loccit}%
\iffieldundef{shorthand}
{\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}
{\usebibmacro{cite:ibid}}
{\ifnameundef{labelname}
{}
{\printnames{labelname}%
\ifsingletitle{}{\setunit{\nametitledelim}}}%<--- the change is here
\usebibmacro{cite:title}}}%
{\usebibmacro{cite:shorthand}}}
Note that in your MWE I have changed your redefinition of the in
bibstring to the standard way to suppress the "in:", I also use style=authortitle-ibid
instead of the longer, but equivalent citestyle=authortitle-ibid, bibstyle=authortitle
. I don't like the techreport = {},
either, but I'm not entirely sure what you want to do there, so I left it, maybe, just maybe \AtEveryBibitem{\clearfield{type}}
does what you want. We also used \footcite{foo}
instead of \footnote{\cite{foo}}
.
\documentclass[11pt, article, oneside]{memoir}
\usepackage[australian]{babel}
\usepackage{csquotes}
\usepackage{endnotes}
\let\footnote=\endnote
\renewcommand{\notesname}{}
\usepackage[style=authortitle-ibid, terseinits=true, block=space, backend=biber, singletitle]{biblatex}
\defbibheading{memoir}{}
\addbibresource{biblatex-examples.bib}
\DefineBibliographyStrings{australian}{%
bibliography = {References},
shorthands = {Abbreviations},
editor = {editor},
editors = {editors},
techreport = {},
}
\renewbibmacro{in:}{}
\renewbibmacro*{cite}{%
\global\boolfalse{cbx:loccit}%
\iffieldundef{shorthand}
{\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}
{\usebibmacro{cite:ibid}}
{\ifnameundef{labelname}
{}
{\printnames{labelname}%
\ifsingletitle{}{\setunit{\nametitledelim}}}%
\usebibmacro{cite:title}}}%
{\usebibmacro{cite:shorthand}}}
\renewbibmacro*{cite:title}{%
\ifsingletitle
{}
{\printtext[bibhyperref]{%
\printfield[citetitle]{labeltitle}}}}
\begin{document}
blah\footcite[12]{sigfridsson} blah\footcite{worman,pines} blah\footcite[34]{knuth:ct:b}
blah\footcite[56]{geer} blah\footcite[78]{knuth:ct:c} blah.
\newpage
\addcontentsline{toc}{chapter}{Notes}
\chapter*{Notes}
%
\begingroup
\renewcommand{\makeenmark}{\hbox{\theenmark}.\quad}
\parindent 0pt
\parskip 2ex
\def\enotesize{\normalsize}
\theendnotes
\endgroup
\chapter*{References}
\raggedright
\printbibliography[heading=memoir]
\end{document}
Values for url
are automatically wrapped, but in other contexts, you must mark them up appropriately. Moreover, the first entry should be @inproceedings
and the second should have its date
.
\begin{filecontents}{\jobname.bib}
@inproceedings{Gaedke,
author = {Gaedke, Martin and Heil, Andreas},
title = {{GET} {/dgs} {HTTP}/1.1 Host: \url{www.WebComposition.net}},
url = {http://www.mendeley.com/research/dgs-http11-host-wwwwebcompositionnet/},
urldate={2018-08-19},
booktitle = {Proceedings of the 42nd Annual Hawaii International Conference on System Sciences},
date = 2009,
organization = {HICSS},
}
@online{IOT,
author = {Litzel, Nico},
title = {Was ist das Internet of Things?},
url = {https://www.bigdata-insider.de/was-ist-das-internet-of-things-a-590806/},
urldate={2018-08-19},
date = {2016-01-09},
}
\end{filecontents}
\documentclass[11pt, a4paper]{scrreprt}
\usepackage[style=alphabetic, sorting=anyt]{biblatex}
\addbibresource{\jobname.bib}
\usepackage[colorlinks, urlcolor=blue]{hyperref}
\begin{document}
\cite{Gaedke}
\cite{IOT}
\printbibliography
\end{document}
This does break the URL in the title, though we still get a bad box because TeX can't figure out a good way to break up the URL further. Or, more likely the url
package or hyperref
's version cannot.
If you want the URLs to be broken regardless, you can set the penalties accordingly. For example, adding
\setcounter{biburlnumpenalty}{9000}
\setcounter{biburlucpenalty}{9000}
\setcounter{biburllcpenalty}{9000}
produces
instead.
\documentclass[11pt, a4paper]{scrreprt}
\usepackage[style=alphabetic, sorting=anyt]{biblatex}
\addbibresource{\jobname.bib}
\usepackage[colorlinks, urlcolor=blue]{hyperref}
\setcounter{biburlnumpenalty}{9000}
\setcounter{biburlucpenalty}{9000}
\setcounter{biburllcpenalty}{9000}
\begin{document}
\cite{Gaedke}
\cite{IOT}
\printbibliography
\end{document}
Best Answer
I have answered a similar question about modifying author-year bibliographies. When trying to adapt my former answer to
authortitle-comp
, I noticed that using acomp
style (which compresses recurring author names in citations) presents an additional difficulty: One cannot simply use\usebibmacro{cite}
when customizing the bibliography format, but must resort to lower-level commands. The following seems to work:EDIT: Replaced
\quad
with\newline
. Please specify what other part of the layout is "incorrect".