使用更新的答案\quranayah

使用更新的答案\quranayah

我想将古兰经包的波斯语翻译放在此代码的\quransurahfa*[1] 原文下方:\quransurah*[1]

\documentclass[b5paper,11pt]{memoir}
\usepackage[left=1.8cm,right=1.8cm,top=3cm]{geometry}
\usepackage{arabxetex}
\usepackage[trans=fa]{quran}
\usepackage{xepersian}
\settextfont[Scale=0.7]{Yas}

\newfontfamily\Amiri[Script=Arabic]{Amiri}


\begin{document}
\begin{arab}
\noindent\Amiri\quransurah*[1]
\end{arab}
\noindent
\quransurahfa*[1]
\end{document}

生成: 在此处输入图片描述

显示如下内容:

在此处输入图片描述

答案1

expex这是使用专门用于语言学的软件包进行此操作的尝试。

使用更新的答案\quranayah

您可以使用\quranayah[1][1]插入每个阿亚. 问题是整个阿亚放置在一个不能跨行换行的框中。因此,如果您让内容对齐,您将到处看到难看的过满或未满的框。您也可以尝试使用,\raggedleft但这看起来也不好。我最好的选择是使用和手动换行的组合,\quranayah如下面的 MWE 所示。我调整了一些其他间距设置以改善输出。

平均能量损失

\documentclass{article}
\usepackage{xepersian}
\settextfont{Yas}

\newfontfamily\arabicfont[Script=Arabic]{Amiri}

\usepackage[trans=fa]{quran}
\usepackage{expex}
\makeatletter
\lingset{%
  everygl=\def\qt@no##1{ \hfill ##1},
  everygla=\arabicfont\large\rule{0pt}{5ex},
  everyglb=\footnotesize,
  glrightskip=0pt,
  glhangstyle=none,
  glspace=.5em plus 3em minus .15em
}
\makeatother

\pagestyle{empty}
\begin{document}

\begingl
  \gla
    \quranayah*[1][1]
    \quranayah*[1][2]
    \quranayah*[1][3]
    \quranayah*[1][4]
    \quranayah*[1][5]
    {اهدِنَا الصِّراطَ} {المُستَقيمَ \hfill ﴿٦﴾}
    \quranayah*[1][7]
    //
  \glb
    \quranayahfa*[1][1]
    \quranayahfa*[1][2]
    \quranayahfa*[1][3]
    \quranayahfa*[1][4]
    \quranayahfa*[1][5]
    {ما را به راه راست} {هدايت فرما، \hfill (6)}
    \quranayahfa*[1][7]
    //
\endgl

\end{document}

MWE 输出

原始答案

抱歉,由于我不懂阿拉伯语或波斯语,我可能把单词排列错了。

一个问题是我无法更改行距。这似乎与这里。我使用了与该问题相同的解决方法。

中有很多选项可以控制这些结构expex。请参阅手册的第 9 节。

平均能量损失

qurantext-simple.def我分别使用了和的《古兰经》文本和波斯语译本qurantext-fa.translation.def

我放弃了阿亚5 因为阿亚6 对我来说太混乱了,不知道什么应该放在什么下面:)。

我无法让它与quran文本包一起工作。我认为这是因为\quransurah它不可扩展。

\documentclass{article}
\usepackage{xepersian}
\settextfont{Yas}

\newfontfamily\arabicfont[Script=Arabic]{Amiri}

\usepackage{expex}
\lingset{everygla=\arabicfont\large\rule{0pt}{25pt}, everyglb=\footnotesize,
  glwordalign=center}

\begin{document}

\begingl
  \gla بِسمِ اللَّهِ الرَّحمٰنِ الرَّحيمِ ۝١
    الحَمدُ لِلَّهِ رَبِّ العالَمينَ ۝٢
    الرَّحمٰنِ الرَّحيمِ ۝٣
    مالِكِ يَومِ الدّينِ ۝٤
    إِيّاكَ نَعبُدُ وَإِيّاكَ نَستَعينُ ۝٥
    //
  \glb {به نام} خداوند رحمتگر مهربان (١)
    ستايش خدايى {را كه پروردگار} جهانيان، (٢)
    رحمتگر مهربان، (٣)
    {[و] خداوند} روز جزاست. (٤)
    {[بار الها] تنها تو را} مى‌پرستيم، {و تنها از تو يارى} مى‌جوييم. (٥)
    //
\endgl

\end{document}

MWE 输出

答案2

这是一个答案。(我没有 Yas 字体,所以 Amiri 用于阿拉伯语和波斯语)。

\documentclass[b5paper,11pt]{memoir}
\usepackage[left=1.8cm,right=1.8cm,top=3cm]{geometry}
\usepackage{arabxetex}
\usepackage[trans=fa]{quran}
\usepackage{xepersian}
\settextfont[Scale=.7]{Amiri}

\newfontfamily\Amiri[Script=Arabic]{Amiri}

\newif\ifwecanrepeat
\newsavebox\quranar
\newsavebox\quranfr
\newsavebox\qurantemp

\makeatletter 
\newcommand{\quransurahAF}[1][\qt@surah@default]{%
\setbox\quranar=\vbox{%
  \begin{arab}
    \noindent\Amiri\quransurah*[#1]
  \end{arab}}%
\setbox\quranfr=\vbox{%
  \noindent
  \quransurahfa*[#1]}%
\loop
  \ifvoid\quranar
    \wecanrepeatfalse\unvbox\quranfr
  \else\ifvoid\quranfr
    \wecanrepeatfalse\unvbox\quranar
  \else
    \wecanrepeattrue
    \setbox\qurantemp=\vsplit\quranar to \baselineskip \unvbox\qurantemp
    \setbox\qurantemp=\vsplit\quranfr to \baselineskip \unvbox\qurantemp
  \fi\fi
\ifwecanrepeat\repeat}
\makeatother

\begin{document}
\quransurahAF[97]
\end{document}

相关内容