.png)
Esta parece ser uma duplicata deEspaço vertical espúrio [?] introduzido por multicols, mas a solução daí não parece funcionar para mim. Basicamente eu quero o caso de usar multicols
paranãoaltere o espaçamento vertical entre o texto de introdução e a lista. A saída à direita está usando multicols
:
Há também espaço adicional seguindo o multicols
ambiente.
Notas:
- O
minipage
ambiente foi utilizado para ilustrar o problema. Eu nãonãoacredito que isso está afetando a questão do espaço vertical adicional. - O
tikz
pacote é usadoapenaspara destacar a questão do espaçamento.
Código:
\documentclass{article}
\usepackage{tikz}
\usepackage{enumitem}
\usepackage{multicol}
\raggedcolumns
%\setlength{\multicolbaselineskip}{0pt}% Seems to have no effect
\begin{document}
\begin{minipage}[t]{0.44\linewidth}
The following are examples of numbers:
\begin{itemize}
\item 0ne,
\item $\pi$,
\item $2+3i$,
and
\item $0$.
\end{itemize}%
Some text following.
\end{minipage}%
\hfill%-------------------------
\begin{minipage}[t]{0.44\linewidth}
%% https://tex.stackexchange.com/questions/161966/spurious-vertical-space-introduced-by-multicols
%\setlength{\topskip}{\fontcharht\font`B }% Seems to have no effect
The following are examples of numbers:
\begin{multicols}{2}
\begin{itemize}
\item 0ne,
\item $\pi$,
\item $2+3i$,
\item $0$.
\item Two,
\item $e$,
\item $2-3i$,
and
\item $-0$.
\end{itemize}%
\end{multicols}
Some text following.
\end{minipage}%
% Following manually tweaked to show the problem.
\begin{tikzpicture}[overlay, remember picture]
\draw [red] (-11.5cm,-1.16cm) -- ++(4.8in,0);
\draw [blue] (-11.5cm,-1.86cm) -- ++(4.8in,0);
\draw [orange] (-11.5cm,-3.95cm) -- ++(4.8in,0);
\end{tikzpicture}
\end{document}
Resultados (25/08/2014)
Aqui está o resultado que recebo do MWE de Frank Mittelbach (observe que o espaçamento do texto a seguir não está correto):
Saída de \listfiles:
Acabei de atualizartodospacotes do TeXLive2014 antes de executar o teste. Então, um dos meus pacotes está desatualizado ou há algum problema com o lançamento do TeXLive2014:
*File List*
article.cls 2007/10/19 v1.4h Standard LaTeX document class
size10.clo 2007/10/19 v1.4h Standard LaTeX file (size option)
tikz.sty 2013/12/13 v3.0.0 (rcs-revision 1.142)
pgf.sty 2013/12/18 v3.0.0 (rcs-revision 1.14)
pgfrcs.sty 2013/12/20 v3.0.0 (rcs-revision 1.28)
everyshi.sty 2001/05/15 v3.00 EveryShipout Package (MS)
pgfrcs.code.tex
pgfcore.sty 2010/04/11 v3.0.0 (rcs-revision 1.7)
graphicx.sty 2014/04/25 v1.0g Enhanced LaTeX Graphics (DPC,SPQR)
keyval.sty 2014/05/08 v1.15 key=value parser (DPC)
graphics.sty 2009/02/05 v1.0o Standard LaTeX Graphics (DPC,SPQR)
trig.sty 1999/03/16 v1.09 sin cos tan (DPC)
graphics.cfg 2010/04/23 v1.9 graphics configuration of TeX Live
pdftex.def 2011/05/27 v0.06d Graphics/color for pdfTeX
infwarerr.sty 2010/04/08 v1.3 Providing info/warning/error messages (HO)
ltxcmds.sty 2011/11/09 v1.22 LaTeX kernel commands for general use (HO)
pgfsys.sty 2013/11/30 v3.0.0 (rcs-revision 1.47)
pgfsys.code.tex
pgfsyssoftpath.code.tex 2013/09/09 (rcs-revision 1.9)
pgfsysprotocol.code.tex 2006/10/16 (rcs-revision 1.4)
xcolor.sty 2007/01/21 v2.11 LaTeX color extensions (UK)
color.cfg 2007/01/18 v1.5 color configuration of teTeX/TeXLive
pgfcore.code.tex
pgfcomp-version-0-65.sty 2007/07/03 v3.0.0 (rcs-revision 1.7)
pgfcomp-version-1-18.sty 2007/07/23 v3.0.0 (rcs-revision 1.1)
pgffor.sty 2013/12/13 v3.0.0 (rcs-revision 1.25)
pgfkeys.sty
pgfkeys.code.tex
pgfmath.sty
pgfmath.code.tex
pgffor.code.tex
tikz.code.tex
enumitem.sty 2011/09/28 v3.5.2 Customized lists
multicol.sty 2014/04/23 v1.8e multicolumn formatting (FMi)
etoolbox.sty 2011/01/03 v2.1 e-TeX tools for LaTeX
etex.sty 1998/03/26 v2.0 eTeX basic definition package (PEB)
supp-pdf.mkii
pdftexcmds.sty 2011/11/29 v0.20 Utility functions of pdfTeX for LuaTeX (HO)
ifluatex.sty 2010/03/01 v1.3 Provides the ifluatex switch (HO)
ifpdf.sty 2011/01/30 v2.3 Provides the ifpdf switch (HO)
epstopdf-base.sty 2010/02/09 v2.5 Base part for package epstopdf
grfext.sty 2010/08/19 v1.1 Manage graphics extensions (HO)
kvdefinekeys.sty 2011/04/07 v1.3 Define keys (HO)
kvoptions.sty 2011/06/30 v3.11 Key value format for package options (HO)
kvsetkeys.sty 2012/04/25 v1.16 Key value parser (HO)
etexcmds.sty 2011/02/16 v1.5 Avoid name clashes with e-TeX commands (HO)
epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Live
omscmr.fd 1999/05/25 v2.5h Standard LaTeX font definitions
Responder1
Se uma lista como essa itemize
for colocada no início de uma minipágina, seu espaçamento vertical usual antes da lista será omitido.
Adicionar multicols
da maneira que você fez está produzindo uma caixa ao redor da itemize
lista como uma minipágina e, portanto, \topsep
não é adicionado. Em vez disso, o que você vê é o \multicolsep
que é adicionado antes e depois do multicol
ambiente.
Na classe do artigo (10pt) \topsep
tem o valor 8pt mais 2pt menos 4pt enquanto \multicolsep
é algo como 12pt o que explica (a maior parte) das diferenças experimentadas. Por isso
\setlength\multicolsep{\topsep}
deveria, em teoria, resolver seu problema.
No entanto, seu exemplo também mostrou uma falha no tratamento de multicols, \prevdepth
que é responsável pelo desalinhamento de 1.9994pt após o ambiente (acontece apenas no modo "caixa", ou seja, se o ambiente aparecer dentro de uma minipágina ou similar).
Além disso, você precisa corrigir um dos componentes internos do multicol por enquanto:
\usepackage{etoolbox}
\makeatletter
\patchcmd\page@sofar{\kern-\dimen\tw@ \ifdim\dimen\tw@}
{\kern-\dimen\tw@ \prevdepth\z@ \ifdim\dimen\tw@}
{\typeout{Success!}}{\ERRORpatching}
\makeatother
Com esses dois ajustes você deverá ver o seguinte:
Conforme solicitado aqui está o MWE completo, se isso não funcionar no seu final, você pode ter uma versão mais antiga multicol
, talvez, esta foi executada com a versão 2014/06/19 v1.8f.
\documentclass{article}
\usepackage{tikz}
\usepackage{enumitem}
\usepackage{multicol}
\raggedcolumns
\usepackage{etoolbox}
\setlength\multicolsep{\topsep}
\makeatletter
\patchcmd\page@sofar{\kern-\dimen\tw@ \ifdim\dimen\tw@}
{\kern-\dimen\tw@ \prevdepth\z@ \ifdim\dimen\tw@}
{\typeout{Success!}}{\ERRORpatching}
\makeatother
\begin{document}
\begin{minipage}[t]{0.44\linewidth}
The following are examples of numbers:
\begin{itemize}
\item 0ne,
\item $\pi$,
\item $2+3i$,
and
\item $0$.
\end{itemize}%
Some text following.
\end{minipage}%
\hfill%-------------------------
\begin{minipage}[t]{0.44\linewidth}
%% http://tex.stackexchange.com/questions/161966/spurious-vertical-space-introduced-by-multicols
%\setlength{\topskip}{\fontcharht\font`B }% Seems to have no effect
The following are examples of numbers:
\begin{multicols}{2}
\begin{itemize}
\item 0ne,
\item $\pi$,
\item $2+3i$,
\item $0$.
\item Two,
\item $e$,
\item $2-3i$,
and
\item $-0$.
\end{itemize}%
\end{multicols}%
Some text following.
\end{minipage}%
% Following manually tweaked to show the problem.
\begin{tikzpicture}[overlay, remember picture]
\draw [red] (-11.5cm,-1.16cm) -- ++(4.8in,0);
\draw [blue] (-11.5cm,-1.86cm) -- ++(4.8in,0);
\draw [orange] (-11.5cm,-3.95cm) -- ++(4.8in,0);
\end{tikzpicture}
\end{document}
Atualizar
Uma correção para esse problema foi adicionada ao multicol
1.8g. A nova versão está agora no CTAN e deve aparecer em distribuições com recursos de atualização em alguns dias (assim que Heiko fornecer o pacote tls).
Observe que uma configuração adequada \multicolsep
ainda é necessária (e sempre será).