1

I am new in LaTeX and I am writing a thesis that is entirely in Brazilian Portuguese using the overleaf online editor, these last 3 days I am trying to insert some Farsi (Persian) words in a table, before I have seen some overleaf templates and I have tried to follow the same way but even so I am getting the same error:

First of all I have tried to use the xepersian package directly with pdfLaTeX and it appeared to me:

    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}

After that, I have changed in overleaf the compiler from pdfLaTeX to XeLaTeX and set the font to Yas using a template already done like this:

...
\usepackage{float}
\usepackage{lscape}
\usepackage{xepersian}
\settextfont{Yas.ttf}
...

and the persian letter appeared but it appeared this error message:

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.

The table is working normally but the only issue is to put farsi words in a entirely brazilian portuguese document or a english one.

Below this is a minimal example in XeLaTeX, and my last update that I did but I am facing the same issues:

Main.tex:


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

This abntex2ppgsi.cls is a LaTeX suite responsible to define the Brazilian Technical Standards (ABNT), I have tried to put the content of it here but it exceeds the amount of characters.

7
  • 2
    You're probably not getting any help before you provide a full but minimal example that others can copy and test. For example none of your code list that you're using backref
    – daleif
    Jun 12 at 6:03
  • do you need complete paragraphs of farsi, or just individual words? If the latter (eg for people's names) you don't really need xepersian package (which is really aimed more for documents where that is th emain language) you could just use xelatex and select a suitable font for those words. Jun 12 at 9:16
  • 1
    also, if using overleaf, use texlive 2020 there is no reason to use the legacy texlive 2018 settings as you show here. Jun 12 at 9:17
  • Hi @daleif, I have put right now a minimal example here (only the part where I am getting the error) from the document that I am getting the error, it uses a .cls file also that represents the class of it (Brazilian national standards ABNT) and I am using a existing template
    – Victor
    Jun 14 at 18:32
  • I am wanting to put some individual words in a entire column from a table @DavidCarlisle
    – Victor
    Jun 14 at 18:38
0

I noticed that you don't specify a main language of Brazilian Portuguese in your document and abntex2ppgsi appears to be a non-standard class, although CTAN does include abntex2 which I assume is related.

abntex2 loads babel¹ which means you have multilingual support available already. You will need to specify that Persian will be typeset using the Yas font by adding the following to your preamble²:

\babelfont[persian]{rm}{Yas}

Then you can, in your document write

\foreignlanguage{persian}{مقالهٔ برگزیده}

for your Persian words. Note that you'll want to use XeLaTeX or LuaLaTeX to typeset your document.³


  1. David Carlisle will point out that babel is the official supported multilingual solution for LaTeX, most likely because it doesn't require a Unicode TeX engine (which means that you must use XeLaTeX or luaLaTeX) like polyglossia does, but I'd argue that in 2021 trying to set multilingual documents, particularly once you use other scripts which is the case with Persian, trying to deal with the legacy 7/8-bit codings is madness and you may find yourself stymied when cutting and pasting from elsewhere in the modern world where Unicode rules. That said, you've got babel, so we'll work with it.

  2. The first required argument is the font family. If you want Persian in a sans-serif context you'd need to write \babelfont[persian]{sf}{FontNameHere}, similarly tt for typewriter type.

  3. It might be possible to get the desired results with pdfLaTeX and some additional commands in the preamble, but it's far simpler to just choose a TeX engine that fully groks Unicode and do your real work.

1
  • It worked here, this is exactly what I was needing!! Thank you so much for the tip, I didn't know about this command \babelfont[persian]{rm}{Yas} and about the \foreignlanguage{persian}{مقالهٔ برگزیده}
    – Victor
    Jun 15 at 17:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.