سلام
برای اینکه توضیحات زیر شکل (caption) به اندازه طول شکل باشه از چه دستوری باید استفاده کنم؟
\documentclass{article}
\usepackage[demo]{graphicx}
\usepackage{xepersian}
\begin{document}
\begin{figure}
\includegraphics[width=8cm]{demo}
\caption{%
\hangindent \dimexpr(\hsize-8cm)
\hangafter0
گروه پارسیلاتک کار خود را از سال ۱۳۸۷ آغاز کرده است و هدف آن، ساخت و پشتیبانی از ابزارهایی است که حروفچینی پارسی با لاتک را آسان میکنند. این گروه، همچنین سایت حاضر، تالار گفتگو و ویکی پارسیلاتک را نیز جهت ارتباط بیشتر و جوابگویی به کاربران راهاندازی کرده است به گونهای که تا زمان نوشتن این مطلب (۹۱/۹/۲۲)، بیش از ۱۷۰۰۰ پرسش و پاسخ بین کاربران و اعضای گروه پارسیلاتک رد و بدل شده است. تمام تلاشهای اعضای پروژه، به صورت داوطلبانه و بدون هیچگونه پشتیبانی مالی صورت گرفته است. با این حال، پروژه پارسیلاتک جهت ادامه فعالیتهای خود، تامین هزینههای میزبانی سایت و دامنه، برگزاری کارگاههای آموزشی، توزیع دیویدیهای پارسیلاتک در کارگاهها و ... نیازمند حمایت شما است.
}
\end{figure}
\end{document}
این روش توصیه میشه؟
\documentclass{article}
\usepackage{floatrow}
\begin{document}
\begin{figure}
\ffigbox[\FBwidth]
{\caption{caption text caption text caption text caption text
caption text caption text caption text caption text
caption text caption text caption text caption text }\label{...}}
{\rule{50mm}{20mm}}
\end{figure}
\end{document}
فکر کنم راهحل زیر، سادهتر باشه و کمتر وقت بگیره:
\documentclass{article}
\usepackage[demo]{graphicx}
\usepackage[margin={0cm,0cm}]{caption}
\captionsetup{width=7cm}
\usepackage{xepersian}
\begin{document}
\begin{figure}[t]
\centering{\includegraphics[width=7cm]{myfig}}
\caption{
مقداری متن مقداری متن مقداری متن مقداری متن مقداری متن مقداری متن مقداری متن مقداری متن مقداری متن مقداری متن مقداری متن مقداری متن
}
\end{figure}
\end{document}
در ضمن، اگه شکلهاتون پهنای متفاوتی دارن، میتونین از دستور خط چهارم، علاوه بر قسمت preamble، داخل خود محیط figure (قبل از دستور caption\) هم استفاده کنین.
@هادی: بسته floatrow با زیپرشین سازگار نیست و بنابراین نمیشه ازش استفاده کرد.
نقل قول از: وحید دامنافشان در دسامبر 17, 2012, 12:00:56 بعد از ظهر
فکر کنم راهحل زیر، سادهتر باشه و کمتر وقت بگیره:
\documentclass{article}
\usepackage[demo]{graphicx}
\usepackage[margin={0cm,0cm}]{caption}
\captionsetup{width=7cm}
\usepackage{xepersian}
\begin{document}
\begin{figure}[t]
\centering{\includegraphics[width=7cm]{myfig}}
\caption{
مقداری متن مقداری متن مقداری متن مقداری متن مقداری متن مقداری متن مقداری متن مقداری متن مقداری متن مقداری متن مقداری متن مقداری متن
}
\end{figure}
\end{document}
در ضمن، اگه شکلهاتون پهنای متفاوتی دارن، میتونین از دستور خط چهارم، علاوه بر قسمت preamble، داخل خود محیط figure (قبل از دستور caption\) هم استفاده کنین.
@هادی: بسته floatrow با زیپرشین سازگار نیست و بنابراین نمیشه ازش استفاده کرد.
این روش به اندازهی عرض شکل نمیکنه. به عرض داده شده ما میکنه.
یک روشی در یک انجمن لاتک گفته بودن که پیداش میکنم و اینجا میارم.
«سازگار نیست» فکر نکنم عبارت درستی باشه. باید بگیم «پشتیبانی نمیشه»؟
چون بعضی بستهها را من استفاده میکنم که توی لیست پشتیبانی نیست ولی مشکلی فعلا پیش نیاورده.
سلام
عرض متن در متغیر textwidth ذخیره میشه، آیا عرض یک شکل در متغبر خاصی (مانند figurewidth) ذخیره میشه؟
این چیزی که آقای صفی اقدم فرمودن \captionsetup{width=7cm}
تنظیم دستیه، میشه در این دستور از متغیری که عرض شکل داخلش ذخیره شده استفاده کرد؟
نقل قول از: Mohsen Avaji در دسامبر 17, 2012, 02:12:34 بعد از ظهر
سلام
عرض متن در متغیر textwidth ذخیره میشه، آیا عرض یک شکل در متغبر خاصی (مانند figurewidth) ذخیره میشه؟
این چیزی که آقای صفی اقدم فرمودن \captionsetup{width=7cm}
تنظیم دستیه، میشه در این دستور از متغیری که عرض شکل داخلش ذخیره شده استفاده کرد؟
شما توی لاتک میخاین استفاده کنین یا با زیپرشین؟
در زی پرشین برای تایپ فارسی.
نقل قول از: Mohsen Avaji در دسامبر 17, 2012, 02:12:34 بعد از ظهر
سلام
عرض متن در متغیر textwidth ذخیره میشه، آیا عرض یک شکل در متغبر خاصی (مانند figurewidth) ذخیره میشه؟
این چیزی که آقای صفی اقدم فرمودن \captionsetup{width=7cm}
تنظیم دستیه، میشه در این دستور از متغیری که عرض شکل داخلش ذخیره شده استفاده کرد؟
در مورد قسمت اول سوالت خیر. در مورد قسمت دوم خیلی راحته. شکلت رو داخل یک جعبه اول ذخیره میکنی، عرض جعبه را محاسبه میکنی و اندازه عرض خط توضیح شکل را به اندازه عرض جعبه درمیآوری. به همین راحتی.
نقل قول از: وفا کارنپهلو در دسامبر 17, 2012, 06:12:50 بعد از ظهر
در مورد قسمت اول سوالت خیر. در مورد قسمت دوم خیلی راحته. شکلت رو داخل یک جعبه اول ذخیره میکنی، عرض جعبه را محاسبه میکنی و اندازه عرض خط توضیح شکل را به اندازه عرض جعبه درمیآوری. به همین راحتی.
دکتر کارنپهلو؟ بیزحمت میشه لطف کنین نگاه کنین ببینین درست انجام دادم یا نه؟
با تشکر قبلی
نقل قول از: Mohsen Avaji در دسامبر 17, 2012, 10:27:59 قبل از ظهر
سلام
برای اینکه توضیحات زیر شکل (caption) به اندازه طول شکل باشه از چه دستوری باید استفاده کنم؟
کد زیر رو ببینین. توی این روش، پهنای شکل، به طور خودکار محاسبه میشه و توی دستور captionsetup\ قرار میگیره.
\documentclass{article}
\usepackage[demo]{graphicx}
\usepackage[margin={0cm,0cm}]{caption}
\usepackage{xepersian}
\newcommand{\figwidth}[1]{%
\setbox0=\hbox{#1}
\captionsetup{width=\wd0}
\centering#1%
}
\begin{document}
\begin{figure}[t]
\figwidth{\includegraphics{myfig}}
\caption{
مقداری متن مقداری متن مقداری متن مقداری متن مقداری متن مقداری متن مقداری متن مقداری
}
\end{figure}
\end{document}
منبع: یکی از کدهای آقا وفا.
بیزحمت فایل ضمیمه شده را ببینین.
چرا وقتی خط ۱۱ را غیر فعال میکنم، عرض شکل اِعمال نمیشه.
در صورتی که از دستور \captionsetup در خطهای بعدی استفاده شده.
با تشکر قبلی
نقل قول از: هادی صفیاقدم در دسامبر 17, 2012, 10:15:44 بعد از ظهر
بیزحمت فایل ضمیمه شده را ببینین.
چرا وقتی خط ۱۱ را غیر فعال میکنم، عرض شکل اِعمال نمیشه.
در صورتی که از دستور \captionsetup در خطهای بعدی استفاده شده.
با تشکر قبلی
دستور \myinputfigurewidth بدون دستور \captionsetup هیچ اثری روی فایلت نمیذاره و هیچ خاصیتی نداره. به عبارت دیگه، بدون دستور \captionsetup، انگاری باد هوا تعریف کردیم. به عبارت دیگه، بدون دستور \captionsetup، فقط اومدیم شکلها رو داخل یه box گذاشتیم، بدون هیچ خاصیت دیگهای. پس چون داریم
شکلها رو با دستور \myinputfigurewidth فراخوانی میکنیم و این دستور هم، دستور \captionsetup
رو توی خودش نداره، پس هیچ اتفاقی هم در مورد عرض برچسب شکلها نمیافته.
امیدوارم که خوب توضیح داده باشم.
نقل قول از: وحید دامنافشان در دسامبر 18, 2012, 01:13:59 قبل از ظهر
دستور \myinputfigurewidth بدون دستور \captionsetup هیچ اثری روی فایلت نمیذاره و هیچ خاصیتی نداره. به عبارت دیگه، بدون دستور \captionsetup، انگاری باد هوا تعریف کردیم. به عبارت دیگه، بدون دستور \captionsetup، فقط اومدیم شکلها رو داخل یه box گذاشتیم، بدون هیچ خاصیت دیگهای. پس چون داریم شکلها رو با دستور \myinputfigurewidth فراخوانی میکنیم و این دستور هم، دستور \captionsetup رو توی خودش نداره، پس هیچ اتفاقی هم در مورد عرض برچسب شکلها نمیافته.
امیدوارم که خوب توضیح داده باشم.
ممنون وحید جان بابت وقتی که در اختیارم گذاشتی.
(گذاشتن عکس با یک دستور یک مطلب هست و تغییر فرمت caption بک مطلب دیگه.)
ولی وقتی من دستور \captionsetup{width=\the\myfigurewidth} را توی فایلم گذاشتم، باید همه ی captionها را با این فرمت تولید کنه.
درسته؟
پس چرا نمیکنه؟
سلام
در فایل ضمیه از دستوراتی که آقای دامن افشان فرمودن استفاده کردم اما دستور زیر توی فایل کار نمیکنه، به نظر شما علت چیه، سپاسگزارم.
\captionsetup{format=hang}
نقل قول از: Mohsen Avaji در دسامبر 21, 2012, 01:24:21 بعد از ظهر
سلام
در فایل ضمیه از دستوراتی که آقای دامن افشان فرمودن استفاده کردم اما دستور زیر توی فایل کار نمیکنه، به نظر شما علت چیه، سپاسگزارم.
\captionsetup{format=hang}
دستور \figwidth هر باری که استفاده بشه محتویات \captionsetup رو reset میکنه.