Bibliographie mit türkischem Babel, fehlender Autorenname

Bibliographie mit türkischem Babel, fehlender Autorenname

Ich versuche, meine Bibliographie vorzubereiten, aber wenn ich versuche, einige Referenzen hinzuzufügen, werden keine Autoren der Referenzen angezeigt.

Hier ist mein main.text:

\documentclass[a4paper,12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{geometry}

\geometry{top=30mm,right=30mm,left=30mm,bottom=30mm}

\usepackage{setspace}
\usepackage{anyfontsize}
\usepackage{multicol}
\usepackage{ragged2e}
\usepackage{amsmath}
\usepackage{mathptmx}
\usepackage[english,turkish]{babel}
\usepackage[T1]{fontenc}
\usepackage{graphicx}
\usepackage[style=authoryear]{biblatex}
\addbibresource{biblio.bib}

\begin{document}
\shorthandoff{=!}
%\input{Chapters/Titlepage}
%\input{Chapters/Titlepage2}
%\input{Chapters/Abstract}
\input{Chapters/Micromechanics of Lamina}
\input{Chapters/MacroMechanics of Lamina}
\input{Chapters/Macromechanical Analysis of Laminates}

\printbibliography

\end{document}

Dies ist meine Bibliographie, sie dient im Moment nur zu Demozwecken.

@article{knuth:1984,
title={Literate Programming},
author={Donald, Knuth},
journal={The Computer Journal},
volume={27},
number={2},
pages={97--111},
year={1984},
publisher={Oxford University Press}
}

Und das ist das Ergebnis, das ich erhalte:

Bildbeschreibung hier eingeben

Antwort1

Das Problem hier sind babel-turkishdie Kurzschreibeinstellungen von . babel-turkishmakes =active, die viele Schlüssel-Wert-Pakete bremsen. Da biblatexfür Namen eine Schlüssel-Wert-Syntax verwendet wird, werden diese Fehler nicht angezeigt.

Im Beispiel !=werden die problematischen Abkürzungen für nach deaktiviert \begin{document}, aber das ist für etwas zu spät biblatex, da es die .bblDatei (die alle bibliografischen Daten, darunter Namen, enthält) bei liest \begin{document}.

\shorthandoffMit dem neuen Hook-Management-System können wir die Platzierung innerhalb feinabstimmen \begin{document}.

\documentclass[a4paper,12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[english,turkish]{babel}
\usepackage[T1]{fontenc}
\usepackage[style=authoryear]{biblatex}
\addbibresource{biblatex-examples.bib}

\AtBeginDocument[biblatex/shorthands]{%
  \shorthandoff{=!}%
}

\DeclareHookRule{begindocument}{biblatex/shorthands}{before}{biblatex}

\begin{document}
Lorem \autocite{sigfridsson}

\printbibliography
\end{document}

Lorem (Sigfridsson und Ryde 1998)

Eine andere Möglichkeit, dieses Problem zu lösen, besteht darin, die shorthandsOption zu verwenden, um die gewünschten Abkürzungen explizit zu aktivieren. Im Türkischen werden :, =und gesetzt !. Wenn wir deaktivieren , !=bleibt uns :, also sagen wir shorthands=:. Wenn Sie nicht einmal einen aktiven Doppelpunkt möchten, wählen Sie shorthands=off.

\documentclass[a4paper,12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[english, turkish, shorthands=:]{babel}
\usepackage[T1]{fontenc}
\usepackage[style=authoryear]{biblatex}
\addbibresource{biblatex-examples.bib}

\begin{document}
Lorem \autocite{sigfridsson}

\printbibliography
\end{document}

verwandte Informationen