更改 BibTeX 的语言

更改 BibTeX 的语言

我正在用希腊语写一份文件。

不过,我的参考书目主要由英文条目组成(以及一些希腊文、法文和德文条目)。

如果我只是添加.bib文件,所有条目都是希腊文。如果我在添加文件之前更改语言,则.bib条目都是英文,章节标题也是英文,这对我来说不是首选。我尝试使用

\selectlanguage{english}

在我的文件的第一行.bib,但它不起作用。我也试过

\LANGUAGE=english

作为参考书目条目中的一个字段,但它也不起作用...有什么想法吗?

以下是我的.tex文件(我正在使用subfiles)和.bib文件。

main.tex

\documentclass[11pt,a4paper]{book}
\usepackage[english,greek]{babel}
\usepackage[iso-8859-7]{inputenc}
\usepackage{kerkis}
\usepackage{subfiles}
\usepackage[Glenn]{fncychap}
\usepackage{fancyhdr}

%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
\usepackage{tocloft}
\makeatletter
\newcommand*{\tocwithouttitle}{\@starttoc{toc}}
\makeatother
%--------------------------------------------------------------------------------
\makeatletter
\newcommand*{\lofwithouttitle}{\@starttoc{lof}}
\makeatother
%--------------------------------------------------------------------------------
\makeatletter
\newcommand*{\lotwithouttitle}{\@starttoc{lot}}
\makeatother
%--------------------------------------------------------------------------------
%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

\parskip 3mm
\footskip = 15mm
\begin{document}

%~~~~~~~~~~~~~~~~~~~~~~~Front-Page~~~~~~~~~~~~~~~~~~~~~~~~~~
\begin{titlepage}
Frontpage
\end{titlepage}

\pagenumbering{roman}

\textcolor{Darkblue}{\chapter*{\contentsname}}
\markboth{\MakeUppercase{\contentsname}}{\MakeUppercase{\contentsname}}
\textcolor{Darkblue}{\tocwithouttitle}
\addcontentsline{toc}{chapter}{Περιεχόμενα}

\newpage

\textcolor{Darkblue}{\chapter*{Κατάλογος Σχημάτων}}
\markboth{\MakeUppercase{Κατάλογος Σχημάτων}}{\MakeUppercase{Κατάλογος Σχημάτων}}
\textcolor{Darkblue}{\lofwithouttitle}
\addcontentsline{toc}{chapter}{Κατάλογος Σχημάτων}

\newpage

\textcolor{Darkblue}{\chapter*{Κατάλογος Πινάκων}}
\markboth{\MakeUppercase{Κατάλογος Πινάκων}}{\MakeUppercase{Κατάλογος Πινάκων}}
\textcolor{Darkblue}{\lotwithouttitle}
\addcontentsline{toc}{chapter}{Κατάλογος Πινάκων}

\newpage

\pagenumbering{arabic}

\subfile{introductionGR.tex}

\clearpage
\addcontentsline{toc}{chapter}{Βιβλιογραφία}
%\selectlanguage{english}
\textcolor{Darkblue}{\bibliography{test}}
\bibliographystyle{plain}
\end{document}

这是我的子文件(名为introductionGR.tex),带有引文......

\documentclass[main.tex]{subfiles}
\begin{document}
\textcolor{Darkblue}{\chapter{Εισαγωγή}}
Ο κόσμος στον οποίο ζούμε είναι αποτέλεσμα βίαιων διεργασιών που έλαβαν χώρα πριν από     περίπου $14$ δισεκατομύρια χρόνια\cite{UniverseAge}. Η φυσική υψηλών ενεργειών ή   σωματιδιακή φυσικής βρίσκεται\cite{bar2} στο προσκήνιο 
\end{document}

