![remova o espaço em branco antes do ambiente de múltiplas colunas em pdf produzido por rmarkdown](https://rvso.com/image/475732/remova%20o%20espa%C3%A7o%20em%20branco%20antes%20do%20ambiente%20de%20m%C3%BAltiplas%20colunas%20em%20pdf%20produzido%20por%20rmarkdown.png)
Meu problema surge dehttps://bookdown.org/yihui/rmarkdown-cookbook/multi-column.html, onde pego emprestada a configuração columns.tex
que diz
\newenvironment{cols}[1][]{}{}
\newenvironment{col}[1]{\begin{minipage}{#1}\ignorespaces}{%
\end{minipage}
\ifhmode\unskip\fi
\aftergroup\useignorespacesandallpars}
\def\useignorespacesandallpars#1\ignorespaces\fi{%
#1\fi\ignorespacesandallpars}
\makeatletter
\def\ignorespacesandallpars{%
\@ifnextchar\par
{\expandafter\ignorespacesandallpars\@gobble}%
{}%
}
\makeatother
Para deixar claro e simples, resumi meu problema em código-fonte de látex puro da seguinte forma:
\documentclass[12pt,a4paper]{article}
\usepackage{lipsum}
\input{columns.tex}
\begin{document}
\section{Two columns}
\lipsum[1]
\begin{col}{0.49\textwidth}
\scriptsize
\lipsum[2-5]
\end{col}
\begin{col}{0.02\textwidth}
~
\end{col}
\begin{col}{0.49\textwidth}
\scriptsize
\lipsum[6-9]
\end{col}
~
\lipsum[10]
\end{document}
que é um pouco equivalente ao código-fonte do rmarkdown como
---
output:
pdf_document:
keep_tex: true
includes:
in_header: columns.tex
html_document:
css: columns.css
beamer_presentation:
keep_tex: true
includes:
in_header: columns.tex
documentclass: article
classoption: 12pt,a4paper
header-includes:
- \usepackage{lipsum}
---
# Two columns
\lipsum[1]
:::::: {.cols data-latex=""}
::: {.col data-latex="{0.49\textwidth}"}
\scriptsize
\lipsum[2-5]
:::
::: {.col data-latex="{0.02\textwidth}"}
\
<!-- an empty Div (with a white space), serving as
a column separator -->
:::
::: {.col data-latex="{0.49\textwidth}"}
\scriptsize
\lipsum[6-9]
:::
::::::
\lipsum[10]
Depois de compilar o código-fonte, o arquivo pdf que recebo mostra um espaço em branco antes do ambiente de duas colunas. Como removê-lo?
Responder1
É simples: o material de duas colunas é colocado em caixas, por isso não pode ser dividido nas páginas.
Se o texto simplesmente flui de uma coluna para outra, você pode usar multicol
:
\documentclass[12pt,a4paper]{article}
\usepackage{lipsum}
\usepackage{multicol}
\begin{document}
\section{Two columns}
\lipsum[1]
\begin{multicols}{2}
\scriptsize
\lipsum[2-5]
\lipsum[6-9]
\end{multicols}
\lipsum[10]
\end{document}
Se os dois textos forem “paralelos”, você pode usar paracol
.
\documentclass[12pt,a4paper]{article}
\usepackage{lipsum}
\usepackage{paracol}
\begin{document}
\section{Two columns}
\lipsum[1]
\vspace{\topsep}
\begin{paracol}{2}
\scriptsize
\lipsum[2-5]
\switchcolumn
\lipsum[6-9]
\end{paracol}
\vspace{\topsep}
\lipsum[10]
\end{document}