如何在书中的章节名称后添加更多文字

如何在书中的章节名称后添加更多文字

我正在尝试使用 XeLaTeX 和 arabxetex 在 LaTeX 中排版《古兰经》。对于章节页面,我希望左侧显示英文文本,右侧显示阿拉伯文文本。结果应该是这样的:

以下是我目前所掌握的信息:

\documentclass{book}

\usepackage{unicode-math}
\defaultfontfeatures{Scale=MatchLowercase}
\defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1}

\usepackage[paperwidth = 6 in,paperheight = 9 in,margin = 0.75 in,bindingoffset = 0.125 in]{geometry}

% Use the Quran version of the Amiri font
\newfontfamily\arabicfont[Script=Arabic]{Amiri Quran}

% Use "Surah" instead of "Chapter"
\renewcommand\chaptername{Surah}

% English on the left, Arabic on the right
\usepackage{titlesec}
\usepackage[fullvoc]{arabxetex}
\titleformat{\chapter}[display]
{\normalfont\huge\bfseries}{\chaptertitlename\ \thechapter \hfill \textarab{سورة \surahnum}}{0pt}{\Huge}
\titlespacing*{\chapter}{0pt}{-20pt}{40pt}

\title{}
\author{}
\date{}

\begin{document}
\maketitle

\newcommand\surahnum{1}
\newcommand\surahname{الفاتحة}

\chapter{Al-Faatiha}

\end{document}

这是输出:

缺少的是 surah 英文名称右侧的 surah(章节)的阿拉伯语名称。可以使用以下命令访问 surah 的阿拉伯语名称\textarab{\surahname}当然我可以这样做:

\chapter{Al-Faatiha \hfill \textarab{\surahname}}

但这也改变了各处章节名称的外观,我只希望这里显示阿拉伯语版本。是否可以使用 titlesec 添加文本章节名称?我可以在它前面添加文字,像这样:

\titleformat{\chapter}[display]
{\normalfont\huge\bfseries}{\chaptertitlename\ \thechapter \hfill \textarab{سورة \surahnum}}{0pt}{\Huge\hfill\textarab{\surahname}}
\titlespacing*{\chapter}{0pt}{-20pt}{40pt}

我需要\hfill\textarab{\surahname}章节名称,而不是

答案1

您可以titlesec使用选项加载。然后您可以在正确的位置explicit插入标题:#1

\documentclass{book}

\usepackage{unicode-math}
\defaultfontfeatures{Scale=MatchLowercase}
\defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1}

\usepackage[paperwidth = 6 in,paperheight = 9 in,margin = 0.75 in,bindingoffset = 0.125 in]{geometry}

% Use the Quran version of the Amiri font
\newfontfamily\arabicfont[Script=Arabic]{Amiri Quran}

% Use "Surah" instead of "Chapter"
\renewcommand\chaptername{Surah}

% English on the left, Arabic on the right
\usepackage[explicit]{titlesec}
\usepackage[fullvoc]{arabxetex}
\titleformat{\chapter}[display]
   {\normalfont\huge\bfseries}
   {\chaptertitlename\ \thechapter \hfill \textarab{سورة \surahnum}}
   {0pt}
   {\Huge  #1\hfill\textarab{\surahname}}
\titlespacing*{\chapter}{0pt}{-20pt}{40pt}

\title{}
\author{}
\date{}

\begin{document}
\maketitle

\newcommand\surahnum{1}
\newcommand\surahname{الفاتحة}

\chapter{Al-Faatiha}

\end{document}

在此处输入图片描述

答案2

您还可以为阿拉伯语标题创建一个“假”章节命令并将其设置为twocolumn

\documentclass[oneside,twocolumn]{book}
\usepackage[fullvoc]{arabxetex}
\newfontfamily\arabicfont[Script=Arabic]{Amiri Quran}
\usepackage[transen]{quran}
\renewcommand\chaptername{Surah}
% fake chapter command
\newcommand{\chapterarab}[1]{%
\vspace*{-120pt}
{\huge\textarab{سورة \thechapter}\par\vspace*{20pt}
\Huge\textarab{#1}\par\vspace*{30pt}}}

\begin{document}
\chapter{Al-Faatiha}
\quransurahen[1]
\newpage % column break
\begin{arab}[utf]
\chapterarab{الفاتحة}
\quransurah[1]
\end{arab}
\end{document}

在此处输入图片描述

相关内容