章节标题在一行上左对齐和右对齐

章节标题在一行上左对齐和右对齐

我正在尝试为一个部分设置一个简单的双语标题。英文文本应左对齐,阿拉伯文文本应右对齐,两者在同一行。

下面这行代码几乎可以完成这项工作,但阿拉伯语文本没有完全右对齐——与文档的其余部分相比,它看起来好像有一个额外的边距。

\section{English Title \hfill\textarabic{كلمة}}

我尝试了titlesecblock形状,但是没有起到作用。

我该如何修复它?

答案1

在此处输入图片描述

\documentclass{article}
\usepackage{fontspec}
\usepackage{polyglossia}
\setmainlanguage{english}
\setotherlanguage{arabic}
\newfontfamily\arabicfont[Script=Arabic,Scale=1.2]{Arabic Typesetting}    
\usepackage{titlesec}
\usepackage{lipsum}

\titleformat{\section}
    [block]{\normalfont\bfseries\Large}{\rlap{\thesection}}{0em}
    {\hspace{.05\linewidth}\begin{minipage}[t]{.95\textwidth}}[\end{minipage}]

\begin{document}    
\section{A section in English \hfill \textarabic{فصل باللغة العربية}}
\lipsum[1]    
\section{English Title \hfill \textarabic{عنوان بالعربي}}
\lipsum[2]    
\end{document}

您可以minipage在章节标题内使用 来执行所需的任何对齐。当然,titlesec在这种情况下是必不可少的。block形状可以定义为:

\titleformat{\section}
        [block]{\normalfont\bfseries\Large}{\rlap{\thesection}}{0em}
        {\hspace{.05\linewidth}\begin{minipage}[t]{.95\textwidth}}[\end{minipage}]

其中,我们留下的.05\linewidth是章节编号,其余的.95\textwidth是双语标题。

相关内容