Estoy intentando escribir un ejemplo del uso de una fuente Unicode en Latex Beamer. El pdf resultante no muestra los caracteres hindi, sino que muestra espacios en blanco en ese lugar. Sin embargo, cuando uso el mismo código en documentclass[artículo], produce resultados correctos. ¿Alguien puede ayudarme dónde radica el problema?
\documentclass[xetex]{beamer}
\usetheme{Warsaw}
\usepackage{verbatim}
\usepackage{verbatimbox}
\usepackage{subfigure}
\usepackage{framed,color}
\definecolor{shadecolor}{rgb}{0.93,0.91,0.91}
\usepackage{graphicx}
\usepackage{hyperref}
\usepackage{polyglossia}
\usepackage{fontspec}
\usepackage{xunicode} %Unicode extras!
\usepackage{xltxtra} %Fixes
%\setmainfont{Bitstream Charter}
\setdefaultlanguage{english}
\setotherlanguage{hindi}
\newfontfamily\hindifont[Script=Devanagari]{Lohit Hindi}
\begin{document}
\begin{frame}[fragile]
\frametitle{Writing unicode text: use of \textit{.ttf} files}
\begin{shaded}
\begin{verbatim}
\documentclass{article}
\usepackage{fontspec}
\begin{document}
\setmainfont{Lohit Hindi}
\texthindi{देवनागरी में लिखना बहुत आसान है |}
\end{document}
\end{verbatim}
\end{shaded}
This produces
\texthindi{देवनागरी में लिखना बहुत आसान है |}
\end{frame}
\end{document}
Respuesta1
Beamer utiliza fuente sans serif de forma predeterminada. Esto significa que debe definir \hindifontsf
en lugar de \hindifont
cuál funcionó para la clase de artículo.
Alternativamente, puede indicarle al proyector que use fuentes serif usando \usefonttheme{serif}
.
% !TeX TS-program = xelatex
\documentclass[xetex]{beamer}
\usetheme{Warsaw}
%\usefonttheme{serif}
\usepackage{polyglossia}
\usepackage{fontspec}
\setdefaultlanguage{english}
\setotherlanguage{hindi}
\newfontfamily\hindifontsf[Script=Devanagari]{Lohit Hindi}
\begin{document}
\begin{frame}
\texthindi{देवनागरी में लिखना बहुत आसान है |}
\end{frame}
\end{document}