![土耳其语 Babel 书目缺少作者姓名](https://linux22.com/image/448163/%E5%9C%9F%E8%80%B3%E5%85%B6%E8%AF%AD%20Babel%20%E4%B9%A6%E7%9B%AE%E7%BC%BA%E5%B0%91%E4%BD%9C%E8%80%85%E5%A7%93%E5%90%8D.png)
我正在尝试准备我的参考书目,但是当我尝试添加一些参考文献时,却没有参考文献的作者。
这是我的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}
这是我的书目,目前仅供演示。
@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}
}
这是我得到的结果:
答案1
这里的问题是babel-turkish
的简写设置。babel-turkish
使其处于=
活动状态,这会破坏许多键值包。由于biblatex
使用键值语法来命名名称,因此这些错误和不会显示。
在示例中,有问题的 简写!=
在 之后被禁用\begin{document}
,但对于 来说,这稍微有点太晚了biblatex
,因为它读取了.bbl
处的文件(其中包含所有书目数据,其中包括名称)\begin{document}
。
利用新的钩子管理系统,我们可以微调\shorthandoff
其中的放置\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}
解决此问题的另一种方法是使用选项shorthands
明确启用我们想要的速记。土耳其语设置:
、=
和!
。如果我们禁用,!=
我们只剩下:
,所以我们说shorthands=:
。如果你甚至不想要一个活动的冒号,那就用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}