اولین بار است که به اینجا می‌آیید؟ راهنمای سایت را بخوانید!
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 شماره قسمت قسمت عنوان جدول
13 نفر آنلاین
0 عضو و 13 مهمان در سایت حاضرند
بازدید امروز: 38604
بازدید دیروز: 7936
بازدید کل: 25130572

چطور مکان اشتباه شکل‌ها و عنوان آن‌ها را در صورت استفاده از گزینه LTRgeometry کلاس biditufte-book اصلاح کنم؟

0 رای
1,804 بازدید

در صورت اجرای کد

\documentclass[oneside,a4paper,,showframe,LTRgeometry]{biditufte-book}
\usepackage{ptext}
\usepackage[demo]{graphicx}
\usepackage{xepersian}
\settextfont{Yas}
\reversemarginpar

\begin{document} 
\chapter{یک عنوان فصل}
\section{یک عنوان بخش}
\ptext[1]
\begin{figure}
\includegraphics[width=\linewidth]{fig1}
\caption{یک عنوان شکل آزمایشی}
\label{fig1}
\end{figure}

\ptext[8]
 \begin{figure*}
\includegraphics[width=\linewidth]{fig1}
\caption{یک عنوان شکل آزمایشی}
\label{fig2}
\end{figure*}

\ptext[1]

\begin{figure}
\includegraphics[width=\linewidth]{fig1}
\caption{یک عنوان شکل آزمایشی}
\label{fig3}
\end{figure}

\ptext[2-3]

\begin{marginfigure}
\includegraphics[width=\linewidth]{fig1}
\caption{یک عنوان شکل آزمایشی}
\label{fig4}
\end{marginfigure}
\end{document}

خروجی زیر تولید می‌شه:

enter image description here

این خروجی دو تا مشکل داره:

  1. عنوان شکل‌ها باید سمت راست صفحه باشه.
  2. شکل ۲ به اشتباه به سمت چپ کشیده شده؛ در حالی که باید به سمت راست کشیده بشه.

به طور خلاصه، خروجی درست به این صورت هستش:

enter image description here

