Поддерживает ли Rmarkdown несколько подписей?

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

\usepackage{polski}
 \usepackage[english, polish]{babel} 
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}

\usepackage[lang=english]{bicaption}

\begin{figure}[H]
    \includegraphics[width=0.5\textwidth]{Einrad}

    \bicaption{Polish caption here with special letters: ĄĆŹŚÓŁ}{English caption just below}

    \label{Fig:FIgBicycle}
\end{figure}

Есть ли возможность сделать то же самое в Rmarkdown? Как я вижу, доступен только один fig.cap=?


person matandked    schedule 18.05.2017    source источник


Ответы (1)


Я не могу заставить эту работу работать с .Rmd в .pdf. Однако я могу взломать решение, переходящее из .Rnw в .pdf. Измените хук source, чтобы изменить LaTeX \caption на \bicaption и использовать опцию блока fig.cap = "polish caption}{English caption".

Вот пример файла .Rnw:

\documentclass{article}

\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage[english, polish]{babel}
\usepackage{blindtext}
\usepackage[utf8]{inputenc}
\usepackage[lang=english]{bicaption}

\title{Bicaptions}

\begin{document}

\maketitle

We will defind a hood to replace the {\tt caption} command with {\tt bicaption}
when the \LaTeX\ is rendered.

<<>>=
library(ggplot2)
library(knitr)

hook_source <- knit_hooks$get('source')
knit_hooks$set(source = function(x, options) {                
                   txt <- hook_source(x, options)
                   gsub("\\\\caption", "\\\\bicaption", txt)
                 }) 
@

\blindtext

<<eg_graphic, echo = FALSE, fig.cap = 'Polish caption here with special letters: ĄĆŹŚÓŁ }{English caption just below', fig.align = "center", fig.width = 3, fig.height = 3>>=
ggplot(mtcars) + aes(x = wt, y = mpg) + geom_point()
@

\Blindtext

\end{document}

И вывод выглядит так:

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

person Peter    schedule 19.05.2017
comment
Спасибо за подробный ответ. К сожалению, когда я пытался скомпилировать ваш документ, я почему-то не вижу изображения (хотя ошибки при компиляции нет). Более того, я заметил, что на приложенном вами принтскрине для Рисунка есть только польское название (Рысунек), а в следующей строке только текст подписи, без названия "Рисунок". Это («Рисунек» и в следующей строке «Рисунок»), как это работает в LaTeX. - person matandked; 20.05.2017