尝试使用 tikz 命令在我的页面周围制作边框时,tikz 命令后的第一行文本未对齐(因为文档是阿拉伯语(主语言设置)),其中文本在 LHS 而不是 RHS 处对齐。此外,单词输入正确,但顺序相反。取消边框后,文本输出正确。我正在使用 XELATEX + POLYGLYOSSIA,这是简化阿拉伯字体的链接(在 Windows 上安装它以正确运行代码:https://fontzone.net/font-details/simplified-arabic
代码如下:
\documentclass[a4paper,12pt,twoside]{book}
\usepackage{fontspec}
\usepackage{tcolorbox}
\usepackage{url,graphicx}
\usepackage{tikz}
\usetikzlibrary{arrows.meta,arrows,positioning,matrix,quotes, shapes.geometric,calc}
\usepackage{polyglossia}
\setdefaultlanguage[calendar=gregorian,locale=default,numerals=mashriq]{arabic}
\setotherlanguages{english}
\newfontfamily\arabicfont[Script=Arabic,Mapping=arabicdigits]{Simplified Arabic}
\title{jhhjjhhj}
\author{}
\date{}
\begin{document}
\chapter{شكر وتقدير}
\begin{tikzpicture}[remember picture, overlay]
\draw[line width = 4pt] ($(current page.north west) + (1in,-1in)$) rectangle ($(current page.south east) + (-1in,1in)$);
\end{tikzpicture}
\textbf{
يتقدم المؤلف بالشكر لكل من:}
\end{document}
答案1
这个问题是双重的。
当您将tikz
图片直接放入\textbf{}
RTL 文本流时,就会出现混乱。
如果您留下段落空间来解决这个问题,那么您会得到不需要的垂直空间。
您需要使用类似包中的方法eso-pic
在发货时将边框添加到页面背景中。
平均能量损失
此 MWE 将边框添加到包含该\insertpageborder
命令的任何页面。
\documentclass[a4paper,12pt,twoside]{book}
\usepackage{fontspec}
\usepackage{tcolorbox}
\usepackage{url,graphicx}
\usepackage{tikz}
\usetikzlibrary{arrows.meta,arrows,positioning,matrix,quotes, shapes.geometric,calc}
\usepackage{polyglossia}
\setdefaultlanguage[calendar=gregorian,locale=default,numerals=mashriq]{arabic}
\setotherlanguages{english}
\newfontfamily\arabicfont[Script=Arabic,Mapping=arabicdigits]{Amiri}
\usepackage{eso-pic}
\newcommand{\insertpageborder}{%
\AddToShipoutPictureBG*{%
\begin{tikzpicture}[remember picture, overlay]
\draw[line width = 4pt] ($(current page.north west) + (1in,-1in)$) rectangle ($(current page.south east) + (-1in,1in)$);
\end{tikzpicture}}}
\begin{document}
\chapter{شكر وتقدير}
\insertpageborder
\textbf{يتقدم المؤلف بالشكر لكل من:}
\end{document}