Wstawianie pliku PDF w lateksie


500

Próbuję wstawić plik PDF lub dokument jako dodatek do mojego pliku Latex. Czy wiesz jak to zrobić?


12
Po prostu dołączasz pdf, czy chcesz osadzić go jak obrazek?
— zdav

8
Uwaga dla każdego, kto myśli o zasugerowaniu migracji tego pliku do text.stackexchange - nie możemy. Jest od 2010 roku, co sprawia, że ​​migracja jest zdecydowanie za stara.
— ChrisF


Odpowiedzi:


718

Skorzystaj z pdfpagespakietu.

\usepackage{pdfpages}

Aby dołączyć wszystkie strony do pliku PDF:

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

Aby dołączyć tylko pierwszą stronę pliku PDF:

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

Uruchom texdoc pdfpagesw powłoce, aby zobaczyć pełną instrukcję obsługi pdfpages.


158
Aby być jasnym, musisz określić strony, które chcesz dołączyć, tj. \includepdf[pages={1,3,5}]{myfile.pdf}Zawierać strony 1, 3 i 5 pliku. Aby dołączyć cały plik, określasz pages={-}, gdzie {-}jest zakres bez określonych punktów końcowych, który jest domyślny odpowiednio dla pierwszej i ostatniej strony.
— rcollyer

38
Dwie pierwsze rzeczy, które musiałem zrobić, to skalowanie i ponowne włączenie projektu strony zewnętrznej (aby ponownie wyświetlić numery stron), które można ustawić za pomocą konfiguracji, np .:\includepdf[pages=-,scale=.8,pagecommand={}]{file}
— LeoR

4
wydaje się, że nie działa z latarką; oto jak to zrobić za pomocą beamera: tex.stackexchange.com/questions/57441/…
— thias

2
Opcja przesunięcia jest przydatna\includepdf[page={-},offset=<offset in x>mm <offset in y>mm]{myfile.pdf}
— Katu

1
@Kusavil z (docs) [ mirrors.sorengard.com/ctan/macros/latex/contrib/pdfpages/… , możesz określić zakresy, np. Jeśli chcesz usunąć stronę 49 ze 100, możesz użyć pages={1-48,50-100}. Nie tak proste, jak powiedzenie czegoś pages={!49}, ale nie tak uciążliwe.
— kolekcjoner

82

Aby umieścić cały plik pdf w swoim pliku, a nie tylko 1 stronę, użyj:

\usepackage{pdfpages}

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

2
możesz po prostu użyć \ inclepdf {mój_plik.pdf}
— Jorge Fernández

@CroCo tak, z jakiegoś powodu czasami to działa, a czasem nie, przepraszam, że cię wprowadzam w błąd :(
— Jorge Fernández

39
\includegraphics{myfig.pdf}

3
tak, wiem jak dołączyć rysunek.pdf, ale plik, który muszę dołączyć, ma więcej niż 1 stronę.
— Guido

10
Cześć, Dagray, twoją odpowiedzią mogło być to, czego szukał Guido, ale nawet napisanie małego fragmentu kodu bez dalszych wyjaśnień jest nieprzydatne.
— LeoR,

@LeoR Nie zgadzam się. Pytanie brzmi: „jak wstawić pdf do lateksu?” odpowiedzią jest, co napisał Dagray. Pytanie nie brzmi „jak wstawić pdf do lateksu i czy możesz wyjaśnić, jak to działa”. W tej odpowiedzi jest wystarczająco dużo informacji, aby samodzielnie znaleźć resztę.
— Automatico

1
Jednak pytanie wyraźnie deklaruje, że jest to DOC / PDF dla dodatku, więc prawdopodobnie nie ma jednej strony.
— igorsantos07,

1
Uwaga: \usepackage{graphicx}aby móc korzystać z tego polecenia, wymagany jest a
— anroesti

20

Nie sądzę, by byłby to automatyczny sposób. Możesz również chcieć poprawnie dodać numer strony do dodatku. Zakładając, że masz już dokument pdf z kilku stron, najpierw musisz wyodrębnić każdą stronę dokumentu PDF za pomocą Adobe Acrobat Professional i zapisać każdą z nich jako osobny plik pdf. Następnie musisz dołączyć każdy dokument pdf jako obraz na każdej stronie (1 na każdej stronie) i użyć nowej strony między każdą stroną 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}

Teraz na każdej stronie pojawi się 1 obraz pdf na stronę, a na dole będzie prawidłowy numer strony. Jak pokazano w moim przykładzie, będziesz musiał trochę zagrać ze współczynnikiem skali dla każdego obrazu, aby uzyskać odpowiedni rozmiar, który zmieści się na jednej stronie. Mam nadzieję, że pomoże ...


1
Pytanie dotyczyło wstawienia całych stron, a nie sposobu, w jaki należy zawrzeć zawartość pliku pdf na istniejącej stronie, która w innym przypadku byłaby sformatowana i wygenerowana przez lateks.
— Mayer Goldberg,

7

Istnieje opcja bez dodatkowych pakietów, która działa pod pdflatex

Dostosuj ten kod

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

„diagrama-spearman.pdf” to wykres generowany za pomocą TikZ i to jest kod (jest to inny plik .tex inny niż plik .tex, w którym chcę wstawić 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} 

To jest schemat, który załączyłem

wprowadź opis zdjęcia tutaj


1
Warto wspomnieć, że parametr strony działa również dla argumentu używającego \includegraphics[page=2,width=0.5\textwidth,height = 0.3\textheight]{file.pdf}
— grafikix

Myślę, że qn prosi o włączenie wielu stron.
— Charles Stewart

5

Ta \includegraphicsfunkcja ma pageopcję wstawiania określonej strony pliku PDF jako wykresu. Domyślna wartość to jedna, ale możesz ją zmienić.

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

Możesz znaleźć więcej tutaj .

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.