几天前刚发现 TeX :)
现在做了很多实验。我正在尝试为我的论文制作一个模板(它将使用几种语言的引文和参考书目以及一些严肃的数学)。XeLaTeX 现在似乎给我带来的问题最少(但一开始很难)。
无论如何,我对波兰语版本日期中月份名称和年份之间缺少的空格感到有点困惑......
是我做错了什么还是有一个错误?
%!TEX TS-program = XeLaTeX
%!TEX encoding = UTF-8 Unicode
\documentclass{minimal}
\usepackage[no-math]{fontspec}
\newfontfamily\greekfont[Script=Greek, Scale=MatchUppercase, Ligatures=TeX]{Linux Libertine O}
\newfontfamily\cyrillicfont{Linux Libertine O}
\usepackage{polyglossia}
\setdefaultlanguage[variant=british]{english}
\setotherlanguages{latin,greek,russian,polish,german}
\begin{document}
greek (\textgreek[variant=ancient]{ελληνικά \today}),
russian (\textrussian{русский \today}),
polish (\textpolish{polski \today}),
german (\textgerman{Deutsch \today}),
latin (\textlatin{Latina \today}),
\end{document}
答案1
这肯定是文件中的一个错误gloss-polish.ldf
,其中的定义\datepolish
是
\def\datepolish{%
\def\today{\number\day\space\ifcase\month\or
stycznia\or lutego\or marca\or kwietnia\or maja\or czerwca\or
lipca\or sierpnia\or września\or października\or
listopada\or grudnia\fi
\number\year}%
}
并且缺少一个空格,因为\fi
规则忽略了后面的空格。
\setmainlanguage{polish}
您可以在调用该语言(使用或\setotherlanguage{...,polish,...}
)后,通过添加到文档中来纠正它,等待官方修复,
\def\datepolish{%
\def\today{\number\day\space\ifcase\month\or
stycznia\or lutego\or marca\or kwietnia\or maja\or czerwca\or
lipca\or sierpnia\or września\or października\or
listopada\or grudnia\fi\space
\number\year}%
}
完整示例:
%!TEX TS-program = XeLaTeX
%!TEX encoding = UTF-8 Unicode
\documentclass{article}
\usepackage[no-math]{fontspec}
\setmainfont{Linux Libertine O}
\newfontfamily\greekfont[Script=Greek, Scale=MatchUppercase, Ligatures=TeX]{Linux Libertine O}
\newfontfamily\cyrillicfont{Linux Libertine O}
\usepackage{polyglossia}
\setdefaultlanguage[variant=british]{english}
\setotherlanguages{latin,greek,russian,polish,german}
\def\datepolish{%
\def\today{\number\day\space\ifcase\month\or
stycznia\or lutego\or marca\or kwietnia\or maja\or czerwca\or
lipca\or sierpnia\or września\or października\or
listopada\or grudnia\fi\space
\number\year}%
}
\begin{document}
Greek (\textgreek[variant=ancient]{ελληνικά \today})
Russian (\textrussian{русский \today})
Polish (\textpolish{polski \today})
German (\textgerman{Deutsch \today})
Latin (\textlatin{Latina \today})
\end{document}