удалить пробел перед многоколоночной средой в pdf, созданном rmarkdown

удалить пробел перед многоколоночной средой в pdf, созданном rmarkdown

Моя проблема возникает из-заhttps://bookdown.org/yihui/rmarkdown-cookbook/multi-column.html, где я заимствую установку columns.tex, которая гласит:

\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

Чтобы сделать это понятным и простым, я резюмирую свою проблему в чистом исходном коде Latex следующим образом:

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

что в некоторой степени эквивалентно исходному коду rmarkdown

---
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]

После компиляции исходного кода в полученном pdf-файле появляется пустое пространство перед двухколоночной средой. Как его убрать?

введите описание изображения здесь введите описание изображения здесь

решение1

Все просто: материал, состоящий из двух колонок, размещен в блоках, поэтому его невозможно разбить на страницы.

Если текст просто перетекает из одного столбца в другой, можно использовать 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}

введите описание изображения здесь

Если два текста «параллельны», вы можете использовать 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}

введите описание изображения здесь

Связанный контент