![刪除rmarkdown產生的pdf中多列環境之前的空白](https://rvso.com/image/475732/%E5%88%AA%E9%99%A4rmarkdown%E7%94%A2%E7%94%9F%E7%9A%84pdf%E4%B8%AD%E5%A4%9A%E5%88%97%E7%92%B0%E5%A2%83%E4%B9%8B%E5%89%8D%E7%9A%84%E7%A9%BA%E7%99%BD.png)
我的問題源自於https://bookdown.org/yihui/rmarkdown-cookbook/multi-column.htmlcolumns.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
為了簡單明了,我在純乳膠原始程式碼中總結我的問題如下:
\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}