Entfernen Sie Leerzeichen vor einer mehrspaltigen Umgebung in einer von rmarkdown erstellten PDF-Datei.

Entfernen Sie Leerzeichen vor einer mehrspaltigen Umgebung in einer von rmarkdown erstellten PDF-Datei.

Mein Problem ergibt sich aushttps://bookdown.org/yihui/rmarkdown-cookbook/multi-column.html, wo ich die Einstellung entnehme, columns.texdie lautet

\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

Um es klar und einfach zu machen, fasse ich mein Problem in reinem Latex-Quellcode wie folgt zusammen:

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

was in etwa dem rmarkdown-Quellcode entspricht als

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

Nachdem ich den Quellcode kompiliert habe, wird in der PDF-Datei vor der Zweispaltenumgebung ein Leerzeichen angezeigt. Wie kann ich das entfernen?

Bildbeschreibung hier eingeben Bildbeschreibung hier eingeben

Antwort1

Ganz einfach: Der zweispaltige Inhalt ist in Kästen gesetzt, so dass ein Umbruch auf mehrere Seiten nicht möglich ist.

Wenn der Text einfach von einer Spalte in die andere fließt, können Sie Folgendes verwenden 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}

Bildbeschreibung hier eingeben

Wenn die beiden Texte „parallel“ sind, können Sie verwenden 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}

Bildbeschreibung hier eingeben

verwandte Informationen