我想将分散在各个部分或章节中(或例如在单独的框内)的诗歌视为一个单元,并一起调整它们的长度。我该怎么做?
*我发现第一次运行后,诗歌长度存储在辅助文件中。在第二次运行期间,它会将所有诗歌的长度调整为 1,因此如果可以在第二次运行中进行一些更改,以便所有环境traditionalpoem
(分散在整个文本中)使用最大长度,问题就消失了。此致
\documentclass{article}
\usepackage{tcolorbox}
\usepackage{bidipoem}
\tcbuselibrary{breakable}
\newtcolorbox[auto counter, use counter=section, list type=section, list inside=toc]{sectionbox}[1]{colback=red!5!white, colframe=red!75!black, fonttitle=\bfseries, title={\thetcbcounter\ #1}, list entry={\thetcbcounter\quad #1}, breakable}
\usepackage{xepersian}
\settextfont{Yas}
\begin{document}
\begin{sectionbox}{مورد اول}
شغل یا مقام و ثروت میسنجیم که همه آنها فرم و ظاهر هستند و بههیچوجه نمیتوانند معیار سنجش حضوری باشند که فرم و نهایتی ندارد. در این رابطه، بیت زیر از مولانا بسیار روشن گر است.
\begin{traditionalpoem}
چنان گشت و چنین گشت، چنان راست نیاید&
مدانید که چونید، مدانید که چندید\\
\end{traditionalpoem}
\end{sectionbox}
\begin{sectionbox}{مورد دوم}
پس چطور میتوان از شب در مورد روز سؤال کرد و یا از پشه میزان قدرت باد را پرسید؟!
\begin{traditionalpoem}
شب گریزد، چونکه نور آید ز دور&
پس چه داند ظلمت شب، حال نور؟\\
پشه بگریزد ز باد بادها&
پس چه داند پشه ذوق بادها؟\\
\end{traditionalpoem}
\end{sectionbox}
\end{document}
更新: 按照大卫的天才回答,我在扩展文件时遇到了不稳定性:如果最长的诗歌行没有放在文本的开头(如下面的代码所示,它被放在第二个框内),第一个框的前三行就会错位。
\documentclass{article}
\usepackage{tcolorbox}
\usepackage{bidipoem}
\tcbuselibrary{breakable}
\newtcolorbox[auto counter, use counter=section, list type=section, list inside=toc]{sectionbox}[1]{colback=red!5!white, colframe=red!75!black, fonttitle=\bfseries, title={\thetcbcounter\ #1}, list entry={\thetcbcounter\quad #1}, breakable}
\usepackage{xepersian}
\settextfont{Yas}
\usepackage{etoolbox}
\makeatletter
\newdimen\max@poem@width
\patchcmd{\@endtraditionalpoem}
{\poem@write@aux{poem@width@\romannumeral\c@poem@no}{\new@poem@width}}
{\ifdim\new@poem@width>\max@poem@width
\global\max@poem@width\new@poem@width
\fi
\poem@write@aux{poem@width@\romannumeral\c@poem@no}{\max@poem@width}}
{}
{}
\makeatother
\renewcommand\poemcolsepskip{1cm}
\begin{document}
\begin{sectionbox}{مورد دوم}
پس چطور میتوان از شب در مورد روز سؤال کرد و یا از پشه میزان قدرت باد را پرسید؟!
\begin{traditionalpoem}
خبری است نورسیده تو مگر خبر نداری&
جگر حسود خون شد تو مگر جگر نداری\\
قمری است رونموده پَرِ نور برگشوده&
دل و چشم وام بستان ز کسی اگر نداری\\
عجب از کمانِ پنهان، شب و روز تیر پران&
بسپار جان به تیرش چه کنی سپر نداری\\
مسِ هستیات چو موسی نه ز کیمیاش زر شد&
چه غم است اگر چو قارون به جوال زر نداری\\
به درونِ توست مصری که تویی شکرستانش&
چه غم است اگر ز بیرون مدد شکر نداری\\
شدهای غلام صورت به مثال بت پرستان&
تو چو یوسُفی ولیکن به درون نظر نداری\\
به خدا جمالِ خود را چو در آینه ببینی&
بت خویش هم تو باشی به کسی گذر نداری\\
خِردا نه ظالمی تو که ورا چو ماه گویی&
ز چه روش ماه گویی، تو مگر بصر نداری\\
سر توست چون چراغی بگرفته شش فتیله&
همه شش ز چیست روشن اگر آن شرر نداری\\
تن توست همچو اُشتر که بَرَد به کعبهٔ دل&
ز خری به حج نرفتی، نه از آنک خر نداری\\
تو به کعبه گر نرفتی، بِکِشاندت سعادت&
مگریز ای فضولی که ز حق عَبَر نداری\\
\end{traditionalpoem}
\end{sectionbox}
\begin{sectionbox}{مورد اول}
شغل یا مقام و ثروت میسنجیم که همه آنها فرم و ظاهر هستند و بههیچوجه نمیتوانند معیار سنجش حضوری باشند که فرم و نهایتی ندارد. در این رابطه، بیت زیر از مولانا بسیار روشن گر است.
\begin{traditionalpoem}
قدرت باد را پرسید روی تو کس ندید و هزارت رقیب هست&
در غنچهای هنوز و صدت عندلیب هست\\
هرچند دورم از تو که دور از تو کس مباد&
لیکن امید وصل توام عنقریب هست\\
گر آمدم به کوی تو چندان غریب نیست&
چون من درین دیار فراوان غریب هست\\
عاشق که شد که یار به حالش نظر نکرد&
ای خواجه درد نیست وگرنه طبیب هست\\
در عشق خانقاه و خرابات فرق نیست&
هر جا که هست پرتو روی حبیب هست\\
آنجا که کار صومعه را جلوه میدهند&
ناقوسِ دیر و راهب و نام صلیب هست\\
فریاد حافظ اینهمه آخر به هرزه نیست&
هم قصهای غریب و حدیثی عجیب هست\\
\end{traditionalpoem}
\end{sectionbox}
\end{document}
答案1
更新答案
此次更新处理了更新后的问题。
这个想法是将最大诗歌宽度写入文档末尾的辅助文件,以便在下次运行开始时对其进行初始化。xelatex
需要运行三次。
平均能量损失
\documentclass{article}
\usepackage{tcolorbox}
\usepackage{bidipoem}
\tcbuselibrary{breakable}
\newtcolorbox[auto counter, use counter=section, list type=section, list inside=toc]{sectionbox}[1]{colback=red!5!white, colframe=red!75!black, fonttitle=\bfseries, title={\thetcbcounter\ #1}, list entry={\thetcbcounter\quad #1}, breakable}
\usepackage{xepersian}
\settextfont{Yas}
\usepackage{etoolbox}
\makeatletter
\def\max@poem@width{0pt}
\patchcmd{\@endtraditionalpoem}
{\poem@write@aux{poem@width@\romannumeral\c@poem@no}{\new@poem@width}}
{\ifdim\new@poem@width>\max@poem@width
\xdef\max@poem@width{\new@poem@width}%
\fi
\poem@write@aux{poem@width@\romannumeral\c@poem@no}{\max@poem@width}}
{}
{}
\AtEndDocument{%
\poem@write@aux{max@poem@width}{\max@poem@width}}
\makeatother
\renewcommand\poemcolsepskip{1cm}
\begin{document}
\begin{sectionbox}{مورد دوم}
پس چطور میتوان از شب در مورد روز سؤال کرد و یا از پشه میزان قدرت باد را پرسید؟!
\begin{traditionalpoem}
خبری است نورسیده تو مگر خبر نداری&
جگر حسود خون شد تو مگر جگر نداری\\
قمری است رونموده پَرِ نور برگشوده&
دل و چشم وام بستان ز کسی اگر نداری\\
عجب از کمانِ پنهان، شب و روز تیر پران&
بسپار جان به تیرش چه کنی سپر نداری\\
مسِ هستیات چو موسی نه ز کیمیاش زر شد&
چه غم است اگر چو قارون به جوال زر نداری\\
به درونِ توست مصری که تویی شکرستانش&
چه غم است اگر ز بیرون مدد شکر نداری\\
شدهای غلام صورت به مثال بت پرستان&
تو چو یوسُفی ولیکن به درون نظر نداری\\
به خدا جمالِ خود را چو در آینه ببینی&
بت خویش هم تو باشی به کسی گذر نداری\\
خِردا نه ظالمی تو که ورا چو ماه گویی&
ز چه روش ماه گویی، تو مگر بصر نداری\\
سر توست چون چراغی بگرفته شش فتیله&
همه شش ز چیست روشن اگر آن شرر نداری\\
تن توست همچو اُشتر که بَرَد به کعبهٔ دل&
ز خری به حج نرفتی، نه از آنک خر نداری\\
تو به کعبه گر نرفتی، بِکِشاندت سعادت&
مگریز ای فضولی که ز حق عَبَر نداری\\
\end{traditionalpoem}
\end{sectionbox}
\begin{sectionbox}{مورد اول}
شغل یا مقام و ثروت میسنجیم که همه آنها فرم و ظاهر هستند و بههیچوجه نمیتوانند معیار سنجش حضوری باشند که فرم و نهایتی ندارد. در این رابطه، بیت زیر از مولانا بسیار روشن گر است.
\begin{traditionalpoem}
قدرت باد را پرسید روی تو کس ندید و هزارت رقیب هست&
در غنچهای هنوز و صدت عندلیب هست\\
هرچند دورم از تو که دور از تو کس مباد&
لیکن امید وصل توام عنقریب هست\\
گر آمدم به کوی تو چندان غریب نیست&
چون من درین دیار فراوان غریب هست\\
عاشق که شد که یار به حالش نظر نکرد&
ای خواجه درد نیست وگرنه طبیب هست\\
در عشق خانقاه و خرابات فرق نیست&
هر جا که هست پرتو روی حبیب هست\\
آنجا که کار صومعه را جلوه میدهند&
ناقوسِ دیر و راهب و نام صلیب هست\\
فریاد حافظ اینهمه آخر به هرزه نیست&
هم قصهای غریب و حدیثی عجیب هست\\
\end{traditionalpoem}
\end{sectionbox}
\end{document}
原始答案
虽然我不懂波斯语,也不懂这些诗歌的意思,但我认为这会满足你的要求。
我只是修补\@endtraditionalpoem
以确保将全局最大宽度写入辅助文件,而不是特定诗歌的最大宽度。
将此添加到您的序言中:
\usepackage{etoolbox}
\makeatletter
\newdimen\max@poem@width
\patchcmd{\@endtraditionalpoem}
{\poem@write@aux{poem@width@\romannumeral\c@poem@no}{\new@poem@width}}
{\ifdim\new@poem@width>\max@poem@width
\global\max@poem@width\new@poem@width
\fi
\poem@write@aux{poem@width@\romannumeral\c@poem@no}{\max@poem@width}}
{}
{}
\makeatother
平均能量损失
\documentclass{article}
\usepackage{tcolorbox}
\usepackage{bidipoem}
\tcbuselibrary{breakable}
\newtcolorbox[auto counter, use counter=section, list type=section, list inside=toc]{sectionbox}[1]{colback=red!5!white, colframe=red!75!black, fonttitle=\bfseries, title={\thetcbcounter\ #1}, list entry={\thetcbcounter\quad #1}, breakable}
\usepackage{xepersian}
\settextfont{Yas}
\usepackage{etoolbox}
\makeatletter
\newdimen\max@poem@width
\patchcmd{\@endtraditionalpoem}
{\poem@write@aux{poem@width@\romannumeral\c@poem@no}{\new@poem@width}}
{\ifdim\new@poem@width>\max@poem@width
\global\max@poem@width\new@poem@width
\fi
\poem@write@aux{poem@width@\romannumeral\c@poem@no}{\max@poem@width}}
{}
{}
\makeatother
\begin{document}
\begin{sectionbox}{مورد اول}
شغل یا مقام و ثروت میسنجیم که همه آنها فرم و ظاهر هستند و بههیچوجه نمیتوانند معیار سنجش حضوری باشند که فرم و نهایتی ندارد. در این رابطه، بیت زیر از مولانا بسیار روشن گر است.
\begin{traditionalpoem}
چنان گشت و چنین گشت، چنان راست نیاید&
مدانید که چونید، مدانید که چندید \\
\end{traditionalpoem}
\end{sectionbox}
\begin{sectionbox}{مورد دوم}
پس چطور میتوان از شب در مورد روز سؤال کرد و یا از پشه میزان قدرت باد را پرسید؟!
\begin{traditionalpoem}
شب گریزد، چونکه نور آید ز دور&
پس چه داند ظلمت شب، حال نور؟\\
پشه بگریزد ز باد بادها&
پس چه داند پشه ذوق بادها؟\\
\end{traditionalpoem}
\end{sectionbox}
\end{document}