我正在尝试为一个部分设置一个简单的双语标题。英文文本应左对齐,阿拉伯文文本应右对齐,两者在同一行。
下面这行代码几乎可以完成这项工作,但阿拉伯语文本没有完全右对齐——与文档的其余部分相比,它看起来好像有一个额外的边距。
\section{English Title \hfill\textarabic{كلمة}}
我尝试了titlesec
的block
形状,但是没有起到作用。
我该如何修复它?
答案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
是双语标题。