Cleverref 在 \foreignlanguage 之後不使用預設語言

Cleverref 在 \foreignlanguage 之後不使用預設語言

我有以下程式碼:

\documentclass[a4paper]{article}

% PACKAGES
\usepackage[english,ngerman]{babel}
\usepackage[utf8]{inputenc}

\usepackage[ngerman]{varioref}
\usepackage{hyperref}
\usepackage[ngerman]{cleveref}

\begin{document}

\section{Test}\label{test}

\foreignlanguage{english}{here some english text..}
%\selectlanguage{ngerman}

german text.. \cref{test}.

\end{document}

參考文獻應為德語,因為預設語言設定為德語。但 smartref 總是在 後印製英文參考文獻\foreignlanguage{english}{some english text..}。我可以透過附加來避免這種奇怪的行為\selectlanguage{ngerman},但這看起來更像是駭客而不是真正的解決方案。

有人有解決方案嗎(或者我是否誤解了 的概念\foreignlanguage)?

相關內容