在嵌套的multicols環境中,如何只設定最裡面的一個有分隔標尺?

在嵌套的multicols環境中,如何只設定最裡面的一個有分隔標尺?

我的問題是雙重的這個。在一對嵌套multicols環境中,我希望內部環境具有分隔規則,即以下 mwe 中的「檢查」:

\documentclass{article}
\usepackage{multicol}

\begin{document}
\begin{multicols}{2} 
Test Test   Test Test Test Test Test Test Test Test

\begin{multicols}{2}\setlength{\columnseprule}{0.4pt}
Check Check Check Check Check Check Check Check 
\end{multicols} 
Test Test   Test Test   Test Test Test Test Test Test 
\end{multicols}
\end{document}

我嘗試將上面的帖子對偶化並刪除 external \setlength,如上面的程式碼。但隨後根本沒有分離標尺出現。

答案1

正如您在之前提供連結的帖子中一樣,\setlength{\columnseprule}{0.4pt}必須運行該指令multicols它應該影響的環境。

\setlength{\columnseprule}{0.4pt}為了限制「內部」實例的範圍,我建議將此指令和內部multicols環境放在單獨的 TeX 群組 via\begingroup\endgroup指令中。

在此輸入影像描述

\documentclass{article}
\usepackage{multicol} % for 'multicols' environment

\begin{document}
\raggedright % just for this example

\begin{multicols}{2} 
Test1 Test1 Test1 Test1 Test1 Test1 Test1 Test1 Test1 Test1

\begingroup
\setlength{\columnseprule}{0.4pt}
\begin{multicols}{2}
Checka Checka Checka Checka 
Checkb Checkb Checkb Checkb 
\end{multicols} 
\endgroup

Test2 Test2 Test2 Test2 Test2 Test2 Test2 Test2 Test2 Test2 Test2 Test2 Test2 Test2
\end{multicols}

\end{document}

答案2

我會定義一個適合的環境。

\documentclass{article}
\usepackage{multicol}
\usepackage{lipsum}

\newenvironment{rmulticols}[2][0.4pt]{%
  \setlength{\columnseprule}{#1}\begin{multicols}{#2}%
}{\end{multicols}}

\begin{document}

\begin{multicols}{2} 
\lipsum[1][1-2]

\begin{rmulticols}{2}
\lipsum[2][1-4]
\end{rmulticols} 
\lipsum[3]
\end{multicols}

Or the other way around

\begin{rmulticols}{2} 
\lipsum[1][1-2]

\begin{rmulticols}[0pt]{2}
\lipsum[2][1-4]
\end{rmulticols} 
\lipsum[3]
\end{rmulticols}

\end{document}

在此輸入影像描述

相關內容