این پاسخ حاوی دو راهحل میباشد
- بدون استفاده از بسته
adjmulticol
- با استفاده از بسته
adjmulticol
بدون استفاده از بسته adjmulticol
پاسخ پرسش مشابه پاسخ موجود در این پرسش و پاسخ است.
\documentclass{biditufte-book}
\usepackage{multicol}
\usepackage{ptext}
\usepackage{xcolor}
\usepackage{xepersian}
\settextfont{Yas}
\makeatletter
\newenvironment{wider}
{\list{}{\leftmargin\z@\relax
\rightmargin-\@bidituftefloat@overhang\relax}%
\item\relax}
{\endlist}
\def\foo#1\moveright#2\full@width#3#4\foo{%
\def\page@sofar{%
#1%
\dimen@\multicol@leftmargin
\ifodd\c@page\else\advance\dimen@\@bidituftefloat@overhang\relax\fi
\moveright\dimen@
\hbox to \full@width{%
{\color{lightgray}\vrule \@width \full@width}%
\kern-\full@width
#3}%
#4}}
\expandafter\foo\page@sofar\foo
\makeatother
\begin{document}
\ptext[1]
\begin{wider}
\begin{multicols}{2}
\ptext[1-15]
\end{multicols}
\end{wider}
\ptext[1-3]
\begin{wider}
\begin{multicols}{2}
\ptext[1-100]
\end{multicols}
\end{wider}
\end{document}
با استفاده از بسته adjmulticol
راهحل زیر با بسته adjmulticol
کار میکند
\documentclass{biditufte-book}
\usepackage{adjmulticol}
\usepackage{ptext}
\usepackage{xcolor}
\usepackage{biditools}
\makeatletter
\let\UserOverHangDim\@bidituftefloat@overhang
\bidi@BeforeFile{adjmulticol-xetex-bidi.def}{%
\def\foo#1\full@width#2#3\foo{%
\def\page@sofar{%
#1%
\full@width{%
{\color{lightgray}\vrule \@width \full@width}%
\kern-\full@width
#2}%
#3}}
\expandafter\foo\page@sofar\foo%
}
\makeatother
\usepackage{xepersian}
\settextfont{Yas}
\begin{document}
\ptext[1]
\begin{adjmulticols}{2}{-\UserOverHangDim}{0in}
\ptext[1-15]
\end{adjmulticols}
\ptext[1-3]
\begin{adjmulticols}{2}{-\UserOverHangDim}{0in}
\ptext[1-100]
\end{adjmulticols}
\end{document}