تالار گفتگوی پارسیلاتک
لاتک LATEX => گرافیک، جدول و شکل => نويسنده: MhzTpr در ژوئیه 23, 2014, 11:24:53 pm
-
با سلام و خسته نباشید
چطور میتونم بالای ستون یک خانه از جدول، کلمه ای بنویسم؟مثلا بالای 3و3و2و2 به ترتیب میخوام بنویسم رقم اول رقم دوم رقم سوم رقم چهارم. همچنین زیر خانه اول ار سمت چپ میخوام بنویسم " غیر صفر"
با تشکر
-
با سلام
فایل اتچ شده را نگاه کنید. احتمالا شما چنین چیزی را می خواهید. اگر با آن چه که می خواهید متفاوت است لطفا دوباره بگویید.
توضحات:
الف) دستور \cline{1-4} همانند دستور \hline است، که یک خط افقی در جدول می کشد با این تفاوت که وقتی شما دستور hline را بکار می برید زیر کل ستون ها خط می کشد ولی با دستور \cline{1-4} می توانید مشخص کنید مثلا زیر ستون یک تا چهار خط بکشد.
ب) من در ابتدای تعریف جدول با دستور زیر
\begin{tabular}{ccccc}
مشخص کردم که هیچ نوع خط عمودی در جدول کشیده نشود.
چون می خواستم در جایی که دارم می نویسم رقم اول، رقم دوم و ... خط عمودی وجود نداشته باشد. با دستور \multicolumn{1}{|c|}{2} مشخص می کنم که برای سطر بعدی که قرار است اعداد نوشته شود یک خط عمودی کنار هر ستون بکشد. برای اطلاعات بیشتر در این مورد قسمت Partial Vertical Lines در لینک زیر را بخوانید.
LaTeX/Tables (http://en.wikibooks.org/wiki/LaTeX/Tables)
نکته مهم: دقت کنید که وقتی در xepersian دارید یک جدول رسم می کنید، ستون اول جدول از سمت راست شروع می شود، و ستون آخر جدول در سمت چپ قرار داده می شود، اگر می خواهید جدول شما به صورت انگلیسی از سمت چپ شروع شود، آن را در محیط LTR قرار دهید. دو جدول در کد زیر رسم شده است، شما هم آن را رسم کنید تا تفاوت را ببینید.
\begin{LTR}
\begin{tabular}{ccccc}
\multicolumn{1}{|c|}{5} & \multicolumn{1}{|c|}{3} & \multicolumn{1}{|c|}{2} & \multicolumn{1}{|c|}{2} &
غیرصفر
\\
\cline{1-4}
\end{tabular}
\end{LTR}
\begin{flushleft}
\begin{tabular}{ccccc}
\multicolumn{1}{|c|}{5} & \multicolumn{1}{|c|}{3} & \multicolumn{1}{|c|}{2} & \multicolumn{1}{|c|}{2} &
غیرصفر
\\\cline{1-4}
\end{tabular}
\end{flushleft}
نکته مهم: فایل شما یک اشکال بزرگ دارد، شما یکسری بسته را بعد از xepersian وارد کرده اید. حتما دقت کنید که تمامی بسته ها باید قبل از xepersian وارد شوند، یعنی:
\documentclass{article}
\usepackage{graphicx}
\usepackage[top=40mm, bottom=30mm, left=50mm, right=35mm]{geometry}
\usepackage{xepersian}
در حالی که برای شما بدین گونه بود:
\documentclass{article}
\usepackage{xepersian}
\usepackage[top=40mm, bottom=30mm, left=50mm, right=35mm]{geometry}
\usepackage{graphicx}
باتشکر
-
ممنون جناب دیانت
فقط دو تا مشکل پیدا شد: 1. من "غیر صفر" رو میخوام زیر خونه اول (از سمت چپ) یعنی زیر 3 بنویسم
2. عجیبه وقتی بسته هارو به ترتیبی که شما گفتین میذارم همه به هم میریزه و به ترتیب خودم میذارم درست میشه!!!
-
با سلام
در مورد سوال اول: راهش این است که دقیقا همان طوری که برای رقم اول، رقم دوم و ... یک سطر تعریف شد، یک سطر دیگر تعریف کنید که زیر اعداد باشد، ولی فقط خانه اول آن عنصر داشته باشد و نوشته باشد غیر صفر بقیه خانه ها خالی باشد. تلاش کنید نتوانستید بگویید برایتان انجام دهم
در مورد سوال دوم: من جوابم در پست قبل را ویرایش کردم، و مطلبی در مورد جدول در xepersian وشروع آن از سمت راست گفتم، اگر آن را بخوانید می توانید بفهمید چرا جدول شما برعکس می شود.
منظور از همه به هم می ریزد یعنی چی؟ اگر بحث شروع راست به چپ است که جواب آن در همان پست بالا است، اگر مورد دیگری است لطفا بفرمایید تا بررسی کنم، اما این قانون وارد کردن بسته ها قبل از xepersian را حتما حتما رعایت کنید.
-
بله خیلی ممنون متوجه ترتیب راست و چپ شدم.
وقتی فایل شمارو اجرا میکنم (ترتیب بسته هاتون با من فرق داره که شما هم متوجه اش شدین) ، pdf اش اینطور میشه که براتون فرستادم!
-
با سلام
بسته های شما بسیار بسیار قدیمی است، من دستور settextfont را کامنت کردم تا از فونت پیش فرض xepersian استفاده شود، ولی در نسخه ای که شما استفاده می کنید، آن موقع این پیش فرض وجود نداشت.
لطفا اولا TexLive 2014 به جای Miktex نصب کنید. برای نحوه دانلود TexLive به انجمن TexLiveدر همین تالار بروید.
دوما حتما حتما بسته های خود را بروز کنید. حتی اگر نمی خواهید TexLive نصب کنید.
چون اگر این کار را نکنید بعدا به مشکلات بسیار بسیار زیادی برخورد می کنید.
باتشکر
-
خیلی ممنونم همیشه از پاسخ کامل و جامع شما استفاده میکنم
مشکل جای " غیر صفر" هم حل شد و تو جای مورد نظر نوشتم.
با تشکر