我是 LaTeX 新手,正在使用 overleaf 在线编辑器撰写一篇完全用巴西葡萄牙语撰写的论文,最近三天,我试图在表格中插入一些波斯语单词,之前我见过一些 overleaf 模板,并尝试按照相同的方式操作,但即便如此,我仍然收到相同的错误:
首先,我尝试将 xepersian 包直接与 pdfLaTeX 一起使用,结果显示:
Fatal Package fontspec Error: The fontspec package requires either XeTeX
or
/usr/local/texlive/2018/texmf-dist/tex/latex/fontspec/fontspec.sty, 45
(fontspec) LuaTeX.
(fontspec)
(fontspec) You must change your typesetting engine to,
(fontspec) e.g., "xelatex" or "lualatex"instead of
(fontspec) "latex" or "pdflatex".
For immediate help type H <return>.
...
l.45 \msg_fatal:nn {fontspec} {cannot-use-pdftex}
之后,我在 overleaf 中将编译器从 pdfLaTeX 更改为 XeLaTeX,并使用已经完成的模板将字体设置为 Yas,如下所示:
...
\usepackage{float}
\usepackage{lscape}
\usepackage{xepersian}
\settextfont{Yas.ttf}
...
并且出现了波斯字母,但出现了以下错误信息:
Package xepersian Error: Oops! you have loaded package backref after xepersian package. Please load package backref before xepersian package, and then try to run xelatex on your document again.
该表格工作正常,但唯一的问题是将波斯语单词放入完全巴西葡萄牙语文档或英语文档中。
下面是 XeLaTeX 中的一个最小示例,也是我所做的最新更新,但我遇到了同样的问题:
主文本:
\documentclass[
12pt,
oneside,
a4paper,
english,
brazil,
]{abntex2ppgsi}
% ---
% Pacotes básicos
% ---
% \usepackage{lmodern} % Usa a fonte Latin Modern
% \usepackage[T1]{fontenc} % Selecao de codigos de fonte.
%\usepackage[utf8]{inputenc} % Codificacao do documento (conversão automática dos acentos)
\usepackage{lastpage} % Usado pela Ficha catalográfica
\usepackage{indentfirst} % Indenta o primeiro parágrafo de cada seção.
\usepackage{color, xcolor} % Controle das cores
\usepackage{graphicx} % Inclusão de gráficos
\usepackage{microtype} % para melhorias de justificação
\usepackage{pdfpages} %para incluir pdf
\usepackage{algorithm}
%para ilustrações do tipo algoritmo
\usepackage{mdwlist} %para itens com espaço padrão da abnt
\usepackage[noend]{algpseudocode} %para ilustrações do tipo algoritmo
%\usepackage[utf8x]{inputenc}
%\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{longtable}
\usepackage{mathtools}
%\usepackage[linesnumbered, ruled]{algorithm2e}
\usepackage{float}
\usepackage{lscape}
% ---
% Pacotes adicionais, usados apenas no âmbito do Modelo Canônico do abnteX2
% ---
\usepackage{lipsum} % para geração de dummy text
% ---
% ---
% Pacotes de citações
% ---
\usepackage[brazilian,hyperpageref]{backref} % Paginas com as citações na bibl
\usepackage[alf,abnt-etal-list=0,abnt-etal-text=it]{abntex2cite} % Citações padrão ABNT
\usepackage{movie15}
\usepackage{xepersian}
\settextfont{XB_Niloofar.ttf}
% ---
% CONFIGURAÇÕES DE PACOTES
% ---
% ---
% Configurações do pacote backref
% Usado sem a opção hyperpageref de backref
\renewcommand{\backrefpagesname}{Citado na(s) página(s):~}
% Texto padrão antes do número das páginas
\renewcommand{\backref}{}
% Define os textos da citação
\renewcommand*{\backrefalt}[4]{
\ifcase #1 %
Nenhuma citação no texto.%
\or
Citado na página #2.%
\else
Citado #1 vezes nas páginas #2.%
\fi}%
% ---
% ---
% Informações de dados para CAPA e FOLHA DE ROSTO
% ---
%-------------------------------------------------------------------------
% Comentário adicional do PPgSI - Informações sobre o ``instituicao'':
%
% Não mexer. Deixar exatamente como está.
%
%-------------------------------------------------------------------------
\instituicao{
Institution
\par
Faculty
\par
Course}
%-------------------------------------------------------------------------
% Comentário adicional do PPgSI - Informações sobre o ``título'':
%
% Em maiúscula apenas a primeira letra da sentença (do título), exceto
% nomes próprios, geográficos, institucionais ou Programas ou Projetos ou
% siglas, os quais podem ter letras em maiúscula também.
%
% O subtítulo do trabalho é opcional.
% Sem ponto final.
%
% Atenção: o título da Dissertação na versão corrigida não pode mudar.
% Ele deve ser idêntico ao da versão original.
%
%-------------------------------------------------------------------------
\titulo{Title}
%-------------------------------------------------------------------------
% Comentário adicional do PPgSI - Informações sobre o ``autor'':
%
% Todas as letras em maiúsculas.
% Nome completo.
% Sem ponto final.
%-------------------------------------------------------------------------
\autor{\uppercase{Author}}
%-------------------------------------------------------------------------
% Comentário adicional do PPgSI - Informações sobre o ``local'':
%
% Não incluir o ``estado''.
% Sem ponto final.
%-------------------------------------------------------------------------
\local{City}
%-------------------------------------------------------------------------
% Comentário adicional do PPgSI - Informações sobre a ``data'':
%
% Colocar o ano do depósito (ou seja, o ano da entrega) da respectiva
% versão, seja ela a versão original (para a defesa) seja ela a versão
% corrigida (depois da aprovação na defesa).
%
% Atenção: Se a versão original for depositada no final do ano e a versão
% corrigida for entregue no ano seguinte, o ano precisa ser atualizado no
% caso da versão corrigida.
% Cuidado, pois o ano da ``capa externa'' também precisa ser atualizado
% nesse caso.
%
% Não incluir o dia, nem o mês.
% Sem ponto final.
%-------------------------------------------------------------------------
\data{2021}
%-------------------------------------------------------------------------
% Comentário adicional do PPgSI - Informações sobre o ``Orientador'':
%
% Se for uma professora, trocar por ``Profa. Dra.''
% Nome completo.
% Sem ponto final.
%-------------------------------------------------------------------------
\orientador{Advisor}
%-------------------------------------------------------------------------
% Comentário adicional do PPgSI - Informações sobre o ``Coorientador'':
%
% Opcional. Incluir apenas se houver co-orientador formal, de acordo com o
% Regulamento do Programa.
%
% Se for uma professora, trocar por ``Profa. Dra.''
% Nome completo.
% Sem ponto final.
%-------------------------------------------------------------------------
%\coorientador{Prof. Dr. Fulano de Tal}
\tipotrabalho{Thesis}
\preambulo{
%-------------------------------------------------------------------------
% Comentário adicional do PPgSI - Informações sobre o texto ``Versão
% original'':
%
% Não usar para Qualificação.
% Não usar para versão corrigida de Dissertação.
%
%-------------------------------------------------------------------------
Versão original \newline \newline \newline
%-------------------------------------------------------------------------
% Comentário adicional do PPgSI - Informações sobre o ``texto principal do
% preambulo'':
%
% Para Qualificação, trocar por: Projeto de pesquisa para exame de qualificação apresentado à Escola de Artes, Ciências e Humanidades da Universidade de São Paulo como parte dos requisitos para obtenção do título de Mestre em Ciências pelo Programa de Pós-graduação em Sistemas de Informação.
%
%-------------------------------------------------------------------------
%
\newline \newline
%-------------------------------------------------------------------------
% Comentário adicional do PPgSI - Informações sobre o texto da ``Versão
% corrigida'':
%
% Não usar para Qualificação.
% Não usar para versão original de Dissertação.
%
% Substituir ``xx de xxxxxxxxxxxxxxx de xxxx'' pela ``data da defesa''.
%
%-------------------------------------------------------------------------
\newline \newline \newline
}
\definecolor{blue}{RGB}{41,5,195}
\makeatletter
\hypersetup{
%pagebackref=true,
pdftitle={\@title},
pdfauthor={\@author},
pdfsubject={\imprimirpreambulo},
pdfcreator={LaTeX com abnTeX2 adaptado para o CMCC-UFABC},
pdfkeywords={abnt}{latex}{abntex}{abntex2}{qualificação de mestrado}{dissertação de mestrado}{ppgsi},
colorlinks=true, % false: boxed links; true: colored links
linkcolor=black, % color of internal links
citecolor=black, % color of links to bibliography
filecolor=black, % color of file links
urlcolor=black,
bookmarksdepth=4
}
\makeatother
\setlength{\parindent}{1.25cm}
\setlength{\parskip}{0cm}
\renewcommand{\baselinestretch}{1.5}
\makeindex
% Controlar linhas orfas e viuvas
\clubpenalty10000
\widowpenalty10000
\displaywidowpenalty10000
\begin{document}
\maketitle
\begin{quadro}[H]
\centering
\begin{longtable}{ |c|c|c|c|c|c| }
\hline
\# & Valência & Blocos Sentimentais & Palavra & Tradução em Inglês & Tradução em Persa \\
\hline 1 & + & Bom Humor & Sorrir & Smile & \FR{خندیدن} \\
\hline 2 & + & Bom Humor & Comemorar & Celebrate & \FR{جشن گرفتن}
\hline 3 & - & Mal Humor & Brigar & Fight & \FR{مبارزه کردن}
\hline 4 & - & Mal Humor & Xingar & Insult & \FR{توهین} \\
\hline
\end{longtable}
\label{qua:esquematizacaofnirs}
\caption{Some caption here (Fonte: Autor)}
\source{Autor, 2020}
\vspace{.40in}
\newpage
\end{quadro}
\end{document}
这个 abntex2ppgsi.cls 是一个负责定义巴西技术标准 (ABNT) 的 LaTeX 套件,我试图将它的内容放在这里但它超出了字符数量。
答案1
我注意到您没有在文档中指定巴西葡萄牙语的主要语言,并且abntex2ppgsi
似乎是一个非标准类别,尽管 CTAN 确实包含了abntex2
我认为相关的内容。
abntex2
加载babel
¹,这意味着您已经拥有多语言支持。您需要Yas
通过在序言中添加以下内容来指定波斯语将使用字体排版²:
\babelfont[persian]{rm}{Yas}
然后你可以在你的文档中写入
\foreignlanguage{persian}{مقالهٔ برگزیده}
为您的波斯语单词。请注意,您需要使用 XeLaTeX 或 LuaLaTeX 来排版您的文档。³
David Carlisle 指出,这
babel
是 LaTeX 官方支持的多语言解决方案,很可能是因为它不需要 Unicode TeX 引擎(这意味着你必须使用 XeLaTeX 或 luaLaTeX)polyglossia
,但我认为在 2021 年尝试设置多语言文档,特别是当您使用其他脚本(例如波斯语)时,尝试处理传统的 7/8 位编码是疯狂的,您可能会发现自己在从 Unicode 统治的现代世界的其他地方剪切和粘贴时会受阻。话虽如此,您已经拥有了babel
,所以我们会使用它。第一个必需参数是字体系列。如果您想要在无衬线字体环境中使用波斯语,则需要写入
\babelfont[persian]{sf}{FontNameHere}
,tt
对于打字机字体也是如此。它可能使用 pdfLaTeX 和序言中的一些附加命令可以获得所需的结果,但选择一个完全理解 Unicode 的 TeX 引擎并完成实际工作要简单得多。