在排版烹饪食谱时,我遇到了“Koláč”一词中的“č”字符问题。我现在正在使用 XeTeX。这是我的 MWE:
\documentclass[]{article}
\usepackage[T1]{fontenc}
\usepackage{a4wide}
\usepackage[czech]{babel}
\usepackage{ifxetex,ifluatex}
\usepackage{xcookybooky}
\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex
\usepackage[utf8]{inputenc}
\else % if luatex or xelatex
\usepackage{fontspec}
\ifxetex
\usepackage{xltxtra,xunicode}
\fi
\defaultfontfeatures{Mapping=tex-text,Scale=MatchLowercase}
\fi
\title{Recepty}
\author{Václav Zeman a Ludmila Zemanová}
\date{\today}
\setHeadlines{
inghead = Ingredience,
prephead = Příprava,
hinthead = Tip,
calory = energetický obsah,
continuationhead = Pokračování,
continuationfoot = Pokračování na další stránce
}
\begin{document}
\begin{recipe}[
]{Koláč bramborový}
\ingredients{
\unit[30]{dkg} & vařených brambor \\
}
\end{recipe}
\end{document}
“č” 字符无法输出,而许多其他捷克国家字符可以输出。我该怎么办?
答案1
该xcookybooky
软件包对字体做出了错误的假设。但你也做错了:
不要
fontenc
与 XeLaTeX 或 LuaLaTeX 一起使用(可以使用,但一般情况下不行)不要使用过时的
a4wide
包。geometry
如果您想修改页面参数,请使用。不要加载
xltxtra
和xunicode
。
解决方法很简单:使用菜谱标题的默认字体和编码:
\documentclass[a4paper]{article}
\usepackage{ifxetex,ifluatex}
\usepackage{xcookybooky}
\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[czech]{babel}
\else % if luatex or xelatex
\usepackage{fontspec}
\defaultfontfeatures{Ligatures=TeX,Scale=MatchLowercase}
\ifluatex
\usepackage[czech]{babel}
\fi
\ifxetex
\usepackage{polyglossia}
\setmainlanguage{czech}
\fi
\fi
%%% Fix the setting by xcookybooky
\AtBeginDocument{
\setRecipenameFont{\familydefault}{\encodingdefault}{b}{n}
}
\title{Recepty}
\author{Václav Zeman a Ludmila Zemanová}
\date{\today}
\setHeadlines{
inghead = Ingredience,
prephead = Příprava,
hinthead = Tip,
calory = energetický obsah,
continuationhead = Pokračování,
continuationfoot = Pokračování na další stránce
}
\begin{document}
\begin{recipe}[
]{Koláč bramborový}
\ingredients{
\unit[30]{dkg} & vařených brambor \\
}
\end{recipe}
\end{document}
我用过polyglossia
XeLaTeX,但babel
也可以起作用。
“土豆饼”?应该不错。;-)