ネストされた複数段組の環境で、最も内側の段にのみ分離ルーラーを設定するにはどうすればよいでしょうか。

ネストされた複数段組の環境で、最も内側の段にのみ分離ルーラーを設定するにはどうすればよいでしょうか。

私の質問はこれですネストされた環境のペアでは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}

上記のコードのように、上記の投稿を二重化して外側を削除しようとしました\setlength。しかし、分離定規はまったく表示されません。

答え1

あなたがリンクを提供した以前の投稿と同様に、指示を\setlength{\columnseprule}{0.4pt}実行する必要があります前にそれが影響を与えると想定される環境multicols

のスコープを\setlength{\columnseprule}{0.4pt}「内部」インスタンスに制限するには、この命令と内部環境を、およびディレクティブをmulticols介して別の TeX グループに配置することをお勧めします。\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}

ここに画像の説明を入力してください

関連情報