اولین بار است که به اینجا می‌آیید؟ راهنمای سایت را بخوانید!
+1 رای
1.5k بازدید

من دو باکس عمودی دارم که با محیط minipage ساخته شده‌اند، دارم. چیزی که من لازم دارم این است که فاصله بین خط آخر باکس اول و خط اول باکس دوم به اندازه فاصله معمولی بین دو خط باشد.
فایل کمینه:

\documentclass{book}
\usepackage{enumitem}
\usepackage{amsmath}

\usepackage[showframe]{geometry}
\usepackage{xepersian}
\settextfont{XB Zar}
\setdigitfont{XB Zar}
\setlatintextfont{XB Zar}
\renewcommand{\baselinestretch}{2}
\setlength{\parindent}{0pt}
\begin{document}
		\begin{minipage}[t]{.46\linewidth}
			کراس‌اور محبوب تویوتا راو4 همراه با به‌روزرسانی‌هایی در فضای داخلی و خارجی، تا چند هفته آینده در نمایشگاه خودروی نیویورک به‌صورت رسمی رونمایی می‌شود.
		\end{minipage}\hfill
	\begin{minipage}[t]{.46\linewidth}
		کراس‌اور محبوب تویوتا راو4 همراه با به‌روزرسانی‌هایی در فضای داخلی و خارجی، تا چند هفته آینده در نمایشگاه خودروی نیویورک به‌صورت رسمی رونمایی می‌شود.
	\end{minipage}
	\begin{minipage}[t]{\linewidth}
	کراس‌اور محبوب تویوتا راو4 همراه با به‌روزرسانی‌هایی در فضای داخلی و خارجی، تا چند هفته آینده در نمایشگاه خودروی نیویورک به‌صورت رسمی رونمایی می‌شود.
\end{minipage}
	\begin{minipage}[t]{\linewidth}
	کراس‌اور محبوب تویوتا راو4 همراه با به‌روزرسانی‌هایی در فضای داخلی و خارجی، تا چند هفته آینده در نمایشگاه خودروی نیویورک به‌صورت رسمی رونمایی می‌شود.
\end{minipage}
\end{document}

خروجی به شکل زیر است:

enter image description here

ممنون میشم راهنمایی بفرمایید

2 پاسخ

+1 رای

سلام

- دستور \linespread{factor}

در این دستور فاکتور عددی است که در فونت پیش‌فرض محیط ضرب می‌شود. فرم کلی این دستور به صورت زیر است:

\linespread{factor}\selectfont
  1. راه اول:
    یک راه این کار این است که به صورت دستی در محیط مینی‌پیج با توجه به داده‌های فایل شما دستور زیر را وارد کنید:

    \linespread{1.2}\selectfont

که این کار خسته کننده خواهد بود.
2. راه دوم:
راه دوم این‌کار تنظیم سرتاسری آن در تمام فایل است. برای این‌کار با توجه به داده‌های فایل شما ماکروی زیر کارساز است:

\makeatletter
\newcommand{\@minipagerestore}{\linespread{1.2}\selectfont}
\makeatother

عدد 1.2 را می‌توانید به دلخواه تغییر دهید.
پس با این توضیحات دستورات شما به صورت زیر خواهند بود:

\documentclass{book}
\usepackage{enumitem}
\usepackage{amsmath}
\usepackage[showframe]{geometry}
\usepackage{xepersian}
\settextfont{XB Zar}
\setdigitfont{XB Zar}
\setlatintextfont{XB Zar}
\renewcommand{\baselinestretch}{2}
\makeatletter
\newcommand{\@minipagerestore}{\linespread{1.2}\selectfont}
\makeatother
\setlength{\parindent}{0pt}
\begin{document}
	\begin{minipage}[t]{.46\linewidth}
		کراس‌اور محبوب تویوتا راو4 همراه با به‌روزرسانی‌هایی در فضای داخلی و خارجی، تا چند هفته آینده در نمایشگاه خودروی نیویورک به‌صورت رسمی رونمایی می‌شود.
	\end{minipage}\hfill
	\begin{minipage}[t]{.46\linewidth}
		کراس‌اور محبوب تویوتا راو4 همراه با به‌روزرسانی‌هایی در فضای داخلی و خارجی، تا چند هفته آینده در نمایشگاه خودروی نیویورک به‌صورت رسمی رونمایی می‌شود.
	\end{minipage}
	\begin{minipage}[t]{\linewidth}
		کراس‌اور محبوب تویوتا راو4 همراه با به‌روزرسانی‌هایی در فضای داخلی و خارجی، تا چند هفته آینده در نمایشگاه خودروی نیویورک به‌صورت رسمی رونمایی می‌شود.
	\end{minipage}
	\begin{minipage}[t]{\linewidth}
		کراس‌اور محبوب تویوتا راو4 همراه با به‌روزرسانی‌هایی در فضای داخلی و خارجی، تا چند هفته آینده در نمایشگاه خودروی نیویورک به‌صورت رسمی رونمایی می‌شود.
		
	\end{minipage}
