R markdown: могу ли я вставить файл pdf в файл уценки r в качестве изображения?

Я пытаюсь вставить PDF файл в файл r markdown. Я знаю, что можно вставлять jpg или png изображения. Мне просто интересно, возможно ли также вставить изображение в формате pdf. Огромное спасибо!

Ответ 1

Извините, я обнаружил, что есть аналогичная публикация: Добавить файл pdf в файл Rmarkdown

В принципе, я могу использовать что-то вроде ниже, хорошо работает для вывода html:
<img src="myFirstAlignment2.pdf" alt="some text" width="4200" height="4200">

И что-то вроде ниже хорошо работает для вывода в формате pdf: (1) возможное решение \begin{center} <br> \includegraphics[width=8in]{myFirstAlignment2.pdf} <br> \end{center} (2) возможное решение ![Alt](myFirstAlignment2.pdf)

myFirstAlignment2.pdf следует заменить на path\myFirstAlignment2.pdf если файл pdf не находится в вашем рабочем каталоге.

Ответ 2

Если вы просто пытаетесь вставить изображение, которое было экспортировано, например, из R-анализа, в изображение PDF, вы также можете использовать стандартные параметры изображения из движка knitr.

С чем-то вроде:

'''{r, out.width="0.3\\linewidth", include=TRUE, fig.align="center", fig.cap=c("your caption"), echo=FALSE}
knitr::include_graphics("./images/imagename.pdf")
'''

К сожалению, вы не можете указать начальные размеры вывода изображения (fig.width и fig.height), которые вам необходимо предварительно определить при первоначальном выводе, но вы можете указать предельный размер изображения в документе ( out.width). Однако, как отмечается ниже, это ограничивается уменьшением масштаба.

Вы также можете, конечно, не указывать исходную спецификацию каталога, если ваши файлы находятся в одном рабочем каталоге. Просто помните о различиях в операционной системе при указании пути к изображению.

Альтернативный метод - использовать синтаксис Markdown, отмеченный @hermestrismegistus в этом посте:

![Image Title](./path/to/image.pdf){width=65%}

Это также может быть собрано для нескольких изображений рядом:

![Image Title](./path/to/image.pdf){width=33%}![Image2 Title](./path/to/image2.pdf){width=33%}![Image3 Title](./path/to/image3.pdf){width=33%}

Редактировать:

После более интенсивной работы со ссылками в тексте я обнаружил, что использование r chunks и опция include_graphics наиболее полезны. Также из-за гибкости с точки зрения выравнивания изображения (обоснование).

В качестве примера:

'''{r image-ref-for-in-text, echo = FALSE, message=FALSE, fig.align='center', fig.cap='Some cool caption', out.width='0.75\\linewidth', fig.pos='H'}
knitr::include_graphics("./folder/folder/plot_file_name.pdf")
'''

Позже эта ссылка может быть использована в текстовом виде, например, Figure \@ref(fig:image-ref-for-in-text) иллюстрирует бла-бла.

Некоторые важные вещи, которые следует отметить, используя этот формат:

  1. Вы можете расширять изображения PDF только с помощью фрагмента кода до out.width и out.height установленных в исходном файле .pdf. Поэтому я бы порекомендовал установить их немного по большей стороне исходного изображения (просто обратите внимание, что любой текст диаграммы будет соответственно масштабироваться).

  2. Код ссылки в тексте (в данном случае image-ref-for-in-text) НЕ МОЖЕТ содержать подчеркивания (_), но может содержать тире (-). Вы поймете, что ошиблись, сообщив об ошибке ! Package caption Error: \caption outside float. ! Package caption Error: \caption outside float.

  3. Чтобы не fig.pos='H' ваших графиков в неправильные разделы документа, но, к сожалению, таким образом, что, к сожалению, появятся пробелы, приведенный выше пример включает в себя fig.pos='H'. Где H относится к "удерживающей" позиции. То же самое может быть достигнуто для предыдущей опции Уценки, помещая точку остановки (точка .) Сразу после последней фигурной скобки.

Пример:

![Image Title](./path/to/image.pdf){width=75%}.

К сожалению, этот последний вариант приводит к неприглядным остановкам. Еще одна причина, по которой я предпочитаю параметр include_graphics.

Ответ 3

Что касается комментария из лучшего ответа, есть способ использовать второй вариант, и результат не выходит крошечным.

Используйте следующий синтаксис ниже с высотой, являющейся большим числом. Наличие текста в скобках необходимо для его работы.

![Alt](./file.pdf){width=100% height=400}