最后但同样重要的是我的.bib文件(名为test.bib

\selectlanguage{english}
@article{UniverseAge,
    author    = "N. Jarosik et al",
    title     = "Seven-year Wilkinson Microwave Anisotropy Probe (WMAP) Observations: Sky Maps, Systematic Errors, and Basic Results",
    journal   = "The Astrophysical Journal Supplement Series",
    volume   = "192",
    number   = "14",
    pages    = "15",
    year      = "2011",
    month    = "February",
}

@BOOK{bar2,
    AUTHOR = "Astar, R. M.",
    TITLE = "Foo Bar Baz",
    PUBLISHER = {MIT Press},
    ADDRESS = {Cambridge, MA},
    YEAR = 1989}

我也尝试过package babellib,但是也不起作用...我使用的代码:

 \usepackage{babelbib}
 \selectbiblanguage{english}

注意:我不想使用 XeLaTeX。这不可能吗?


错误 #1:

LaTeX Error:Command \c@lofdepth already defined.
            Or name \end...illegal, see p.192 of the manual.
See the LaTeX manual or LaTeX Companion for explanation.

有问题的线路是

\newcounter{lofdeth}

位于子图文件中!(?)

错误 #2:

LaTeX Error:Command \c@lofdepth already defined.
            Or name \end...illegal, see p.192 of the manual.
See the LaTeX manual or LaTeX Companion for explanation.

有问题的线路是

\newcounter{lotdeth}

位于子图文件中!(?)

错误 #3:

LaTeX Error:Something's wrong--perhaps a missing \item.
See the LaTeX manual or LaTeX Companion for explanation.

有问题的线路是

\contentsline {chapter}{Perieq'omena}{\textlatin {iii}}{chapter*.1}

在 main.toc 中

注意:Perieq'omena是希腊语中“内容”的意思。正确的说法应该是Περιεχόμενα

错误 #4:

LaTeX Error:Something's wrong--perhaps a missing \item.
See the LaTeX manual or LaTeX Companion for explanation.

有问题的线路是

\addvspace {10\p@ }

在 main.lof 中

错误 #5:

LaTeX Error:Something's wrong--perhaps a missing \item.
See the LaTeX manual or LaTeX Companion for explanation.

有问题的线路是

\addvspace {10\p@ }

在 main.lot 中

我认为错误 #3 可能与我的问题有关。我使用的是 kerkis 字体。但即使我使用默认的 babel 字体,问题仍然存在。


MWE 警告

警告#1:

LaTeX Font Warnig:Some font shapes were not available,defaults substituded.

警告#2:

LaTeX Font Warnig: Font shape 'OT1/MAK/m/n' undefined
                   using 'OT1/cmr/m/n' instead on input line 1

警告 #3:

LaTeX Warnig: Overwriting file './test.bib'

答案1

您的文件中有几个错误。首先,您的 MWE 无法编译。使 MWE 尽可能小。删除与问题无关的所有内容。

如果语言是英语,则在bib文件中为每个条目添加一个字段。对于希腊语书籍/文章/...,添加。 language={English}language={Greek}

您的\textcolor{Darkblue}{\tocwithouttitle}代码无法编译。首先,颜色Darkblue没有定义(\usepackage[]{xcolor}缺失?)。我将其删除了。

在您的bib文件中,您有author = "N. Jarosik et al",。您应该将所有作者(包括完整名字)写入您的bib文件中;这取决于您的参考书目的样式,是打印作者列表还是“第一作者等”。

更新 1 和 2:

filecontents写入文件test.bib(我们的最小bib文件)。texdoc filecontents您可以使用阅读包文档。\selectlanguage{...}您可以使用切换语言。请注意,我更改了文档类,只是report为了获得更短的pdf文件。

较短的 MWE(在我的系统上正在编译):

%https://tex.stackexchange.com/questions/69780/change-bibtexs-language
\RequirePackage{filecontents}
\begin{filecontents*}{test.bib}
@comment Datei test.bib
@article{UniverseAge,
    author    = "N. Jarosik et al",
    title     = "Seven-year Wilkinson Microwave Anisotropy Probe (WMAP) Observations: Sky Maps, Systematic Errors, and Basic Results",
    journal   = "The Astrophysical Journal Supplement Series",
    volume   = "192",
    number   = "14",
    pages    = "15",
    year      = "2011",
    month    = "February",
    language = "English",
}

@BOOK{bar2,
    AUTHOR    = {Astar, R. M.},
    TITLE     = {Foo Bar Baz},
    PUBLISHER = {MIT Press},
    ADDRESS   = {Cambridge, MA},
    language  = {English},
    YEAR      = {1989}
}
\end{filecontents*}

\documentclass[11pt,a4paper]{report}
\usepackage[english,greek]{babel}
\usepackage[iso-8859-7]{inputenc}
%\usepackage[T1,OT1]{fontenc}
\usepackage{kerkis}

\begin{document}

\selectlanguage{greek}
\tableofcontents

\section*{Κατάλογος Πινάκων}
\addcontentsline{toc}{section}{Κατάλογος Πινάκων}

\section{Εισαγωγή}
δισεκατομύρια χρόνια\cite{UniverseAge}. ... βρίσκεται\cite{bar2} στο προσκήνιο

\selectlanguage{english}
\renewcommand\bibname{Βιβλιογραφία}
%\renewcommand{\bibname}{\normalsize Βιβλιογραφία} 
%\renewcommand\bibname{{\fontfamily{mak}\selectfont Βιβλιογραφία}}
%\renewcommand\bibname{{\usefont{T1}{mak}{m}{n} Βιβλιογραφία}}  % T1,OT1
\bibliographystyle{plain}
\bibliography{test}

\end{document}

我添加了一些注释行来显示您拥有的替代方案,您应该尝试一下。例如,您使用吗fontenc?我添加了两个替代方案来切换参考书目的标题。

另请查看问题如何更改参考书目标题

如果这个 MWE 正在运行,你可以将它与你的论文进行比较,找出两者之间的差异。查看这些差异,并将论文中的小部分复制到 MWE 中,重新编译并检查发生了什么。没有错误?很好,下一部分...

相关内容