\end{document}

و خروجی شما با تکلایو 2017 به صورت زیر است:


enter image description here


موفق باشید.

ویرایش دوم:
باید از امکانات بسته‌ی etoolbox مطابق زیر استفاده کنید:

\BeforeBeginEnvironment{minipage}{\vspace*{4pt}}
\AfterEndEnvironment{minipage}{\vspace*{4pt}}

باتوجه به خواست شما استفاده کدتون به صورت زیر خواهد شد:

\documentclass{book}
\usepackage{enumitem}
\usepackage{amsmath}
\usepackage{etoolbox}
\usepackage[showframe]{geometry}
\usepackage{xepersian}
\settextfont{XB Zar}
\setdigitfont{XB Zar}
\setlatintextfont{XB Zar}
\renewcommand{\baselinestretch}{2}
\setlength{\parindent}{0pt}
\BeforeBeginEnvironment{minipage}{\vspace*{4pt}}
\AfterEndEnvironment{minipage}{\vspace*{4pt}}
\begin{document}
        \begin{minipage}[t]{.46\linewidth}
            کراس‌اور محبوب تویوتا راو4 همراه با به‌روزرسانی‌هایی در فضای داخلی و خارجی، تا چند هفته آینده در نمایشگاه خودروی نیویورک به‌صورت رسمی رونمایی می‌شود.
        \end{minipage}\hfill
    \begin{minipage}[t]{.46\linewidth}
        کراس‌اور محبوب تویوتا راو4 همراه با به‌روزرسانی‌هایی در فضای داخلی و خارجی، تا چند هفته آینده در نمایشگاه خودروی نیویورک به‌صورت رسمی رونمایی می‌شود.
    \end{minipage}
\begin{minipage}[t]{\linewidth}
    کراس‌اور محبوب تویوتا راو4 همراه با به‌روزرسانی‌هایی در فضای داخلی و خارجی، تا چند هفته آینده در نمایشگاه خودروی نیویورک به‌صورت رسمی رونمایی می‌شود.
\end{minipage}
    \begin{minipage}[t]{\linewidth}
    کراس‌اور محبوب تویوتا راو4 همراه با به‌روزرسانی‌هایی در فضای داخلی و خارجی، تا چند هفته آینده در نمایشگاه خودروی نیویورک به‌صورت رسمی رونمایی می‌شود.
\end{minipage}
\end{document}

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


enter image description here

ممنون دوست عزیز از پاسخگوییتون.
ولی من با فاصله‌ی بین خطوط در خود محیط minipage مشکلی ندارم. من نمی‌خواهم به فاصله‌ی بین خطوط در خود محیط minipage دست بزنم چون در این محیط فاصله بین خطوط با فاصله‌ی بین خطوط در کل صفحه هماهنگ است.
مشکلی که دارم این است که وقتی محیط minipage پایان می‌یابد و محیط minipage دیگری در زیر آن قرار می‌گیرد، فاصله‌ی بین خط آخر باکس اول و خط اول باکس دوم با فاصله‌ی معمول بین دو خط برابر نیست که از نظر فنی هم درست است منتها من احتیاج دارم که این فاصله با فاصله بین دو خط برابر باشد.
می‌توانم به‌صورت دستی با استفاده از vspace این فاصله را تنظیم کنم ولی از آنجا که در حال نوشتن یک کلاس هستم باید این کار بصورت اتوماتیک انجام شود به طوریکه عددی که در vspace قرار می‌دهم با تغییر اندازه فونت و اندازه فاصله بین خطوط به‌صورت صحیح تنظیم شود.
در ضمن این مشکل فقط هنگامی است که باکس بالایی شامل بیش از یک خط باشد و اگر فقط یک خط متن داشته باشد، هیچ مشکلی به‌وجود نمی‌آید.
توسط (589 امتیاز)
ویرایش دوم را لطفاً ببینید. خواست شماست.
توسط (8.7k امتیاز)
عالی بود دست شما درد نكند
توسط (679 امتیاز)
مشکل اینجاست که هر بار که فونت یا سایز فونت یا فاصله بین خطوط تغییر کرد مقداری که مثلا شما ۴ پوینت در نظر گرفته‌اید باید تغییر کند. من این فاصله رو اینجور تعریف کردم مقدار baselineskip منهای ارتفاع حرف ک منهای عمق حرف ی که تقریبا بگی نگی درست درمیاد و با تغییر فونت و اینها هم تقریبا مشکلی نداره ولی باز یه مشکلی که هست اینه که مینی پیجهایی که فقط یه دونه خط دارن خودشون از اول درست هستند و نیازی به این اضافه کردن فاصله ندارن.
توسط (589 امتیاز)
محیط‌هایی که یک سطر هستند را می‌توانید بدون مینی‌پیج بنویسید که تابع فاصله‌ی سطرها در متن هستند. در صورت لزوم برای تعداد متناهی هم می‌تونید دستی تنظیم کنید.
توسط (8.7k امتیاز)
همتنطور که گفتم من دارم یک کلاس می‌نویسم و بنابراین مشکل اینجاست که از قبل مشخص نیست که قراره چند سطر بشه.
توسط (589 امتیاز)
یک پاسخ جدید اضافه کردم که انشاالله خواسته‌ی شما را برآورده کند.
توسط (8.7k امتیاز)
+1 رای

