R Markdown - вертикальное выравнивание текста со встроенными изображениями в латексном PDF

Я пытаюсь создать сценарий R Markdown для регулярного экспорта отчетов в формате PDF с данными, и здесь я борюсь с самыми основными задачами форматирования!

Прежде всего, я просто хочу создать заголовок страницы с выровненным по левому краю заголовком и выровненным по правому краю логотипом организации в одной строке; логотип имеет высоту примерно в 2 строки, поэтому я также хочу выровнять заголовок по верхнему краю. В HTML / CSS это было бы похоже на 10-секундную задачу, но я все утро боролся с этим!

Итак, это мои текущие усилия:

---
output:
  pdf_document:
    latex_engine: xelatex
geometry: margin=1.5cm
papersize: a4
pagestyle: empty
fontsize: 12 pt 
---

<!-- Inline But No Scaling or Alignment   -->
# Left Aligned Title ![](C:/logo.png){ height=65px }

<!-- Aligned but Not Compatible with Inline Title -->
```{r, echo=FALSE, fig.align='right', out.height='8%'}
knitr::include_graphics("C:/logo.png")
```

Я даже пробовал разделить на столбцы, но не смог заставить его работать. Просто интересно, есть ли какой-нибудь простой способ достичь этого формата, с выравниванием заголовка по левому и верхнему краю и с логотипом с выравниванием по правому краю в R Markdown.

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


person awenborn    schedule 17.07.2020    source источник


Ответы (1)


Вы можете использовать команды LaTeX, такие как minipage, чтобы создать два пространства рядом, одно для заголовка и одно для изображения. В приведенном ниже примере я заменил pdf_document на bookdown::pdf_document2:, чтобы показать, что это решение позволяет нумерацию разделов:

---
output:
  bookdown::pdf_document2:
    latex_engine: xelatex
    toc: false
geometry: margin=1.5cm
papersize: a4
pagestyle: empty
fontsize: 12 pt 
---

\begin{minipage}{.5\textwidth}
\section{Left Aligned Title}
\end{minipage}
\begin{minipage}{.5\textwidth}
```{r, echo=FALSE, fig.align='right', out.height='8%'}
knitr::include_graphics("logo.png")
```
\end{minipage}

person bretauv    schedule 17.07.2020
comment
Спасибо ... это именно то, что я пробовал, когда упомянул, что пытался разделить на столбцы, но, должно быть, у меня был неправильный синтаксис, но ваш пример работает блестяще. - person awenborn; 17.07.2020