tikz 图片中的文本从右到左

tikz 图片中的文本从右到左

我想在 tikz 中输入希伯来语文本。

编辑:我正在扩展关于将文本插入特定矩形的讨论text width

阅读后,我尝试了以下代码这个答案这个,但我想我使用得不text effect正确。

\documentclass{article}
\usepackage[showframe]{geometry}
\usepackage{tikz}
\usetikzlibrary{decorations.text} 
\usepackage{polyglossia}
\setmainlanguage{hebrew}
\setotherlanguage{english}
\newfontfamily\englishfont{Times New Roman}[Script=Latin,Language=English]
\newfontfamily\hebrewfont{Arial}[Script=Hebrew]

\begin{document}
לורם איפסום
\begin{center}
\begin{tikzpicture}
\node (hebrew-with-textwidth)[%
  color=red,%
  text width=3cm,%
  align=right,%
  decorate,%
%  {decoration={text effects={reverse text}}} % What is the correct syntax?
]
{אחת שתיים שלוש ארבע חמש שש};
\end{tikzpicture}
\end{center}
\end{document}

我想要反转节点中的单词,如下所示:

在此处输入图片描述

答案1

由于某种原因(我目前还不完全理解),您需要明确告诉 LaTeX,节点内的文本将被视为希伯来语,因此要从右到左排版。您可以\texthebrew在节点内部执行此操作,或者使用可能更优雅的选项font=\selectlanguage{hebrew}

\documentclass{article}
\usepackage[showframe]{geometry}
\usepackage{tikz}
\usepackage{polyglossia}
\setmainlanguage{hebrew}
\setotherlanguage{english}
\newfontfamily\englishfont{Times New Roman}[Script=Latin,Language=English]
\newfontfamily\hebrewfont{Arial}[Script=Hebrew]

\begin{document}
לורם איפסום
\begin{center}
\begin{tikzpicture}

\node (hebrew-with-textwidth) [%
  color=red,%
  text width=3cm,%
  align=right,%
] {\texthebrew{אחת שתיים שלוש ארבע חמש שש}};

\node (hebrew-with-textwidth) at (0,-1) [%
  color=red,%
  text width=3cm,%
  align=right,%
  font=\selectlanguage{hebrew}
] {אחת שתיים שלוש ארבע חמש שש};

\end{tikzpicture}
\end{center}
\end{document}

在此处输入图片描述

相关内容