اولین بار است که به اینجا می‌آیید؟ راهنمای سایت را بخوانید!
Close Sidebar
وب‌سایت پرسش و پاسخ پارسی‌لاتک جایی برای پرسش و پاسخ درباره سیستم حروف‌چینی لاتک و بسته زی‌پرشین است. در اینجا می‌توانید سوال‌های خود را بپرسید و به سوال‌های دیگران پاسخ دهید.

محبوب‌ترین برچسب‌ها

رفع خطا جدول مراجع xepersian ریاضی‌نویسی شکل فونت فهرست مطالب شماره‌گذاری منابع bidi پانویس بیب‌تک tikz تک‌لایو parsilatex بیمر اسلاید زی‌پرشین پاورقی bibtex سربرگ نماد رسم شکل فرمول‌نویسی قالب ارجاع‌دهی biditexmaker هدر ویرایشگر beamer واژه‌نامه اندازه فونت texstudio عنوان فصل ماتریس اعمال نشدن تغییرات در پی‌دی‌اف رسم جدول bidipresentation شماره صفحه حاشیه رنگ عنوان شکل اسلاید فارسی محیط قضیه گراف مکان شکل tikzpicture حروف‌چینی کد شماره فصل enumerate tabriz_thesis نمایه align زیرنویس شکل کادر itemize فهرست اشکال الگوریتم listings عدم اجرا نیم‌فاصله متن لاتین و فارسی بسته فاصله بین خطوط قالب پایان‌نامه فرمول نصب تک‌لایو فارسی‌تک hyperref شماره فرمول glossaries کپشن نمودار خروجی لاتک حروف‌چینی چندستونی فونت فارسی و انگلیسی ماکرونویسی biditools شماره پاورقی پیوست‌ سوال امتحانی فاصله‌گذاری فرمول چندضابطه‌ای subfigure extrafootnotefeatures header texmaker pdf tex biditufte-book longtable تصویر شمارنده texlive2015 زیرنویس خطا رسم نمودار شماره‌گذاری صفحات پایان نامه دیاگرام فهرست جداول میک‌تک texlive2016 تنظیم جدول آکولاد kashida texworks caption اندیس lollipop iust-thesis multicol فصل‌نویسی شعر سوال چهارگزینه‌ای بولد تورفتگی اعداد فارسی فاصله عمودی xindy چپ‌چینی اوبونتو میکروسافت ورد قاب geometry texlive fancyhdr وسط‌چینی تک لایو 2015 عنوان بخش شماره گذاری به‌روزرسانی بسته aimc46 صفر توخالی فرمول طولانی بیرون‌زدگی xelatex کاما tcolorbox پوستر فاصله سطرها نوشتافت شکست خط tex-programming فونت اعداد pgfplots قرآن tabriz-thesis ایتالیک winedt جستجوی معکوس فلش جایابی تصویر قالب کتاب پاراگراف‌بندی بازیابی اطلاعات هایپرلینک فهرست نمادها شمارنده فصل font محیط ریاضی رسم کادر جداکننده جدول طولانی فهرست تصاویر شماره‌گذاری فرمول algorithm2e فونت بولد proof equation bidipoem eps جدول افقی عکس به‌روزرسانی پانویس چندستونی کمک مالی فاصله خطوط حروف‌چینی شعر زیرشکل minipage قلم پانویس پاراگرافی ltrfootnote پیوست computeautoilg متن فارسی و انگلیسی فرمول چندخطی neveshtuft غلط‌گیری املایی تک‌پارسی پیکان لاتکس tabular baselineskip شماره قسمت قسمت عنوان جدول
15 نفر آنلاین
0 عضو و 15 مهمان در سایت حاضرند
بازدید امروز: 4696
بازدید دیروز: 27333
بازدید کل: 25312184

رسم بیضی های کوچک برای پاسخ نامه ی سوالات تستی

+1 رای
2,532 بازدید

سلام

با توجه به این صفحه، چطور می توانم محل درج گزینه ها را به صورت حباب (بیضی کوچک) مشابه با سوالات تستی سازمان سنجش یا ... در بیاورم. یک چیزی شبیه به این. آیا می توانم آنرا پر هم بکنم.

سوال شده دی 5, 1393 توسط رضا (100 امتیاز)
برچسب گذاری دوباره دی 5, 1393 توسط وحید دامن‌افشان
آقا رضا یک نکته: موقع نوشتن برچسب‌ها باید اون‌ها رو با کامای انگلیسی از هم جدا کنید. من براتون درستش کردم.
بله - چشم

2 پاسخ

+1 رای
 
بهترین پاسخ

ای کاش از همون اول می‌گفتید که متن‌تون فارسی هستش تا ما هم بر اساس این شرط، پاسخ بدیم. کد پایین رو ببینید:

\documentclass{article}
\usepackage{multicol}
\usepackage{tikz}
\usepackage{xepersian}
\settextfont{Yas}

