Я пытаюсь вставить PDF файл в файл r markdown. Я знаю, что можно вставлять jpg или png изображения. Мне просто интересно, возможно ли также вставить изображение в формате pdf. Огромное спасибо!
R markdown: могу ли я вставить файл pdf в файл уценки r в качестве изображения?
Ответ 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)
иллюстрирует бла-бла.
Некоторые важные вещи, которые следует отметить, используя этот формат:
-
Вы можете расширять изображения PDF только с помощью фрагмента кода до
out.width
иout.height
установленных в исходном файле.pdf
. Поэтому я бы порекомендовал установить их немного по большей стороне исходного изображения (просто обратите внимание, что любой текст диаграммы будет соответственно масштабироваться). -
Код ссылки в тексте (в данном случае
image-ref-for-in-text
) НЕ МОЖЕТ содержать подчеркивания (_
), но может содержать тире (-
). Вы поймете, что ошиблись, сообщив об ошибке! Package caption Error: \caption outside float.
! Package caption Error: \caption outside float.
-
Чтобы не
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}