سلام
چون پیام قبلی طولانی شده یک پاسخ جدید ایجاد می‌کنم.
در کدهای زیر در هر دوحالت می‌نی‌ پیج‌های یک سطری و بیش از آن تست شدهاست:
کدهای شما:

\documentclass{book}
\usepackage{enumitem}
\usepackage{amsmath}
\usepackage{lipsum}
\usepackage{etoolbox}
\usepackage{xepersian}
\settextfont{XB Zar}
\setdigitfont{XB Zar}
\setlatintextfont{XB Zar}
\renewcommand{\baselinestretch}{2}
\setlength{\parindent}{0pt}
\begin{document}
	\null\vfill
\begin{minipage}[b]{.46\linewidth}
قایقی خواهم ساخت\\
خواهم انداخت به آب\\
دور خواهم شد از این خاک غریب\\
که در آن هیچ کسی نیست که در بیشه‌ی عشق\\
قهرمانان را بیدار کند
\end{minipage}\hfill
\begin{minipage}[b]{.46\linewidth}
قایقی خواهم ساخت\\
خواهم انداخت به آب\\
دور خواهم شد از این خاک غریب\\
که در آن هیچ کسی نیست که در بیشه‌ی عشق\\
قهرمانان را بیدار کند
\end{minipage}

قایقی خواهم ساخت\\
خواهم انداخت به آب\\
دور خواهم شد از این خاک غریب\\
که در آن هیچ کسی نیست که در بیشه‌ی عشق\\
قهرمانان را بیدار کند

\begin{minipage}[t]{\linewidth}
قایقی خواهم ساخت \qquad
خواهم انداخت به آب
\end{minipage}

\begin{minipage}[t]{\linewidth}
قایقی خواهم ساخت \qquad
خواهم انداخت به آب
\end{minipage}
\end{document}

و اینم خروجی شما با تکلایو 2017:


enter image description here

موفق باشید.

ممنون جناب مددپور. الان خیلی خوب شده و با تغییرات فونت و فاصله بین خطوط کاملا سازگاره. خیلی شرمنده کردین. فقط من باید position تمام مینی پیج ها رو روی t تنظیم کنم و بعد از این که position رو به t تغییر میدم باز مشکل قبلی ظاهر میشه. ببخشید که اینقدر اذیتتون میکنم
توسط (589 امتیاز)
این مشکل فقط زمانی پیش میاد که شما چند مینی پیج درون یک سطر داشته باشید.
فقط اونها رو با آپشن b فراخونی کنید. مشکلی هم پبش نمیاد.
توسط (8.7k امتیاز)
پرسیدن سوال
وب‌سایت پرسش و پاسخ پارسی‌لاتک جایی برای پرسش و پاسخ درباره سیستم حروف‌چینی لاتک و بسته زی‌پرشین است. در اینجا می‌توانید سوال‌های خود را بپرسید و به سوال‌های دیگران پاسخ دهید.

7.1k سوال

6.6k پاسخ

23.4k دیدگاه

7.0k کاربر

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

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