برای حل این دو مشکل، سراغ فایل bidituftefloat.sty رفتم. برای حل مشکل دوم، توی این فایل، کد

    \begin{lrbox}{\@bidituftefloat@figure@box}%
      \begin{minipage}[\floatalignment]
      {\@bidituftefloat@float@contents@width}\hbox{}%
  }{% end @bidituftefloat@float
      \par\hbox{}
      \vspace{-\baselineskip}\ifthenelse{\prevdepth>0}{\vspace{-\prevdepth}}{}% align baselines of boxes
      \end{minipage}%
    \end{lrbox}%

رو به

    %\begin{lrbox}{\@bidituftefloat@figure@box}%
      \begin{minipage}[\floatalignment]
      {\@bidituftefloat@float@contents@width}\hbox{}%
  }{% end @bidituftefloat@float
      \par\hbox{}
      \vspace{-\baselineskip}\ifthenelse{\prevdepth>0}{\vspace{-\prevdepth}}{}% align baselines of boxes
      \end{minipage}%
   % \end{lrbox}%

تبدیل کردم؛ اما مشکل اول رو نتونستم حل کنم. ممنون می‌شم اگر راهنمایی کنید.

سوال شده مرداد 11, 1394 توسط وحید دامن‌افشان (6,497 امتیاز)
من همین امروز اینترنتم وصل شده. سعی می‌کنم در طی چند روز آینده پرسش پاسخ شما را بدهم.
بی‌نهایت ممنونم و منتظرم وفا جان.

2 پاسخ

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

برای اینگونه تغییرات بهتر است که روی دستورات \@bidituftefloat@float@textwidth و \@bidituftefloat@float@fullwidth کار کنی (این دستورات کادرهای شکل و توضیح آن را در جاهای مختلف قرار می‌دهند). من با تغییر کوچکی که دادم به نظرم الان درست کار می‌کنند:

\makeatletter
\renewcommand{\@bidituftefloat@float@textwidth}[3][0pt]{%
    \hbox{%
      \usebox{#2}%
      \hspace{-\dimexpr\marginparsep+\textwidth\relax}%
      \smash{\raisebox{#1}{\usebox{#3}}}%
    }
}

\renewcommand{\@bidituftefloat@float@fullwidth}[3][0pt]{%
\hspace{-\dimexpr\marginparwidth+\marginparsep\relax}\usebox{#2}\par\smash{\raisebox{#1}
        {\hspace{-\dimexpr\marginparsep+\marginparwidth\relax}\usebox{#3}}}\hfill%
}
\makeatother
پاسخ داده شده مرداد 31, 1394 توسط وفا (24,432 امتیاز)
انتخاب شده مرداد 31, 1394 توسط وحید دامن‌افشان
خیلی خیلی ازت ممنونم؛ فقط مثل اینکه مقدار \marginparsep در دستور \@bidituftefloat@float@textwidth اضافه‌س و باید حذف بشه.
+1 رای

پاسخ به صورت زیر خواهد بود:

\documentclass[oneside,a4paper,,showframe,LTRgeometry]{biditufte-book}
\usepackage{ptext}
\usepackage[demo]{graphicx}
\usepackage[leftcaption]{sidecap}
%\usepackage[capbesideposition=right]{floatrow}
\usepackage{graphicx}
\usepackage[font=Large]{caption}
\usepackage{floatrow}
\floatsetup{margins=hangright,capposition=beside,capbesideposition={outside,center},floatwidth=\textwidth}
\floatsetup[widefloat]{font=large,margins=hangright,capposition=beside,capbesideposition={outside,bottom},floatwidth=\textwidth}
\floatsetup[subfigure]{capbesideposition=right}
\usepackage{xepersian}
\settextfont{XB Yas}
\reversemarginpar

\begin{document} 
\chapter{یک عنوان فصل}
\section{یک عنوان بخش}
\ptext[1]
\begin{figure}[h]
%\fcapside
{\caption{یک عنوان شکل آزمایشی}}
{\includegraphics[width=\linewidth]{fig1}}
\label{fig1}
\end{figure}

\ptext[8]
 \begin{figure*}[h]
 %\fcapside
{\caption{یک عنوان شکل آزمایشی}}
{\includegraphics[width=1.5\linewidth]{fig1}}
\label{fig2}
\end{figure*}



\ptext[1]

\begin{figure}
%\fcapside
{\caption{یک عنوان شکل آزمایشی}}
{\includegraphics[width=1.5\linewidth]{fig1}}
\label{fig3}
\end{figure}

\ptext[2-3]

\begin{marginfigure}
 %\fcapside
{\caption{یک عنوان شکل آزمایشی}}
{\includegraphics[width=\linewidth]{fig1}}
\label{fig4}
\end{marginfigure}
\end{document}

enter image description here

پاسخ داده شده مرداد 14, 1394 توسط یوسف (1,642 امتیاز)
ویرایش شده مرداد 14, 1394 توسط یوسف
ممنون از پاسخ‌تون؛ اما اگر به شکل ۲ در اسکرین‌شات من دقت کنید، می‌بینید که عنوان شکل در حاشیه و زیر شکل قرار گرفته. من هر چقدر در راهنمای بسته floatrow گشتم، نتونستم این وضعیت رو ایجاد کنم. شما چنین چیزی در راهنما ندیدید؟
بنده هم خیلی تلاش کردم این حالت را ایجاد کنم اما متاسفانه نشد. چون شما اسمی از این بسته نبرده بودید احتمال دادم که از آن استفاده نکرده باشید و خودتان با توجه به تجربه بالا بتوانید حالت مورد نظر را به وجود بیاورید.
در راهنمای همین بسته در صفحه‌ی 99-102 در حالتی که چند شکل وجود دارد این حالت محقق شده اما در این متن خطاهای مختلفی با نوشتن کد های موجود ظاهر می شود.
کدهای پیشین اصلاح شد و به نظر می آید آنچه شما خواسته بودید به دست آمد.
ممنون از اصلاحاتی که انجام دادید؛ اما اگر به شکل اول صفحه دوم کدتون دقت کنید، می‌بینید که عنوان شکل در زیر شکل، پنهون شده.
بله الآن که نگاه کردم دیدم سخن شما درست است، اگر برای هر دونوع تصویر از عنوان پایین استفاده شود (یعنی دستور bottom به جای center در floatsetup\ اول) این مشکل هم حل می شود اما، در این صورت خواسته شما که نمایش عنوان در کنار تصویر در تصاویر کوچک است برآورده نمی شود.
...