Biblatex 與 serbianc 選項的 Babel 套件衝突

Biblatex 與 serbianc 選項的 Babel 套件衝突

編譯以下範例程式碼時:

\documentclass[a4paper]{article} 

\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[serbianc]{babel}
\usepackage[backend=biber]{biblatex}
\addbibresource{lit.bib}

\begin{document}
TEXT
\end{document}

報如下錯誤:! Package biblatex Error: Incompatible package 'ucs'.

該行:\usepackage[serbianc]{babel}似乎是衝突的原因,因為沒有該特定行的編譯工作正常。

我正在用塞爾維亞語寫一篇論文,其中將包含參考書目,是否可以解決這個問題,同時保留原始程式碼中包含的兩個必要的套件。

答案1

隨著當前版本babel-serbianc(3.0 2019-01-12),MWE 依需求編譯。包ucs未載入。作為https://tug.org/pipermail/tex-live-commits/2019-January/008417.htmlbabel-serbianc顯示(至少)舊版本2011/06/06 v2.2確實加載了ucs

加上一點詭計卸載 LaTeX 包即使使用過時的版本,我也可以編譯該範例babel-serbianc,但您可能會面臨未來出錯的風險。所以我的明確建議是使用新版本的babel-serbianc.

\listfiles
\documentclass[a4paper]{article} 

\usepackage{etoolbox}
\makeatletter
\newcommand{\dontusepackage}[2][]{%
  \csdef{ver@#2.sty}{9999/12/31}%
  \csdef{opt@#2.sty}{#1}}
\newcommand{\pretendpackagewasnotloaded}[1]{%
  \csundef{ver@#1.sty}%
  \csundef{opt@#1.sty}}
\makeatother

\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}

\dontusepackage{ucs}
\usepackage[serbianc]{babel}
\pretendpackagewasnotloaded{ucs}

\usepackage[backend=biber]{biblatex}
\addbibresource{biblatex-examples.bib}

\begin{document}
TEXT
\end{document}

請注意,biblatex不會說塞爾維亞語,因此參考書目和引文將採用英語。看配置 biblatex 以與不支援的語言一起使用的最合適方法是什麼?。如果您正在考慮為 編寫塞爾維亞語本地化版本biblatex,請考慮考慮https://github.com/plk/biblatex/issues並分享你的想法。

相關內容