rmarkdown で作成された PDF 内の複数列環境の前の空白を削除します

rmarkdown で作成された PDF 内の複数列環境の前の空白を削除します

私の問題は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 ファイルには 2 列環境の前に空白が表示されます。これを削除するにはどうすればよいですか?

ここに画像の説明を入力してください ここに画像の説明を入力してください

答え1

簡単です。2 列の資料はボックス内に設定されており、ページをまたいで分割することはできません。

テキストが単純に 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}

ここに画像の説明を入力してください

2 つのテキストが「平行」である場合は、 を使用できます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}

ここに画像の説明を入力してください

関連情報