2009-05-04 29 views
3

我想这个启动一个新的multicols环境何时关闭marginpar:关闭marginpar(marginparwidth),而在multicols环境

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

但是,这是行不通的。我错过了什么?

+0

这不会改变文本宽度,如果这就是你想要的。边距只是在文本的边上,它们不会影响其大小或位置。 – 2009-05-05 18:54:09

回答

2

你到了那里是行不通的网页中部的命令,你需要使用changepage包做。

\usepackage{changepage} 

我认为你试图占用整个页面的宽度。我这个缺口从塔夫特乳胶类:

首先,定义会在一开始被添加到文本宽度和减去在最后一个“突出”量:

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

然后使用\ adjustwidth与当要删除marginpar空间悬量:

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

由于达明指出的那样,你仍然可以使用marginpars这样,他们就会超过页宽。 \ multicols会阻止你使用浮动,但是。

希望这就是你需要的!

1

我不确定你在找什么,但一般来说marginpars不允许在multicols中。从多元文档:

...当前实现中不允许使用浮点数和marginpars [这取决于缺少时间。要实现浮点数,必须重新实现整个LATEX输出程序。]。