我尝试运行 Stephen Kottwiz 发布的 Latex 代码来回答这个问题:如何在天城文包中制作梵文标题
以下是相同的代码:
\documentclass[10pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{devanagari}
\usepackage{fontspec,bera}
\begin{document}
\title{{\dn vivekachoodama.ni}}
\author{Sri Sankaracharya}
\maketitle
\begin{flushleft}
{\dn sarvavedaantasiddhaantagocara.m tamagocara.m | \\ govinda.m paramaananda.m {sad}guru.m pra.nato.asmyaham || 1}
\end{flushleft}
\end{document}
我尝试使用 PDFLatex 来处理代码并出现以下错误。
line 0: File ended while scanning use of \iow_wrap_loop:w
有人可以解释一下这个问题吗?
答案1
由于fontspec
正在加载,您需要使用 xelatex 处理示例;但是,原始代码不会按预期工作(使用 xelatex),并将产生错误消息
) Runaway argument? \q_stop \exp_args:NNo \group_end: \iow_term:n \l__iow_wrap_tl \iow_term:n \ETC. ! File ended while scanning use of \__iow_wrap_loop:w. <inserted text>
\par l.269 \luatex_if_engine:T
{ \RequirePackage{fontspec-luatex} \endinput } ?
为了使示例能够正常工作(至少在 TeX Live2012 中),需要加载fontspec
前 devanagari
(并且不应加载fontenc
和包):inputenc
\documentclass[10pt]{article}
\usepackage{fontspec}
\usepackage{devanagari}
\usepackage{bera}
\title{{\dn vivekachoodama.ni}}
\author{Sri Sankaracharya}
\begin{document}
\maketitle
\begin{flushleft}
{\dn sarvavedaantasiddhaantagocara.m tamagocara.m | \\ govinda.m paramaananda.m {sad}guru.m pra.nato.asmyaham || 1}
\end{flushleft}
\end{document}
这将产生以下输出:
以及关于某些字体不可用的警告:
LaTeX Font Warning: Font shape `EU1/fve/m/n' undefined (Font)
using `EU1/lmr/m/n' instead on input line 11.
不加载bera
包会抑制警告。
如果您想使用 pdflatex 进行处理,请删除该fontspec
包(然后您可以再次加载fontenc
和inputenc
):
\documentclass[10pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{devanagari}
\usepackage{bera}
\title{{\dn vivekachoodama.ni}}
\author{Sri Sankaracharya}
\begin{document}
\maketitle
\begin{flushleft}
{\dn sarvavedaantasiddhaantagocara.m tamagocara.m | \\ govinda.m paramaananda.m {sad}guru.m pra.nato.asmyaham || 1}
\end{flushleft}
\end{document}
这次没有发出警告。