我正在使用 beamer 和 metropolis 主题编写演示文稿。我的文档简介如下所示:
\documentclass{beamer}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usefonttheme{serif}
\usetheme[progressbar=foot]{metropolis}
我最初在 Stack 上进行谷歌搜索和阅读问题时,fontenc
发现inputenc
应该允许我使用字体支持的 Unicode 字形。在本例中,字体是费拉我验证了它确实有我想要写的字形。
问题是,当我在 .tex 文件中输入“₂”(下标 2)并使用 LuaTeX 编译它时,生成的 PDF 中没有“₂”应该出现的位置。如果我改用,则会\textsubscript{2}
出现字符(或者更确切地说,会出现一个字符,我猜它实际上不是 Unicode 字形“₂”)。如何让 Unicode 字符出现在 PDF 中?
答案1
主题metropolis
定义了它的字体,但你用指令覆盖了它们
\usefonttheme{serif}
如果你没有收到类似这样的错误信息
! Package inputenc Error: Unicode char ₂ (U+2082)
(inputenc) not set up for use with LaTeX.
这意味着您正在运行 XeLaTeX 或 LuaLaTeX。
代码应该是这样的
\documentclass{beamer}
\usetheme[progressbar=foot]{metropolis}
\begin{document}
\begin{frame}
\frametitle{Test}
This has a subscript₂
\end{frame}
\end{document}
产生
如果要使用pdflatex
,那么你必须教它下标2应该做什么并加载FiraSans
包。
\documentclass{beamer}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usetheme[progressbar=foot]{metropolis}
\usepackage{FiraSans}
\DeclareUnicodeCharacter{2082}{\textsubscript{2}}
\begin{document}
\begin{frame}
\frametitle{Test}
This has a subscript₂
\end{frame}
\end{document}