\newcounter{row}
\setcounter{row}{1}
\newcommand{\co}{\arabic{row}\stepcounter{row}}   

\begin{document}
\setLTR
\begin{multicols}{2}% عدد ۲ رو برای تغییر دادن تعداد ستون‌ها کم و زیاد کنید
\begin{itemize}
\addfontfeature{Script=Latin}
\foreach \i in {1,...,80}{% عدد ۸۰ رو برای کم و زیاد کردن تعداد سوال‌ها تغییر بدید
\item[\raisebox{.8ex}{\textbf{\co.}}]  
\begin{tikzpicture}
\draw[fill=gray!10](0,0)ellipse(3mm and 2mm) node[red]{1};
\draw[fill=gray!10](.8,0)ellipse(3mm and 2mm) node[red]{2};
\draw[fill=gray!10](1.6,0)ellipse(3mm and 2mm) node[red]{3};
\draw[fill=gray!10](2.4,0)ellipse(3mm and 2mm) node[red]{4};
\end{tikzpicture}
}
\end{itemize}
\end{multicols}
\end{document}

در این کد، مثل کد آقای دیانت از بسته tikz برای رسم بیضی‌ها استفاده کردم. برای تکرار ردیف گزینه‌ها از دستور \foreach استفاده کردم. در واقع با این دستور گفتم که به ازای هر iی از 1 تا 80 کد

\item[\raisebox{.8ex}{\textbf{\co.}}]  
\begin{tikzpicture}
\draw[fill=gray!10](0,0)ellipse(3mm and 2mm) node[red]{1};
\draw[fill=gray!10](.8,0)ellipse(3mm and 2mm) node[red]{2};
\draw[fill=gray!10](1.6,0)ellipse(3mm and 2mm) node[red]{3};
\draw[fill=gray!10](2.4,0)ellipse(3mm and 2mm) node[red]{4};
\end{tikzpicture}

رو ۸۰ بار تکرار کنه.
دستور \addfontfeature{Script=Latin} برای تغییر مکان نقطه بعد از شماره سوال به کار برده شده. از دستور \raisebox هم برای در یک خط قرار دادن شماره سوال و بیضی‌ها استفاده شده. در واقع با این دستور، شماره سوال رو به اندازه .8ex بالاتر از خط کرسی قرار دادم تا هم‌ردیف با بیضی‌ها قرار بگیره. کاربرد دستور \setLTR هم در اینجا عوض کردن جای ستون‌هاست.

پاسخ داده شده دی 5, 1393 توسط وحید دامن‌افشان (6,497 امتیاز)
انتخاب شده دی 5, 1393 توسط رضا
احتیاجی به این کار نیست (استفاده از دستور \raisebox). قبلاً در مورد اینکه چرا محیط tikzpicture همیشه داخل محیط LTR قرار می‌گیره (و در نتیجه همیشه یک پاراگراف جدید ایجاد می‌کنه) قبلاً توضیح داده بودم. علاوه بر این در نسخه ۱۶ بسته bidi محیط bidi@tikzpicture تعریف شده بود که دیگه از محیط LTR استفاده نمی‌کنه. بنابراین در مثال شما کافی هست که از محیط bidi@tikzpicture به جای tikzpicture استفاده کنید. برای اطلاعات بیشتر پرسش و پاسخ‌های زیر را ببینید:

http://qa.parsilatex.com/863

http://qa.parsilatex.com/885
بله. اتفاقاً این بهبودها رو یادم بود و می‌خواستم در زیر پاسخ آقای دیانت هم بنویسمش؛ اما چون توی کد من، فقط ۲-۳ میلی‌متر فاصله عمودی (و نه به اندازه ارتفاع یک خط) فاصله اضافی وجود داشت، نمی‌دونستم به خاطر همون قرار گرفتن محیط tikzpicture در محیط LTR است. ممنون که راهنمایی کردی.
سلام و تشکر فراوان - آقا کسی که سوال هم می پرسه بالاخره فکر کرده شاید بد نباشه که به اون هم یک امتیازی بدید.
+2 رای

با سلام
شما با tikz می توانید برای گزینه ها هر شکل دلخواهی را رسم کنید.

\documentclass[a4paper]{article}
\usepackage{multicol}
\usepackage{tikz}

