KOMA-Script (scrbook): índice de uma coluna e minitoc em documento de duas colunas

KOMA-Script (scrbook): índice de uma coluna e minitoc em documento de duas colunas

Tenho problemas com a formatação dos meus índices. Por favor, veja meu MNWE abaixo. Eu gostaria demudar todas as minhas tabelas para um layout de coluna. Eu tento usar a solução dissoresposta tex.stackexchange, que usa esta parte do código tex:

\unsettoc{toc}{onecolumn} 

mas parece que isso não funciona. Tentei entender o scrbook manual (página264), mas infelizmente não entendi. Eu uso miktex/xelatex. Anexo também fotos do resultado da tradução.

\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}

insira a descrição da imagem aqui figura 1: Comando\tableofcontents


insira a descrição da imagem aqui Figura 2: Comando\minitoc

Responder1

Para o tema principal

Por favor, leia atentamente novamente a resposta vinculada e a documentação do KOMA-Script 1) :Por padrãoem scrbook(e scrreprt) o toc é definido emmodo de uma coluna. Só que, quando quiser ter em duas colunas, você precisa de \unsettoc{toc}{onecolumn}. Então, deixar de fora é a solução aqui…

Para o minitoc

Utilize \setchapterpreamble2) . Observe que você deve configurá-lo antes do capítulo ao qual pertence. Com dois argumentos opcionais você pode influenciar a posição e a largura.

Observe também que tive que desativar as regras antes e depois com \mtcsetrules{minitoc}{off}. Como solução alternativa adicionei duas vezes \hrulefill(a primeira deve estar dentro \smashe depois uma caixa make [teria funcionado sem, mas depois seria mais difícil determinar o espaço vertical], a segunda também funcionaria sem, mas apenas copiei) e algumas verticais espaços. Eu acho que \vspacedeve ser ajustado individualmente à fonte e ao tamanho da fonte.

Como muito provavelmente você terá mais de um capítulo, defini dois novos comandos, veja o código abaixo para comentários. Porque estes têm\setchapterpreamble dentro (ou se destinam a usá-los dentro),essesdeve ser definido antes de cada capítulo.

\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}

Na maioria dos casos será suficiente colocar \setchaptertocna frente de um capítulo. Mas para os casos em que você deseja adicionar mais do que o minitoc, defini \dochaptertocas soluções alternativas para regras removidas destinadas ao uso em \setchapterpreamble, cf. capítulo 2 no exemplo.

1) Leia online em Texdoc.net:“\setuptoc” e “\unsettoc”(PDF)

2) Leia também online em Texdoc.net:“\setpartpreamble” e “\setchapterpreamble”(PDF novamente)

informação relacionada