KOMA-Script (scrbook): 1열 목차 및 2열 문서의 minitoc

KOMA-Script (scrbook): 1열 목차 및 2열 문서의 minitoc

목차 형식을 지정하는 데 문제가 있습니다. 아래의 MNWE를 참조하세요. 나는하고 싶다모든 테이블을 하나의 열 레이아웃으로 전환. 나는 이것으로부터 솔루션을 사용하려고합니다tex.stackexchange 답변, tex 코드의 평화를 사용합니다.

\unsettoc{toc}{onecolumn} 

하지만 그것은 작동하지 않는 것 같습니다. 수동스크롤북을 이해하려고 노력했습니다(페이지264), 아쉽게도 받지 못했습니다. 저는 miktex/xelatex를 사용합니다. 번역 결과 사진도 첨부합니다.

\documentclass[twocolumn]{scrbook}
\usepackage[nohints]{minitoc}  
\unsettoc{toc}{onecolumn}
\usepackage{lipsum}
\begin{document}
\dominitoc
\tableofcontents
\chapter{Foo}
\minitoc
\lipsum[1]
\section{Bar}
\lipsum[2]
\subsection{Baz}
\lipsum[3]
\section{FooBarBaz}
\lipsum[4]
\end{document}

여기에 이미지 설명을 입력하세요 그림 1: 명령\tableofcontents


여기에 이미지 설명을 입력하세요 그림 2: 명령\minitoc

답변1

주요 목차의 경우

링크된 답변과 KOMA-Script 문서를 다시 주의 깊게 읽어 보십시오. 1) :기본적으로scrbook(및 ) 에서 scrreprttoc는 다음으로 설정됩니다.1열 방식. 단, 두 개의 열로 표시하려면 \unsettoc{toc}{onecolumn}. 그래서, 그것을 떠나는 것이 여기서 해결책입니다 ...

미니톡의 경우

\setchapterpreamble2) 를 사용하세요 . 참고로 해당 챕터가 속한 챕터 앞에 설정해야 합니다. 두 개의 선택적 인수를 사용하면 위치와 너비에 영향을 줄 수 있습니다.

또한 를 사용하기 전후에 규칙을 비활성화해야 했다는 점에 유의하세요 \mtcsetrules{minitoc}{off}. 해결 방법으로 두 번 추가했습니다 \hrulefill(첫 번째는 안에 있어야 \smash하고 다음에는 make 상자가 있어야 합니다[없이 작동했지만 수직 공간 결정이 더 어려웠습니다]. 두 번째도 없이 작동하지만 방금 복사했습니다). 공백. 제 생각에는 \vspace글꼴과 글꼴 크기를 개별적으로 조정해야 할 것 같습니다.

아마도 두 개 이상의 장이 있을 것이므로 두 개의 새로운 명령을 정의했습니다. 설명은 아래 코드를 참조하세요. \setchapterpreamble내부에 있는(또는 내부에서 사용하도록 되어 있는) 것이므로 ,이것들각 장 앞에 설정해야 합니다.

\documentclass[twocolumn]{scrbook}
\usepackage[nohints]{minitoc}
\mtcsetrules{minitoc}{off}
\usepackage{lipsum}

\newcommand{\dochaptertoc}{%
  \vspace{1.85\baselineskip} % workaround for removed rule
  \smash{\makebox[\linewidth]{\hrulefill}} % workaround for removed rule
  \vspace{-1.85\baselineskip} % workaround for removed rule
  \minitoc
  \vspace{-1.15\baselineskip} % workaround for removed rule
  \smash{\makebox[\linewidth]{\hrulefill}} % workaround for removed rule
  \vspace{1.15\baselineskip} % workaround for removed rule
}
\newcommand{\setchaptertoc}{%
  \setchapterpreamble{% KOMA-Script command
    \dochaptertoc%
  }}

\begin{document}
\dominitoc
\tableofcontents

\setchaptertoc
\chapter{One}
\lipsum[1]
\section{One, one}
\lipsum[2]
\subsection{One, one, one}
\lipsum[3]
\section{One, two}
\lipsum[4]

\setchapterpreamble{
  \dictum{Time for a bon-mot.}% KOMA-Script command
  \dochaptertoc
}
\chapter{Two}
\lipsum[5]
\section{Two, one}
\lipsum[6]
\section{Two, two}
\subsection{two, two, one}
\lipsum[7]
\end{document}

\setchaptertoc대부분의 경우 장 앞에 넣는 것으로 충분합니다 . 그러나 minitoc보다 더 많은 것을 추가하려는 경우에는 \dochaptertoc에서 사용하도록 의도된 제거된 규칙에 대한 해결 방법을 정의했습니다 \setchapterpreamble(참조). 예제의 2장.

1) Texdoc.net에서 온라인으로 읽어보세요:“\setuptoc” & “\unsettoc”(PDF)

2) Texdoc.net에서도 온라인으로 읽어보세요.“\setpartpreamble” & “\setchapterpreamble”(다시 PDF)

관련 정보