\newcommand{\repeatntimes}[2]{
   \newcount\i
   \i=0
   \newtoks\ans
   \loop
      \ans=\expandafter{\the\ans #2}
      \advance\i by 1
      \ifnum\i<#1\repeat
   \the\ans
}

\newcommand{\countRepeatntimes}[2]{
   \newcount\i
   \i=0
   \newtoks\ans
   \loop
      \advance\i by 1
      \ans=\expandafter{\the\ans #2}
      \ifnum\i<#1\repeat
   \the\ans
}

\newcounter{row}
\setcounter{row}{1}
\newcommand{\co}{\arabic{row}\stepcounter{row}}   

\newcommand{\generateTable}[1]{%
\countRepeatntimes{#1}{%
\begin{itemize}
\item[\textbf{\co.}]  \repeatntimes{4}{
\textcolor{lightgray}{
\begin{tikzpicture}
\draw[](0,0)ellipse(3mm and 2mm);
\end{tikzpicture}
}}
\end{itemize}
}
}
\begin{document}
\def\qCount{80}
\begin{multicols*}{3}% عدد ۳ رو برای تغییر دادن تعداد ستون‌ها کم و زیاد کنید
\generateTable{\qCount}
\end{multicols*}
\end{document}

اگر به کد فوق دقت کنید در قسمت:

    \begin{tikzpicture}
\draw[](0,0)ellipse(3mm and 2mm);
    \end{tikzpicture}

یک بیضی توسط tikz ترسیم شده است. فقط دقت کنید که هنگام ترسیم تصاویر با tikz حتما بسته tikz را فراخوانی کنید.

\usepackage{tikz}

اکنون فرض کنید می‌خواهید درون هر بیضی یک متن نیز مثل a تا d نیز بنویسید، کافی است دستور \generateTable را به صورت زیر تغییر دهید:

\newcommand{\generateTable}[1]{%
\countRepeatntimes{#1}{%
\begin{itemize}
\item[\textbf{\co.}] 
\textcolor{lightgray}{
    \begin{tikzpicture}
\draw[](0,0)ellipse(3mm and 2mm) node[midway]{a};
\draw[xshift=7mm](0,0)ellipse(3mm and 2mm) node[midway]{b};
\draw[xshift=14mm](0,0)ellipse(3mm and 2mm) node[midway]{c};
\draw[xshift=21mm](0,0)ellipse(3mm and 2mm) node[midway]{d};
    \end{tikzpicture}
}
\end{itemize}
}}

در این حالت به جای استفاده از \repeatntimes چهار بیضی که نسبت به یکدیگر shiftt یافته اند ایجاد می‌شود که درون هر یک با استفاده از دستور node‌ در tikz متن داخل {} نوشته می‌شود. دقت کنید که midway موجب می شود که عبارت نوشته شده در وسط شکل (بیضی) قرار گیرد.

در گام بعدی فرض کنید که می خواهید درون بیضی ها رنگ خاکستری روشن شود و خود حروف a تا d نیز با رنگ قرمز نوشته شود، برای این کار خیلی راحت می توانید به صورت زیر عمل کنید.

\begin{tikzpicture}
\draw[,fill=gray!10](0,0)ellipse(3mm and 2mm) node[midway,red]{a};
\draw[xshift=7mm,fill=gray!10](0,0)ellipse(3mm and 2mm) node[midway,red]{b};
\draw[xshift=14mm,fill=gray!10](0,0)ellipse(3mm and 2mm) node[midway,red]{c};
\draw[xshift=21mm,fill=gray!10](0,0)ellipse(3mm and 2mm) node[midway,red]{d};
\end{tikzpicture}

در نهایت خواهیم داشت:
enter image description here

پاسخ داده شده دی 5, 1393 توسط ابوالفضل دیانت (3,245 امتیاز)
ویرایش شده دی 5, 1393 توسط ابوالفضل دیانت
ممنون که خیلی خوب توضیح دادید.
وقتی در محیط فارسی هستم خروجی به صورت عکس هست. چون با دست شیفت داده ایم. اگر راهی بود که به جای شیفت دستی اینها را پشت هم بچینیم بهتر نبود؟
آیا می شد همچنان از repeatntimes استفاده کرد و داخل بیضی ها عدد 1 تا 4 را به کمک \i نوشت. البته من این را برای معلومات خودم می پرسم و جواب شما کامل هست.
با سلام من برای رسم بیضی از tikz استفاده کردم. به همین دلیل متن را نیز با استفاده از node  در همان محیط tikzpicture گذاشتم. اما این که هم از repeatntimes استفاده کنیم و هم از tikz را نمی دانم می شود یا نه؟
چرا فاصله بین ردیف‌های ستون سوم با ستون اول و دوم متفاوته؟
من موقع رسم فارسی هر وقت begin{tekzpicture} را صدا می زنم، پاراگراف جدیدی شروع می شود!
با سلام
نمی دانم من در کد اصلی شما که مربع بود هم تعداد سوالات را زیاد کردم مثلا ۹۰ و دیدم همین تغییر فاصله رخ داد. ظاهرا Latex تلاش می کند تا می تواند گزینه های بیشتری را در یک صفحه جای دهد.
منظورتان چیست؟ یعنی شما بسته xepersian را صدا می زنید و این فایل را run می کنید خراب  می شود؟ یا در حالت کلی این اتفاق می افتد؟
در حالت کلی - شکلش را در پایین گذاشتم. نمی دانم تاثیری دارد یا نه، ولی ستاره رو از داخل multicol  برداشتم.

https://www.dropbox.com/s/wp5egp77hto8l9b/qc.png?dl=0
...