I have some problems with Biblatex and my bibliography. I have books and online sources in my library. For some of my online sources, I have no author. Instead, I use the organization field. For this I declared the online style:
\DeclareBibliographyDriver{online}{%
\usebibmacro{author/editor}%%
\newunit\newblock
\printlist{organization}%
\newunit\newblock
\usebibmacro{title}%
\newunit\newblock
\printfield{note}%
\newunit\newblock
\usebibmacro{date}%
\newunit\newblock
\usebibmacro{url+urldate}%
\newunit\newblock
}
Here is one source from my .bib file:
@Online{Inc2015,
citationkey = {Inc2015},
title = {Class ArrayList<E>},
url = {https://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html},
year = {2015a},
note = {in: Java™ Platform, Standard Edition 7 API Specification},
organization = {Oracle America Inc.},
urldate = {2021-01-03},
}
With this re-designed style I get this as result:

But from the style, it should be Author or organization and then the title. For some reasons, it prints the title first, when only an organization is given.
If I put the organization in the first place, my bibliography gets not sorted correctly. I use an alphabetical sort, but the online sources (with the organization) are placed before the books.
One workaround would be using the author field instead of the organization. The problem here: He "detects" a name and a family name and shows the organization like this:

So right now, I have no idea how to fix my problem. Change the author field for the online source makes no sense in the case I have a real author.
Here is my config:
\documentclass[
12pt,
a4paper,
headinclude,
footinclude,
listof=totoc,
toc=sectionentrywithdots,
bibliography=totoc
]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[onehalfspacing]{setspace} % 1,5facher Zeilenabstand
\usepackage[a4paper, top=3cm,bottom=3cm,left=2.5cm,right=2cm]{geometry}
\usepackage{graphicx}
%Literaturverzeichnis Pakete + Anpassungen am Erscheinungsbild
\usepackage[
style=authoryear,
autocite=footnote,
maxcitenames=3,
mincitenames=3,
maxbibnames=8,
minbibnames=8,
]{biblatex}
\usepackage[hang]{footmisc}
\setlength{\footnotemargin}{4mm}
\addbibresource{LaTeX/literatur.bib} % Datei mit Literaturverzeichnis
\renewcommand{\newunitpunct}{\addcomma\space}
\renewcommand{\finentrypunct}{}
\DeclareFieldFormat[book]{title}{\mkbibquote{#1\isdot}}
\DeclareFieldFormat[online]{title}{\mkbibquote{#1\isdot}}
\DeclareNameAlias{default}{family-given}
\DeclareNameAlias{sortname}{default}
\DeclareListWrapperFormat{location}{\mkbibparens{#1}}
\DefineBibliographyStrings{german}{
andothers = {et al\adddot},
nodate = {o.J\adddot},
}
\DeclareDelimFormat{nameyeardelim}{\addcomma\space}
\DeclareDelimFormat[bib]{nameyeardelim}{\addcomma\space}
\renewbibmacro*{cite:label}{%
\printtext[bibhyperref]{\printfield{label}}}
\newbibmacro*{cite:labeltitle}{%
\printtext[bibhyperref]{\printfield[citetitle]{labeltitle}}}
\newbibmacro*{cite:organization}{%
\printtext[bibhyperref]{\printfield{organization}}
}
\renewbibmacro*{cite}{%
\ifentrytype{online}%
{\ifnameundef{author}
{\printlist{organization}}
{\printnames{author}}
\setunit{\printdelim{nameyeardelim}}%
\usebibmacro{cite:labeldate+extradate}%
\setunit{\addspace}%
\printtext{Onlinequelle}}
%\bibstring{Onlinequelle}}
{\iffieldundef{shorthand}
{\ifnameundef{labelname}
{\usebibmacro{cite:label}%
\setunit{\printdelim{nonameyeardelim}}}
{\printnames{labelname}%
\setunit{\printdelim{nameyeardelim}}}%
\iffieldequalstr{labeldatesource}{nodate}
{\usebibmacro{cite:labeltitle}}
{\usebibmacro{cite:labeldate+extradate}}}
{\usebibmacro{cite:shorthand}}}}
%\ifentrytype
\newbibmacro{printOnline}{%
Onlinequelle
}
\DeclareDelimFormat{multinamedelim}{\slash}
\DeclareDelimAlias{finalnamedelim}{multinamedelim}
\DeclareFieldFormat{urldate}{(Zugriff am: #1)}
\DeclareBibliographyDriver{online}{%
\usebibmacro{author/editor}%%
\newunit\newblock
\printlist{organization}%
\newunit\newblock
\usebibmacro{title}%
\newunit\newblock
\printfield{note}%
\newunit\newblock
\usebibmacro{date}%
\newunit\newblock
\usebibmacro{url+urldate}%
\newunit\newblock
}
Using these sources would be something like this:
Test \autocite[Siehe][]{Inc2015}
orghanizationtoauthorhere. I would not call this a 'workaround', I'd call it best practice here. You just need to wrap corporate names into an additional pair of curly braces to stop Biber/BibTeX from trying to parse it as a person's name:author = {{Oracle America Inc.}},. See https://tex.stackexchange.com/q/10808/35864 – moewe Jan 16 '21 at 13:21Yes, I remembered that answer too. However, I must have overlooked the double {} and I did not know about this either.
Therefore, the question is actually unnecessary.
– wit4r7 Jan 16 '21 at 13:51