如何用阿拉伯语纠正多语种示例以免格式丢失?

如何用阿拉伯语纠正多语种示例以免格式丢失?

我创建了一个最小示例来重现我所经历的行为。

mytemplate.cls我已经定义了一个具有特定标题格式的模板( ):

\ProvidesClass{mytemplate}
\LoadClass{article}

\def\@maketitle{%
  \newpage
  \null
  \vskip 2em%
  \begin{center}%
  \let \footnote \thanks
    {\bfseries \LARGE \@title \par}%
    \vskip 1.5em%
    {\large
      \lineskip .5em%
      \begin{tabular}[t]{c}%
        \@author
      \end{tabular}\par}%
    \vskip 1em%
  \end{center}%
  \par
  \vskip 2.5em}

我在.tex下面的示例中使用了这个模板:

\documentclass[10pt,a4paper]{mytemplate}
\usepackage[default]{sourcesanspro}
\usepackage{fontspec} 
\usepackage{polyglossia} 
\setmainlanguage{english}

\setotherlanguage{french}
%\setotherlanguage{arabic}
%\newfontfamily\arabicfont[Script=Arabic]{Amiri} 
%\newfontfamily\arabicfontsf[Script=Arabic]{Amiri}
%\newfontfamily\arabicfonttt[Script=Arabic]{Amiri}
\usepackage{authblk}
\usepackage{lipsum}

\title{Test documento for using Arabic}
\author[1]{Author One}
\author[2]{Author Two}
\affil[1]{Author one affiliation}
\affil[2]{Author two affiliation}

\begin{document}
\maketitle

\lipsum[1]

%\begin{Arabic} 
%طللك تحديد آراء العرب حيال الموقف التركي في الشرق الأوسط.
%\end{Arabic}

\lipsum[2]

\end{document}

通过对阿拉伯语行的注释,我得到了以下结果: 在此处输入图片描述

从阿拉伯语行中取出评论,标题格式就丢失了。

在此处输入图片描述

如果我在文件上进行标题格式定义.tex,在标题中设置阿拉伯语后,它就可以正常工作。但我想将格式信息放在模板中。如何解决这个问题?

答案1

使用@ulrike-fischer 提供的提示,只需在模板类文件中用maketitle包围的新定义即可。\AtBeginDocument{...}

\ProvidesClass{mytemplate}
\LoadClass{article}

\AtBeginDocument{
\def\@maketitle{%
  \newpage
  \null
  \vskip 2em%
  \begin{center}%
  \let \footnote \thanks
    {\bfseries \LARGE \@title \par}%
    \vskip 1.5em%
    {\large
      \lineskip .5em%
      \begin{tabular}[t]{c}%
        \@author
      \end{tabular}\par}%
    \vskip 1em%
  \end{center}%
  \par
  \vskip 2.5em}
}

相关内容