我在文件中使用了包含 3 個欄位的 multicols 環境(主要 multicols)。我設法在環境\setlength{\columnseprule}{0.4pt}
內部獲得列之間的線分隔\begin{multicols*}{3}
。
現在我需要在主多列中使用沒有行分隔的嵌套多列環境。我嘗試在嵌套多列中使用\setlength{\columnseprule}{0pt}
,但嵌套多列中仍然出現一條分隔線。如何僅在主多座標中繪製分隔線,而不在嵌套多座標中繪製分隔線?
我正在使用以下程式碼:
\documentclass[a4paper, 6pt, landscape]{scrartcl}
\usepackage{multicol}
\begin{document}
\begin{multicols*}{3}
\setlength{\columnseprule}{0.4pt}
Here follows some text with a separation line between the columns...
\begin{multicols*}{2}
\setlength{\columnseprule}{0pt}
Text in the nested multicols that should be without separation lines...
\setlength{\columnseprule}{0.4pt}
\end{multicols*}
\end{multicols*}
\end{document}
答案1
multicols
當環境列真正設定時,並不總是很容易找到。將\setlength
命令移到內部multicols
環境之外可以解決您的問題:
\documentclass[a4paper, 6pt, landscape]{scrartcl}
\usepackage{multicol}
\usepackage{lipsum}
\begin{document}
\setlength{\columnseprule}{0.4pt}
\begin{multicols*}{3}
Here follows some text with a separation line between the columns...
\setlength{\columnseprule}{0pt}
\begin{multicols*}{2}
Text in the nested multicols that should be without separation lines...
\end{multicols*}
\setlength{\columnseprule}{0.4pt}
\lipsum
\end{multicols*}
\end{document}
答案2
請注意,如果您經常這樣做,那麼建立自訂環境可能會更方便,該環境將自動恢復本機群組的外部規則長度。
\newenvironment{innermulticol}[1]
{\begingroup\setlength{\columnseprule}{0pt}\begin{multicols*}{#1}}
{\end{multicols*}\endgroup}
如果您隨後決定更改外列的規則長度,那麼您會遇到更少的麻煩。