Вставка файла PDF в латекс


500

Я пытаюсь вставить файл PDF или документ в качестве приложения в моем файле латекса. Ты знаешь, как я могу это сделать?


12
Вы просто добавляете PDF или хотите вставить его как картинку?
зд

8
Примечание для тех, кто думает предложить перенести это в text.stackexchange - мы не можем. Это с 2010 года, что делает его слишком старым для миграции.
ChrisF


Ответы:


718

Используйте pdfpagesпакет.

\usepackage{pdfpages}

Чтобы включить все страницы в файл PDF:

\includepdf[pages=-]{myfile.pdf}

Чтобы включить только первую страницу PDF:

\includepdf[pages={1}]{myfile.pdf}

Запустите texdoc pdfpagesв оболочке, чтобы увидеть полное руководство для pdfpages.


158
Чтобы было понятно, вам нужно указать страницы, которые вы хотите включить, то есть \includepdf[pages={1,3,5}]{myfile.pdf}включить страницы 1, 3 и 5 файла. Чтобы включить весь файл, вы указываете pages={-}, где {-}находится диапазон без заданных конечных точек, который по умолчанию соответствует первой и последней страницам соответственно.
rcollyer

38
Первыми двумя вещами, которые я должен был сделать, было масштабирование и повторное включение дизайна моей внешней страницы (чтобы снова показать номера страниц), которые можно настроить с помощью конфигурации, например:\includepdf[pages=-,scale=.8,pagecommand={}]{file}
LeoR

4
похоже, не работает с латексным проектором; Вот как это сделать с beamer: tex.stackexchange.com/questions/57441/…
thias

2
Опция смещения полезна\includepdf[page={-},offset=<offset in x>mm <offset in y>mm]{myfile.pdf}
Кату

1
@Kusavil из (docs) [ mirrors.sorengard.com/ctan/macros/latex/contrib/pdfpages/…. Вы можете указать диапазоны, например, если вы хотите удалить страницу 49 из 100, которую вы можете использовать pages={1-48,50-100}. Не так просто, как сказать что-то вроде pages={!49}, но не так сложно.
rcollyer

82

Для размещения всего файла PDF в вашем файле, а не только 1 страницы, используйте:

\usepackage{pdfpages}

\includepdf[pages=-]{myfile.pdf}

2
Вы можете просто использовать \ includepdf {myfile.pdf}
Хорхе Фернандес,

@CroCo да, по какой-то причине иногда это работает, а иногда нет, извините, что ввел вас в заблуждение :(
Хорхе Фернандес

39
\includegraphics{myfig.pdf}

3
да, я знаю, как включить figure.pdf, но файл, который я должен включить, содержит более 1 страницы.
Гвидо,

10
Привет, Дагрей, твой ответ мог быть именно тем, что искал Гвидо, но даже чем-то, просто написать небольшой кусочек кода без каких-либо дальнейших объяснений бесполезно.
LeoR

@ LeoR Я не согласен. Вопрос по существу: «Как вставить PDF в латекс?» Ответ - то, что написал Дагрей. Вопрос не в том, «как вы вставляете pdf в латекс и можете ли вы объяснить, как он работает». В этом ответе достаточно информации, чтобы найти остальное самостоятельно.
Автомат

1
Тем не менее, вопрос явно заявляет, что это DOC / PDF для приложения, так что, вероятно, это не одна страница длиной.
igorsantos07

1
Обратите внимание, что \usepackage{graphicx}требуется, чтобы иметь возможность использовать эту команду
Anroesti

20

Я не думаю, что будет автоматический путь. Вы также можете добавить номер страницы в приложение правильно. Предполагая, что у вас уже есть PDF-документ из нескольких страниц, вам придется сначала извлечь каждую страницу вашего pdf-документа, используя, например, Adobe Acrobat Professional, и сохранить каждую из них в виде отдельного pdf-файла. Затем вам нужно будет включить каждый из PDF-документов в виде изображений на каждой странице (по 1 на каждую страницу) и использовать новую страницу между страницами e, g,

\appendix
\section{Quiz 1}\label{sec:Quiz}
\begin{figure}[htp] \centering{
\includegraphics[scale=0.82]{quizz.pdf}}
\caption{Experiment 1}
\end{figure}  

\newpage
\section{Sample paper}\label{sec:Sample}
\begin{figure}[htp] \centering{
\includegraphics[scale=0.75]{sampaper.pdf}}
\caption{Experiment 2}
\end{figure}

Теперь каждая страница будет отображаться с 1 изображением в формате PDF на странице, и у вас будет правильный номер страницы внизу. Как показано в моем примере, вам придется немного поиграть с масштабным коэффициентом для каждого изображения, чтобы получить нужный размер, который поместится на одной странице. Надеюсь, это поможет...


1
Речь шла о вставке целых страниц, как есть, а не о том, как включить содержимое файла PDF в существующую страницу, которая в противном случае отформатирована и сгенерирована латексом.
Майер Голдберг

7

Есть опция без дополнительных пакетов, которая работает под pdflatex

Адаптируйте этот код

\begin{figure}[h]
    \centering
    \includegraphics[width=\ScaleIfNeeded]{figuras/diagrama-spearman.pdf}
    \caption{Schematical view of Spearman's theory.}
\end{figure}

"diagrama-spearman.pdf" - это график, созданный с помощью TikZ, и это код (это другой файл .tex, отличный от файла .tex, куда я хочу вставить PDF)

\documentclass[border=3mm]{standalone}
\usepackage[applemac]{inputenc}
\usepackage[protrusion=true,expansion=true]{microtype}
\usepackage[bb=lucida,bbscaled=1,cal=boondoxo]{mathalfa}
\usepackage[stdmathitalics=true,math-style=iso,lucidasmallscale=true,romanfamily=bright]{lucimatx}
\usepackage{tikz}
\usetikzlibrary{intersections}
\newcommand{\at}{\makeatletter @\makeatother}

\begin{document}

\begin{tikzpicture}
\tikzset{venn circle/.style={draw,circle,minimum width=5cm,fill=#1,opacity=1}}
\node [venn circle = none, name path=A] (A) at (45:2cm) { };
\node [venn circle = none, name path=B] (B) at (135:2cm) { };
\node [venn circle = none, name path=C] (C) at (225:2cm) { };
\node [venn circle = none, name path=D] (D) at (315:2cm) { };
\node[above right] at (barycentric cs:A=1) {logical}; 
\node[above left] at (barycentric cs:B=1) {mechanical}; 
\node[below left] at (barycentric cs:C=1) {spatial}; 
\node[below right] at (barycentric cs:D=1) {arithmetical}; 
\node at (0,0) {G};    
\end{tikzpicture}

\end{document} 

Это диаграмма, которую я включил

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


1
Стоит отметить, что параметр страницы также работает для аргумента, использующего graphicsx\includegraphics[page=2,width=0.5\textwidth,height = 0.3\textheight]{file.pdf}
user2589273

Я думаю, что qn просит включить несколько страниц.
Чарльз Стюарт

5

\includegraphicsФункция имеет pageвозможность для вставки конкретной страницы PDF - файл в виде графиков. По умолчанию один, но вы можете изменить его.

\includegraphics[scale=0.75,page=2]{multipage.pdf}

Вы можете найти больше здесь .

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.