我尝试同时使用阿拉伯语和 TikZ 图片,但是遇到了四个问题:
- 阿拉伯语单词以相反的顺序出现,第一个单词最后出现......
- 这个句子不像英语句子那样是弧形的。
- 这些数字似乎是以色列数字,而不是阿拉伯数字。
- 大部分饰物都不会出现,或者出现在不同的地方。
\documentclass[12pt]{book}
\usepackage{nopageno}
\usepackage[a4paper]{geometry}
\geometry{verbose,tmargin=2cm,bmargin=2cm,lmargin=2.5cm,rmargin=2.5cm}
\setlength{\parskip}{\bigskipamount}
\setlength{\parindent}{0pt}
\usepackage{color}
\usepackage{tikz,pgfornament,tikzrput} % altermundus.com/pages/tkz/tikzrput/
\usetikzlibrary{decorations,decorations.text} % altermundus.com/pages/tkz/ornament/
\usepackage{setspace}
\usepackage{fontspec}
\usepackage{polyglossia}
\usepackage{setspace}
\setdefaultlanguage[numerals=machriq]{arabic}
\setmainlanguage{english}
\setotherlanguage{arabic}
\newfontfamily\arabicfont[Script=Arabic,Scale=1.5
,Mapping=arabicdigits]{Scheherazade}
\begin{document}
\begin{Arabic}
\begin{tikzpicture}
\draw[ultra thick,color=blue] circle[radius=6cm] circle[radius=7cm] ;
\draw[line width=2mm,color=blue] circle[radius=7.4cm] ;
\draw[line width=0.5mm,color=blue] circle[radius=5cm] ;
\path
[rotate=170,postaction={decoration={text along path,text format delimiters={|}{|},text={|\huge| Knowledge Raising House has no Mainstay {\pgfornament[scale=.4,ydelta=-9pt,color=blue]{15}} And Ignorance Destroys House of Glory and Honor {\pgfornament[scale=.4,ydelta=-9pt,symmetry=v,color=blue]{15}}},
text align=fit to path,reverse path}, decorate}]
circle[radius=6.2cm] ;
\rput{-20}(1.5,4.2){\pgfornament[scale=.2,color=blue]{87}}
\rput{20}(-1.5,4.2){\pgfornament[scale=.2,color=blue]{87}}
\rput{-20}(-1.5,-4.2){\pgfornament[scale=.2,color=blue]{87}}
\rput{20}(1.5,-4.2){\pgfornament[scale=.2,color=blue]{87}}
\rput{}(-2.5,-2.75){\pgfornament[scale=.25,color=blue]{10}}
\rput{}(2.5,-2.75){\pgfornament[scale=.25,color=blue]{10}}
\rput{}(0,4){\pgfornament[scale=.2,color=blue]{66}}
\rput{}(0,2){\pgfornament[scale=.3,color=blue]{70}}
\rput{}(0,-3){\pgfornament[scale=.3,color=blue]{70}}
\rput(0,0){\pgfornament[scale=.6,color=blue]{75}}
\rput{-90}(2,0){\pgfornament[scale=.6,color=blue]{72}}
\rput{90}(-2,0){\pgfornament[scale=.6,symmetry=v,color=blue]{72}}
\node[font=\huge,color=blue] at (0,3){} ;
\path
[rotate=218,postaction={decoration={text along path,text format delimiters={|}{|}, text={|\Huge| \AR{والجهل يهدم بيت العز والشرف} {\pgfornament[scale=.4,ydelta=-9pt,color=blue]{15}} 14-12-1968 {\pgfornament[scale=.4,ydelta=-9pt,symmetry=v,color=blue]{15}} \AR{العِلْمُ يرفع بيتًا لا عماد له} {\pgfornament[scale=.4,ydelta=-9pt,color=blue]{15}}},
text align=fit to path,reverse path}, decorate}]
circle[radius=5.2cm] ;
\node[font=\huge,color=blue] at (0,-2){} ;
\end{tikzpicture}
\end{Arabic}
\end{document}
答案1
只需把个人括号内的单词如下:
{لها} {عماد} {لا} {بيوتا} {يبني} {العلم}
和:
\usepackage [utf] {arabxetex}
答案2
你并没有真正提供最小工作示例,但我会尽力回答第 (2) 点和第 (4) 点,因为我不太熟悉“从右到左”语言的工作原理latex
。我使用的是 TeX Live 2012。
目前还不清楚您是使用xelatex
还是进行编译lualatex
。只有 的最新版本polyglossia
与 兼容lualatex
(不确定它是否已经在 CTAN 上),因此我推测您是使用 进行编译xelatex
。
使用 编译文件时,xelatex
我得到了一大堆Undefined control sequence \rput
。这就是为什么一些装饰物放在错误的位置。这似乎是因为tikzrput
仅\rput
根据 定义\ifpdf
,但xelatex
定义了\ifxetex
。您可以通过放置 来解决这个问题
\let\ifpdf=\ifxetex
就在你装载tikzrput
包裹之前。
该命令\AR
似乎未定义。无论哪种方式,文本都是逐个标记消耗的,因此 \AR 是单独消耗的。此外,后面的阿拉伯语文本位于括号之间,因此被视为单个单元,而不是围绕曲线排版。如果我删除和周围的括号,\AR
阿拉伯语文本就会围绕曲线排版。\AR
其余的我不太确定。