• Welcome to پارسی‌لاتک.
 
از تاریخ ۱۳۹۳/۸/۱۴ به دلیل ارائه خدمات بهتر به سایت جدید پرسش و پاسخ مهاجرت کرده‌ایم؛ از این رو امکان عضویت و ارسال پست در تالار غیرفعال شده است. لطفاً برای پرسیدن سوال‌های خود به سایت جدید مراجعه کنید.

ورود به سایت جدید

Main Menu

چپ به راست شدن متن داخل nodeها در بسته Tikz

نویسنده وحید دامن‌افشان, اکتبر 20, 2012, 05:17:31 بعد از ظهر

« قبلی - بعدی »

وحید دامن‌افشان

توی فایل پایین (که نمی‌دونم دقیقاً جزو موارد قابل پشتیبانی توسط زی‌پرشین هست یا نه)، دو تا مشکل وجود داره:
۱- متن داخل کادر، چپ به راست چاپ شده.
۲- متن داخل کادر و خود کادر، به جای قرار گرفتن در سمت راست صفحه، در سمت چپ صفحه چاپ شدن.

\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}

vafa

مشکلی وجود ندارد. شما تا به حال باید همچین موارد ابتدایی را بدونید تعجب می‌کنم که اطلاع ندارید. محیط 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}

vafa

#4
نقل قول از: وحید دامن‌افشان در اکتبر 20, 2012, 11:08:37 بعد از ظهر
ممنون به خاطر توضیحاتت. اما همیشه که از محیط 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 راست به چپ حروف‌چینی بشه.

vafa

نقل قول از: Farschad در اکتبر 21, 2012, 12:41:02 قبل از ظهر
یک سوال دارم. چرا وقتی به جای 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.