编译梵文文本时扫描使用错误

编译梵文文本时扫描使用错误

我尝试运行 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包(然后您可以再次加载fontencinputenc):

\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}

这次没有发出警告。

相关内容