LaTeX의 가장 바깥쪽 레이어에만 열 구분선이 있는 중첩된 다중 열

LaTeX의 가장 바깥쪽 레이어에만 열 구분선이 있는 중첩된 다중 열

내 문서에 3개의 열(기본 다중 열)이 있는 다중 열 환경을 사용하고 있습니다. 나는 환경 \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}

나중에 외부 열의 규칙 길이를 변경하기로 결정하면 문제가 줄어듭니다.

관련 정보