섹션 제목 앞과 뒤의 다중 콜 목록 간격

섹션 제목 앞과 뒤의 다중 콜 목록 간격

목록이 섹션 시작 직후 또는 직전에 있는 경우 환경 itemize내부의 환경 전후에 일관된 간격을 얻으려면 어떻게 해야 합니까 ?multicols

여기에 이미지 설명을 입력하세요

Foo2의 목록은 enumitem목록이고 목록 앞뒤의 간격은 Foo1의 텍스트 앞뒤 간격과 일치하는 것 같습니다.

Foo3의 목록은 동일한 enumitem목록이지만 환경으로 둘러싸여 있습니다 multicols. 2열 목록 앞뒤에 세로 공간이 너무 많습니다.

\multicolsepFoo4의 목록은 0pt로 설정된다는 점을 제외하면 Foo3과 동일합니다 . 이전의 공간은 여전히 ​​너무 많지만 그다지 나쁘지는 않으며 이제 목록 다음의 공간도 너무 적습니다.

일관된 간격을 얻으려면 이 문제를 어떻게 해결해야 합니까?

코드는 다음과 같습니다.

\documentclass{article}
\usepackage{calc}
\usepackage[vmargin=1em,hmargin=0.25in+1em,papersize={2in,2.7in}]{geometry}

\usepackage{titlesec}
\titleformat{\section}[block]{\normalfont\large\scshape}{}{0pt}{}[\titlerule]
\titlespacing*{\section}{-0.25in}{*0.25}{*0.25}[-0.25in]

\usepackage{multicol}
\usepackage{enumitem}
\SetEnumitemKey{twocol}{
  before=\raggedcolumns\begin{multicols}{2},
  after=\end{multicols},
}
\SetEnumitemKey{twocol0}{
  before=\raggedcolumns\setlength{\multicolsep}{0pt}\begin{multicols}{2},
  after=\end{multicols},
}
\setlist[itemize]{leftmargin=*,nosep,}

\begin{document}%
\section{Foo1}Aj%
\section{Foo2}\begin{itemize}\item{}Aj\end{itemize}%
\section{Foo3}\begin{itemize}[twocol,]\item{}Aj\item{}Aj\end{itemize}%
\section{Foo4}\begin{itemize}[twocol0,]\item{}Aj\item{}Aj\end{itemize}%
\section{Foo5}Aj%
\end{document}

버전:

  • multicol 2014/08/24 v1.8g multicolumn formatting (FMi)
  • enumitem 2011/09/28 v3.5.2 Customized lists

답변1

multicolumn온라인 환경만 필요한 경우에는 itemize 패키지를 기반으로 하는 다른 접근 방식을 제안합니다 shortlst. CTAN에서 찾을 수 있지만 라이선스 문제로 인해 배포되지 않습니다.

tabitemize열 단위로 표시되는 항목에 대한 환경을 정의합니다 . 열 수는 키로 제어됩니다 nc(기본적으로 3). 다음 코드는 원하는 것을 제공한다고 생각합니다.

\documentclass{article}
\usepackage{calc}
\usepackage[vmargin=1em,hmargin=0.25in+1em,papersize={2in,2.7in}]{geometry}

\usepackage{titlesec}
\titleformat{\section}[block]{\normalfont\large\scshape}{}{0pt}{}[\titlerule]
\titlespacing*{\section}{-0.25in}{*0.25}{*0.25}[-0.25in]

\usepackage{multicol}
\usepackage[inline]{enumitem}
\SetEnumitemKey{twocol}{
  before=\raggedcolumns\begin{multicols}{2},
  after=\end{multicols},
}
\SetEnumitemKey{twocol0}{
  before=\raggedcolumns\setlength{\multicolsep}{0pt}\begin{multicols}{2},
  after=\end{multicols},
}
\setlist[itemize]{leftmargin=*,nosep,}


    \usepackage{shortlst, xkeyval}

    \makeatletter
    \newcounter{ncol}
    \define@key{mcl}{nc}[3]{\setcounter{ncol}{#1}}%% 3 columns by default
    \newenvironment{tabitemize}[1][]{%
    \setkeys{mcl}{nc,#1}
    \settowidth{\labelwidth}{\textbullet}
    \setlength{\leftmargini}{\dimexpr\labelwidth+\labelsep\relax}%[1][3]
    \setlength{\shortitemwidth}{\dimexpr\linewidth/\value{ncol}-\labelwidth-2\labelsep\relax}%
          \begin{shortitemize}}%
    {\end{shortitemize}
     \vspace*{\dimexpr-\topsep-\partopsep\relax
     }%

\begin{document}%

\section{Foo1}Aj%
\section{Foo2}\begin{itemize}\item{}Aj\end{itemize}%
\section{Foo3}\begin{tabitemize}[nc = 2]\item{}Aj\item{}Aj\end{tabitemize}%
\section{Foo4}\begin{tabitemize}[nc = 2]\item{}Aj\item{}Aj\end{tabitemize}%
\section{Foo5}Aj%

\end{document} 

여기에 이미지 설명을 입력하세요

관련 정보