Seite 1 von 1

Lit.verzeichnis:

Verfasst: Fr 19. Okt 2018, 07:05
von Edinita
Hallo!

Ich schreibe in meinem Dokument auf Deutsch und verwende daher die Einstellungen für deutsches Schreiben.
Meine Quellen sind alle aus englischsprachigen Quellen - daher würde ich gerne mit die Sprache auf Englisch umstellen.

So möchte ich gewährleisten, dass englischer Text z.B. nicht nach deutscher Silbentrennung behandelt wird.
"References" habe ich schon in "Literaturverzeichnis" geändert.
Hat vielleicht jemand eine Idee wie ich "and" in "und" ändern kann?

Liebe Grüße und danke :)
Edina

\documentclass[ngerman]{scrartcl} 

\begin{filecontents}{library.bib} 
@article{Acevedo2012, 
 author = {Acevedo, B. and Oehmen, A. and Carvalho, G. and Seco, A. and Borr{\'{a}}s, L. and Barat, R.}, 
 doi = {10.1016/j.watres.2012.01.003}, 
 isbn = {0043-1354}, 
 issn = {00431354}, 
 journal = {Water Research}, 
 keywords = {Accumulibacter Type I,Accumulibacter Type II,Glycogen-accumulating metabolism (GAM),Glycogen-accumulating organisms (GAO),Polyphosphate (poly-P),Polyphosphate-accumulating metabolism (PAM),Polyphosphate-accumulating organisms (PAO),Wastewater}, 
 number = {6}, 
 pages = {1889--1900}, 
 pmid = {22297158}, 
 title = {{Metabolic shift of polyphosphate-accumulating organisms with different levels of polyphosphate storage}}, 
 volume = {46}, 
 year = {2012} 
} 
\end{filecontents} 

\usepackage[utf8]{inputenc}             
\usepackage[T1]{fontenc} 
\usepackage[english,ngerman]{babel}

\usepackage[style=authoryear,maxbibnames=99,maxcitenames=2,backend=biber, isbn=false,giveninits=true,sorting=nyt,doi=false, url=false,uniquename=false,uniquelist=false]{biblatex}
\usepackage[babel,german=guillemets]{csquotes}

\DefineBibliographyStrings{ngerman}{andothers={\textit{et\addabbrvspace al\adddot}}} 

\renewcommand*{\nameyeardelim}{\addcomma\space} 

\DeclareBibliographyDriver{article}{%
  \printnames{author}%
  \newunit\newblock
  \printfield{year}%
  \addabbrvspace \newblock
  \printfield{title}%
  \newunit\newblock
  \printfield{journaltitle}%
  \newunit
  \printfield{volume}%
  \printfield{pages}%
  \finentry
}

\DeclareFieldFormat[article]{year}{(#1)}
\DeclareFieldFormat[article]{title}{#1}
\DeclareFieldFormat[article]{volume}{\textbf{#1:}}
\DeclareFieldFormat[article]{pages}{#1}
\DeclareFieldFormat[article]{journaltitle}{\textit{#1}}

\DeclareBibliographyDriver{misc}{%
  \printnames{author}%
  \newunit\newblock
  \printfield{year}%
  \addabbrvspace \newblock
  \printfield{title}%
  \newunit\newblock
  \printfield{journaltitle}%
  \newunit
  \printfield{volume}%
  \printfield{pages}%
  \finentry
}

\DeclareFieldFormat[misc]{year}{(#1)}
\DeclareFieldFormat[misc]{title}{#1}
\DeclareFieldFormat{citetitle}{\textrm{#1}}
\DeclareFieldFormat[misc]{volume}{\textbf{#1:}}
\DeclareFieldFormat[misc]{pages}{#1}
\DeclareFieldFormat[misc]{journaltitle}{\textit{#1}}


\addbibresource{library.bib} 
\begin{document} 
\textcite{Acevedo2012} \parencite{Acevedo2012} 

\selectlanguage{english}

\printbibliography 
\end{document}
\renewcommand{\refname}{Literaturverzeichnis


Verfasst: Fr 19. Okt 2018, 08:41
von markusv
Moin.

Ganz spontan fällt mir dazu
\DefineBibliographyStrings{english}{and={und}}
ein.

Ohne deinen ganzen Code durchwühlt zu haben, könnte ich mir vorstellen, dass du -- insb. auch in anderen Referenzen -- mehr Probleme bekommst, bspw. wenn Seiten-/Monatsangaben etc. in englisch ausgegeben werden.

Verfasst: Fr 19. Okt 2018, 08:57
von u_fischer
Es ist unklar, was du willst. Einerseits stellst du explizit auf englisch um -- und dann willst du wieder zu Deutsch zurück.

Falls du nur möchtest, dass Trennungen in englischen Referenzen englischen Regeln folgen, solltest du nicht mit \selectlanguage arbeiten, sondern das langid-Feld im bib-Eintrag setzen.

Verfasst: Fr 19. Okt 2018, 08:57
von Gast
Du hast gesehen, dass babel wegen der Verwendung von lokalen und globalen Sprachoptionen warnt und man daher, entsprechend der Warnung, besser
\usepackage[english,main=ngerman]{babel}
verwenden sollte? Dir ist auch klar, dass Code nach \end{document} für die Katz ist?

Ansonsten müsste es eigentlich funktionieren, biblatex mit Option autolang=hyphen zu laden und die Sprache bei den entsprechenden Literaturverzeichniseinträgen mit anzugeben, wenn ich die [d]biblatex[/d]-Anleitung in dem Punkt richtig verstanden habe. Also etwas wie:
\documentclass[ngerman]{scrartcl} 

\begin{filecontents}{library.bib} 
@article{Acevedo2012, 
 author = {Acevedo, B. and Oehmen, A. and Carvalho, G. and Seco, A. and Borr{\'{a}}s, L. and Barat, R.}, 
 doi = {10.1016/j.watres.2012.01.003}, 
 isbn = {0043-1354}, 
 issn = {00431354}, 
 journal = {Water Research}, 
 keywords = {Accumulibacter Type I,Accumulibacter Type II,Glycogen-accumulating metabolism (GAM),Glycogen-accumulating organisms (GAO),Polyphosphate (poly-P),Polyphosphate-accumulating metabolism (PAM),Polyphosphate-accumulating organisms (PAO),Wastewater}, 
 number = {6}, 
 pages = {1889--1900}, 
 pmid = {22297158}, 
 title = {{Metabolic shift of polyphosphate-accumulating organisms with different levels of polyphosphate storage}}, 
 volume = {46}, 
 year = {2012},
 langid={british}
} 
\end{filecontents} 

\usepackage[utf8]{inputenc}             
\usepackage[T1]{fontenc} 
\usepackage[british,main=ngerman]{babel}

\usepackage[style=authoryear,maxbibnames=99,maxcitenames=2,backend=biber, isbn=false,giveninits=true,sorting=nyt,doi=false, url=false,uniquename=false,uniquelist=false,autolang=hyphen]{biblatex}
\usepackage[babel,german=guillemets]{csquotes}

\DefineBibliographyStrings{ngerman}{andothers={\textit{et\addabbrvspace al\adddot}}} 

\renewcommand*{\nameyeardelim}{\addcomma\space} 

\DeclareBibliographyDriver{article}{%
  \printnames{author}%
  \newunit\newblock
  \printfield{year}%
  \addabbrvspace \newblock
  \printfield{title}%
  \newunit\newblock
  \printfield{journaltitle}%
  \newunit
  \printfield{volume}%
  \printfield{pages}%
  \finentry
}

\DeclareFieldFormat[article]{year}{(#1)}
\DeclareFieldFormat[article]{title}{#1}
\DeclareFieldFormat[article]{volume}{\textbf{#1:}}
\DeclareFieldFormat[article]{pages}{#1}
\DeclareFieldFormat[article]{journaltitle}{\textit{#1}}

\DeclareBibliographyDriver{misc}{%
  \printnames{author}%
  \newunit\newblock
  \printfield{year}%
  \addabbrvspace \newblock
  \printfield{title}%
  \newunit\newblock
  \printfield{journaltitle}%
  \newunit
  \printfield{volume}%
  \printfield{pages}%
  \finentry
}

\DeclareFieldFormat[misc]{year}{(#1)}
\DeclareFieldFormat[misc]{title}{#1}
\DeclareFieldFormat{citetitle}{\textrm{#1}}
\DeclareFieldFormat[misc]{volume}{\textbf{#1:}}
\DeclareFieldFormat[misc]{pages}{#1}
\DeclareFieldFormat[misc]{journaltitle}{\textit{#1}}

\addbibresource{library.bib} 
\begin{document} 
\textcite{Acevedo2012} \parencite{Acevedo2012} 

\printbibliography 
\end{document}
Leider ist das Beispiel nicht sonderlich nützlich, da es kein Trennproblem aufgrund der Sprache zeigt und ich damit auch nicht testen kann, ob obiges wirklich so funktioniert, wie ich mir das vorstelle.

Verfasst: Fr 19. Okt 2018, 09:31
von Gast
Die Sache ist etwas komplizierter, wenn Du englische Einträge hast, die nach englischen Regeln getrennt werden sollen, aber trotzdem ein deutsches Literaturverzeichnis mit "und", "Literatur", "Aufl." etc. haben möchtest. Bei biblatex kann man immer nur den ganzen Eintrag in der Sprache umschalten. Es ist nicht möglich, das auf einzelne Felder oder nur die Ausgabe aus der .bib-Datei einzuschränken (siehe https://github.com/plk/biblatex/issues/757 oder https://tex.stackexchange.com/q/444016/35864 bei TeX.SX). Wenn Du die Sprache mittels otherlanguage umschaltest, passt biblatex auch die Ausgabe der Strings wie "und", "Aufl." an die Sprache an. Wenn Du nur die Silbentrennung ändern möchtest, brauchst Du hyphenrules.

Auch bei der Umstellung mittels langid kannst Du entscheiden, ob Du alles umschalten möchtest oder nur die Silbentrennung. Dafür gibt es die Option autolang.

Wenn alles Englisch ist, kannst Du auch die ganze \printbibliography in ein
\begin{hyphenrules}{british}
...
\end{hyphenrules}
einpacken und auf eintragsgenaue Umstellungen verzichten.

Deine Redefinitionen der Driver sind sehr radikal und zerstören viele Optionen und bekannte Funktionen von biblatex (wie die DOI- oder Datums-Optionen oder begentry). Ich rate explizit davon ab, die Driver so umzudefinieren. Wenn Du erklären kannst, was Du möchtest, kann man das bestimmt schonender hinbekommen, aber ich habe Dir das glaube ich schon mal gesagt. Daher wiederhole ich es eher für den unbeteiligten Mitleser als Warnung und nicht so sehr, weil ich glaube, dass Du auch mich hörst.