تالار گفتگوی پارسیلاتک
زیپرشین XePersian => زیتک => نويسنده: وحید دامنافشان در اكتبر 20, 2012, 05:17:31 pm
-
توی فایل پایین (که نمیدونم دقیقاً جزو موارد قابل پشتیبانی توسط زیپرشین هست یا نه)، دو تا مشکل وجود داره:
۱- متن داخل کادر، چپ به راست چاپ شده.
۲- متن داخل کادر و خود کادر، به جای قرار گرفتن در سمت راست صفحه، در سمت چپ صفحه چاپ شدن.
\documentclass{article}
\usepackage{tikz}
\usepackage{xepersian}
\begin{document}
\begin{tikzpicture}
\node (table) [inner sep=10pt]{
این یک تست است
};
\draw [rounded corners=1em] (table.north west) rectangle (table.south east);
\end{tikzpicture}
\end{document}
-
مشکلی وجود ندارد. شما تا به حال باید همچین موارد ابتدایی را بدونید تعجب میکنم که اطلاع ندارید. محیط tikzpicture عمداً توسط فایل tikz-xetex-bidi.def داخل محیط LTR قرار میگیرد و بنابراین محتویاتش چپ به راست حروفچینی میشود.
راست به چپ حروفچینی کردن محیط tikzpicture غیرمنطقی است زیرا که شکلها مانند محیط ریاضی چپ به راست حروفچینی میشوند.
-
ممنون به خاطر توضیحاتت. اما همیشه که از محیط tikzpicture برای قرار دادن شکل استفاده نمیشه. بعضی وقتها (مثل فایل پایین) ممکنه از محیط tabular توی این محیط استفاده بشه که نتیجه دور از انتظار میشه. هر چند با قرار دادن دستور \setRTL قبل از محیط tabular، مشکل حل میشه.
آیا واقعاً هدف محیط tikzpicture، فقط برای قرار دادن شکل است؟
\documentclass{article}
\usepackage{tikz}
\usepackage{xepersian}
\begin{document}
\begin{tikzpicture}
\node (table) [inner sep=5pt]{
%\setRTL
\begin{tabular}{rr}
ستون سمت راست & ستون سمت چپ \\
این یک تست است & این یک تست است
\end{tabular}
};
\draw [rounded corners=.5em] (table.north west) rectangle (table.south east);
\end{tikzpicture}
\end{document}
-
یک سوال دارم. چرا وقتی به جای setRTL از محیط RTL استفاده میشه، جای نوشته ها و کل جدول کمی جابجا میشه؟
این دو را با هم مقایسه کنید:
\documentclass{article}
\usepackage{tikz}
\usepackage{xepersian}
\begin{document}
\begin{tikzpicture}
\node (table) [inner sep=5pt]{
%\begin{RTL}
\setRTL
\begin{tabular}{rr}
ستون سمت راست & ستون سمت چپ\\
این یک تست است & این یک تست است
\end{tabular}
%\end{RTL}
};
\draw [rounded corners=1.5em] (table.north west) rectangle (table.south east);
\end{tikzpicture}
\end{document}
-
ممنون به خاطر توضیحاتت. اما همیشه که از محیط tikzpicture برای قرار دادن شکل استفاده نمیشه. بعضی وقتها (مثل فایل پایین) ممکنه از محیط tabular توی این محیط استفاده بشه که نتیجه دور از انتظار میشه. هر چند با قرار دادن دستور \setRTL قبل از محیط tabular، مشکل حل میشه.
آیا واقعاً هدف محیط tikzpicture، فقط برای قرار دادن شکل است؟
\documentclass{article}
\usepackage{tikz}
\usepackage{xepersian}
\begin{document}
\begin{tikzpicture}
\node (table) [inner sep=5pt]{
%\setRTL
\begin{tabular}{rr}
ستون سمت راست & ستون سمت چپ \\
این یک تست است & این یک تست است
\end{tabular}
};
\draw [rounded corners=.5em] (table.north west) rectangle (table.south east);
\end{tikzpicture}
\end{document}
شما داری گیر الکی میدی. همونطور که گفتم غیرمنطقی است که محیط tikzpicture راست به چپ حروفچینی بشه.
-
یک سوال دارم. چرا وقتی به جای setRTL از محیط RTL استفاده میشه، جای نوشته ها و کل جدول کمی جابجا میشه؟
این دو را با هم مقایسه کنید:
\documentclass{article}
\usepackage{tikz}
\usepackage{xepersian}
\begin{document}
\begin{tikzpicture}
\node (table) [inner sep=5pt]{
%\begin{RTL}
\setRTL
\begin{tabular}{rr}
ستون سمت راست & ستون سمت چپ\\
این یک تست است & این یک تست است
\end{tabular}
%\end{RTL}
};
\draw [rounded corners=1.5em] (table.north west) rectangle (table.south east);
\end{tikzpicture}
\end{document}
خیلی سادست. به دلیل تفاوت محیط RTL با دستور \setRTL.