Вставлення PDF-файлу в Latex


500

Я намагаюся вставити файл PDF або doc як додаток до свого файлу Latex. Ви знаєте, як я можу це зробити?


12
Ви просто додаєте файл pdf чи хочете вставити його як зображення?
zdav

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
це, здається, не працює з латексним променем; ось як це зробити з променевою стрічкою
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
ви можете просто скористатись \\\\\ {{myfile.pdf}
Хорхе Фернандес

@CroCo Так, чомусь іноді це працює, а іноді - ні, вибачте за те, що вас ввели в оману :(
Хорхе Фернандес

39
\includegraphics{myfig.pdf}

3
так, я знаю, як включити figure.pdf, але файл, який я повинен включати, має більше 1 сторінки.
Гвідо

10
Вітаю, даграй, твоєю відповіддю могло бути те, що Гвідо шукав, але навіть, просто написати невеликий фрагмент коду без будь-яких додаткових пояснень - це не корисно.
ЛеоР

@LeoR Я не згоден. По суті питання: "як вставити PDF в латекс?" відповідь - те, що написав даграй. Питання не в тому, "як ви вставляєте PDF в латекс і чи можете ви пояснити, як це працює?" У цій відповіді є достатньо інформації, щоб самостійно знайти решту.
Automatico

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.