更改 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 中,重新編譯並檢查發生了什麼。沒有錯誤嗎?好,下一部分...

相關內容