![嵌套环境:序列重要吗?](https://linux22.com/image/319898/%E5%B5%8C%E5%A5%97%E7%8E%AF%E5%A2%83%EF%BC%9A%E5%BA%8F%E5%88%97%E9%87%8D%E8%A6%81%E5%90%97%EF%BC%9F.png)
在最下方的 MWE 中,我定义了一个名为 的新环境,teacheronly
它将文本包装在两个环境中。第一个环境是polyglossia
语言设置,第二个环境是使用包的框架迷你页面boxedminipage2e
。如果我切换这些环境的顺序,我会得到非常不同的结果,我想了解原因。
我目前对嵌套环境的理解是,嵌套的顺序通常并不重要。换句话说,在下面的伪代码中,可以多次environ1
切换。environ2
\begin{environ1}
\begin {environ2}
some text
\end {environ2}
\end {environ1}
但在下面的 MWE 中,如果english
环境外部环境boxedminipage
好的话,我就能取得好成绩。但如果english
环境不好里面,我得到了两个奇怪的效果:
- 环境
english
“崩溃”并无缘无故恢复为阿拉伯语 - 分页发生变化。
有人能给我解释一下吗?我原本以为输出会相同。关键文本位于文档末尾的框内。如果我更改环境顺序,它会移动到下一页。
我更愿意将其english
作为内部环境,因为我的真实文本(不是 MWE)希望在环境中包含的boxedminipage
不仅仅是一个english
环境,而是几种不同的语言环境。
\documentclass[12pt,oneside]{report}
\usepackage[a4paper, top=1.0in, bottom=1in, inner=1.6in, outer=1in, includefoot] {geometry}
\usepackage{boxedminipage2e}
\usepackage{environ}
\usepackage[compact]{titlesec}
\usepackage{polyglossia,}
\setlength{\parskip}{4.5ex plus 0.2ex minus 0.2ex }
\setlength{\parindent}{0pt}
\setmainlanguage{arabic}
\setotherlanguage{english}
\newfontfamily\arabicfont[Script=Arabic, Scale=1.70]{Scheherazade}
\NewEnviron{teacheronly}[1]
{
\begin{english}
\begin{boxedminipage}[t][#1][t]{\linewidth}
\BODY% Comment this to remove `...more marked tex...`
\mbox{}
\end{boxedminipage}
\end{english}
}
\pagestyle{plain}
\begin{document}
\section{ففف غغغ جكجج للل ددد }
اهسيجحد هايحجدس هايس دهاسيج د؛هايسج
؛اسح
\begin{teacheronly}{1in}
\end{teacheronly}
ا؛حسد ةه؛اوسحد ؛هاسح اهسدح ؛هاوسحد
\begin{teacheronly}{1in}
\end{teacheronly}
الوعد ”وَتَتَبَارَكُ فِيكَ جَمِيعُ قَبَائِلِ ٱلْأَرْضِ" -هو متحقق إزّي؟
\begin{teacheronly}{1in}
\end{teacheronly}
\section{نتوقع إيه بعد كده تتت ثثث ظظظ}
إاسكلدجح ايسودغ يسدو غيشوغ يسدوح صسخيه؛وح ص
اةيهسوح يسهدوحص هوسدصح
\begin{teacheronly}{1in}
Read and write what you expect to happen next in the story.
This is another paragraph
This is another
\end{teacheronly}
\end{document}