Domanda

Sto provando a disattivare marginpar all'avvio di un nuovo ambiente multicols con questo:

\renewenvironment{multicols}[1]{%
  \let\oldmarginparwidth\marginparwidth 
  \setlength{\marginparwidth}{0}%
  \begin{multicols}{#1}
}{%
  \end{multicols}%
  \setlength{\marginparwidth}{\oldmarginparwidth}%
}

Tuttavia, non funziona. Cosa mi sto perdendo?

È stato utile?

Soluzione

Il comando che hai ricevuto non funzionerà a metà pagina, per farlo devi usare il pacchetto changepage.

\usepackage{changepage} 

Presumo che tu stia cercando di occupare l'intera larghezza della pagina. L'ho soprannominato dalla classe tufte-latex:

Innanzitutto, definisci un importo di "sporgenza" che verrà aggiunto all'inizio alla larghezza del testo e sottratto alla fine:

\newlength{\overhang}
\setlength{\overhang}{\marginparwidth}
\addtolength{\overhang}{\marginparsep}

Quindi usa \ adjustwidth con la quantità di sporgenza quando vuoi rimuovere lo spazio marginpar:

\begin{adjustwidth}{}{-\overhang}
% This will be displayed full-width
\end{adjustwidth}{}{-\overhang}

Come ha sottolineato Damien, puoi comunque usare marginpars in questo modo, supereranno solo la larghezza di pagina. \ multicols ti impedirà comunque di usare i float.

Spero che sia quello che ti serve!

Altri suggerimenti

Non sono sicuro esattamente cosa stai cercando qui, ma generalmente le marginbar non sono già consentite nei multicol. Dalla documentazione multicol:

  

... float e marginbar non sono ammessi nell'attuale implementazione [Questo è dettato dalla mancanza di tempo. Per implementare i galleggianti è necessario reimplementare l'intera routine di output LATEX.].

Sono riuscito a farlo funzionare usando il pacchetto chngpage e definendo un nuovo ambiente che imposta / ripristina valori diversi prima / dopo quell'ambiente.

Tuttavia, ho ancora un problema nell'ultima pagina di ogni \ capitolo: larghezza dell'intestazione nell'ultima pagina del capitolo

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top