Seite 1 von 2

PDF & PDF_TEX in latex einbinden

Verfasst: Fr 11. Nov 2016, 12:52
von Gast
Hallo Leute,

ich bin recht neu in Latex und nutze es um mein Bachelorarbeit zu schreiben.

Ich kann normale PDF Dateien / Bilder ohne probleme einbinden.
Jetzt wollte ich dieses PDF aufsplitten um den Text des PDF an mein Dokument anzupassen.
Da ich es als SVG gespeichert habe, sollte dies recht leicht mit inkscape gehen.
Ich öffne inkscape und speichere das als PDF + LaTeX, die Dateien werden auch richtig erstellt.

In meiner tex-Datei habe ich nun folgendes verwendet.
\begin{figure}[!ht]
    \centering                  % zentrierte Ausrichtung
    \def\svgwidth{200pt}    % die Bildbreite festgelegt
    \input{test.pdf_tex} %hier ist meine text Datei
    \caption{test}    % Bildunterschrift
    \label{fig:test}          % Label für Verweise
\end{figure}
Hier fängt mein Problem an. Latexila soll mir nun eine PDF generieren.
Ich lasse es laufen, es läuft durch ohne errors, aber es wird keine PDF erstellt.

Ich habe dann gesucht woher das fehlen der PDF stammen könnte.
Als ich dann
\input{test.pdf_tex}
auskommentiert habe, lief Latexila durch und die PDF wurde prompt angezeigt, nur ohne das Bild und den Text.

Ich habe schon gegooglet aber finden tue ich nichts dazu.

Ich hoffe ihr könnt mir helfen. Falls mehr Informationen nötig sind, werden diese nachgeliefert.

Vielen Dank
[/code]

Verfasst: Fr 11. Nov 2016, 13:13
von Gast
Zu wenig Informationen. Halte dich an die Minimalbeispiel-Anleitung!

Verfasst: Fr 11. Nov 2016, 14:11
von Gast
Ok, habe mal genau das genommen, was ich oben schon schrieb und es in eine Extra tex ausgelagert.

Habe es selbst nochmal getestet und nur durch auskommentieren von \input{..} wird mir eine pdf erstellt.
\includegraphics{test1.pdf} funktioniert (auch wenn ohne text, da dieser in der pdf_tex ist), wenn \input{} auskommentiert bzw. gelöscht wird.

PS.: die pdf_tex und pdf Dateien liegen im selben Ordner wie die tex Datei.
\documentclass[12pt,a4paper,bibliography=totoc,listof=totoc]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[scaled=1]{helvet}
\usepackage{graphicx}
\usepackage{import}

\title{Test}
\author{Gast}

\begin{document}

\maketitle
\tableofcontents

\section{}

\begin{figure}[!ht] 
    \centering                  % zentrierte Ausrichtung 
    \def\svgwidth{200pt}    % die Bildbreite festgelegt
    %\includegraphics{test1.pdf}
    \input{test1.pdf_tex} %hier ist meine text Datei 
    \caption{test}    % Bildunterschrift 
    \label{fig:test}          % Label für Verweise 
\end{figure}

\end{document}
Ich hoffe das reicht

Verfasst: Fr 11. Nov 2016, 15:51
von Gast
Dir scheint das Problem nicht wichtig genug zu sein, um die verlinkten Seiten sorgfältig zu befolgen. Das ist schade, da ich so das Problem nicht nachvollziehen und daher auch nicht helfen kann und meine bereits investierte Zeit vergeudet ist.

Verfasst: Fr 11. Nov 2016, 18:09
von Gast
Anonymous hat geschrieben:Dir scheint das Problem nicht wichtig genug zu sein, um die verlinkten Seiten sorgfältig zu befolgen. Das ist schade, da ich so das Problem nicht nachvollziehen und daher auch nicht helfen kann und meine bereits investierte Zeit vergeudet ist.
Bei aller Liebe, auf diesen Seiten stehen Informationen die ich (meines Erachtens) erfüllt habe.
Die Anforderung ist hierbei, einen vollständig lauffähigen Quellcode zu haben, der das gewünschte Problem auch anderen aufzeigt. Dabei gibt es einige Ansprüche an den Quellcode

Vollständigkeit, damit ...
der User, der helfen möchte, den Code einfach kopieren und ausführen kann, ohne irgendwelche Codezeilen hinzufügen zu müssen;
der Fragende in Unwissenheit nicht Details vernachlässigt, welche zur Diagnose des Problems erforderlich sind.
Kompaktheit, damit ...
kein mehrseitiger Quellcode auf Fehler analysiert werden muss;
der Fragende durch Codereduktion selbst einen nicht unerheblichen Anteil zur Analyse beiträgt (Beispiel: Codereduktion dauert 6 min --> 10 Fragen beantworten bedeutet 60min zusätzliche Arbeit);
weil sich kleine Syntaxfehler durch eigene Reduktion des Codes oftmals selbst erledigen.
http://www.golatex.de/wiki/index.php?ti ... albeispiel

Ich habe ein Minimalbeispiel erstellt, welches bei mir genau das selbe verhalten aufweißt, was auch meine richtige .tex-Datei hat.
Es ist kein Mehrseitiger Quelltext.
Darüberhinaus habe ich sogar den Übeltäter "\input" ausfindig gemacht, was den Teil der Analyse deutlich beschleunigt!
Habe es selbst nochmal getestet und nur durch auskommentieren von \input{..} wird mir eine pdf erstellt.
\includegraphics{test1.pdf} funktioniert (auch wenn ohne text, da dieser in der pdf_tex ist), wenn \input{} auskommentiert bzw. gelöscht wird.
Mein Problem habe ich auch geschildert (siehe ersten Post).
Die Anweisung \input ersetzt man direkt durch den Inhalt der geladenen Datei.
Da ich das nicht wirklich verstanden hatte, dachte ich ich mache es erst einmal mit dem "\input". Nun, da es oben klick gemacht hat weiß ich nun, was damit gemeint war.

\documentclass[12pt,a4paper,bibliography=totoc,listof=totoc]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[scaled=1]{helvet}
\usepackage[demo]{graphicx}
\usepackage{import}

\title{Test}
\author{Gast}

\begin{document}

\maketitle
\tableofcontents

\section{}

\begin{figure}[!ht] 
    \centering                  % zentrierte Ausrichtung 
    \def\svgwidth{200pt}        % die Bildbreite festgelegt
    
    %% Creator: Inkscape inkscape 0.91, www.inkscape.org
    %% PDF/EPS/PS + LaTeX output extension by Johan Engelen, 2010
    %% Accompanies image file 'test1.pdf' (pdf, eps, ps)
    %%
    %% To include the image in your LaTeX document, write
    %%   \input{<filename>.pdf_tex}
    %%  instead of
    %%   \includegraphics{<filename>.pdf}
    %% To scale the image, write
    %%   \def\svgwidth{<desired width>}
    %%   \input{<filename>.pdf_tex}
    %%  instead of
    %%   \includegraphics[width=<desired width>]{<filename>.pdf}
    %%
    %% Images with a different path to the parent latex file can
    %% be accessed with the `import' package (which may need to be
    %% installed) using
    %%   \usepackage{import}
    %% in the preamble, and then including the image with
    %%   \import{<path to file>}{<filename>.pdf_tex}
    %% Alternatively, one can specify
    %%   \graphicspath{{<path to file>/}}
    %% 
    %% For more information, please see info/svg-inkscape on CTAN:
    %%   http://tug.ctan.org/tex-archive/info/svg-inkscape
    %%
    \begingroup%
      \makeatletter%
      \providecommand\color[2][]{%
        \errmessage{(Inkscape) Color is used for the text in Inkscape, but the package 'color.sty' is not loaded}%
        \renewcommand\color[2][]{}%
      }%
      \providecommand\transparent[1]{%
        \errmessage{(Inkscape) Transparency is used (non-zero) for the text in Inkscape, but the package 'transparent.sty' is not loaded}%
        \renewcommand\transparent[1]{}%
      }%
      \providecommand\rotatebox[2]{#2}%
      \ifx\svgwidth\undefined%
        \setlength{\unitlength}{371.33858268bp}%
        \ifx\svgscale\undefined%
          \relax%
        \else%
          \setlength{\unitlength}{\unitlength * \real{\svgscale}}%
        \fi%
      \else%
        \setlength{\unitlength}{\svgwidth}%
      \fi%
      \global\let\svgwidth\undefined%
      \global\let\svgscale\undefined%
      \makeatother%
      \begin{picture}(1,0.58374047)%
        \put(0,0){\includegraphics[width=\unitlength,page=1]{test1.pdf}}%
        \put(-0.15267175,0.81282445){\makebox(0,0)[lb]{\smash{Model}}}%
        \put(0,0){\includegraphics[width=\unitlength,page=2]{test1.pdf}}%
        \put(-0.15267175,0.81282445){\makebox(0,0)[lb]{\smash{Controller}}}%
        \put(0,0){\includegraphics[width=\unitlength,page=3]{test1.pdf}}%
        \put(-0.15267175,0.81282445){\makebox(0,0)[lb]{\smash{View}}}%
        \put(0,0){\includegraphics[width=\unitlength,page=4]{test1.pdf}}%
        \put(-0.15267175,0.81282445){\makebox(0,0)[lb]{\smash{benachrichtigt}}}%
        \put(0,0){\includegraphics[width=\unitlength,page=5]{test1.pdf}}%
        \put(-0.15267175,0.81282445){\makebox(0,0)[lb]{\smash{aktualisiert}}}%
        \put(0,0){\includegraphics[width=\unitlength,page=6]{test1.pdf}}%
        \put(-0.15267175,0.81282445){\makebox(0,0)[lb]{\smash{fordert an}}}%
        \put(0,0){\includegraphics[width=\unitlength,page=7]{test1.pdf}}%
        \put(-0.15267175,0.81282445){\makebox(0,0)[lb]{\smash{enthält}}}%
        \put(0,0){\includegraphics[width=\unitlength,page=8]{test1.pdf}}%
      \end{picture}%
    \endgroup%

    \caption{test}              % Bildunterschrift 
    \label{fig:test}            % Label für Verweise 
\end{figure}

\end{document}
Und das Sie sich anmaßen mir zu unterstellen, dass mir mein Problem nicht wichtig sei, obwohl ich schon vieles gemacht habe, ist unverschämt von Ihnen. Wenn mir das Problem nicht wichtig wäre, dann hätte ich bestimmt nicht hier in das Forum geschrieben.

Es tut mir leid, dass ich 3 Sätze Ihres Lebens vergeudet habe.

Vielen Dank

Verfasst: Fr 11. Nov 2016, 18:30
von u_fischer
Anonymous hat geschrieben: Bei aller Liebe, auf diesen Seiten stehen Informationen die ich (meines Erachtens) erfüllt habe.
Du hast den Text bestimmt gelesen, du hast aber seinen Sinn nicht verstanden.

Ein Minimalbeispiel ist dazu da, dass wir dein Problem auf unseren Rechnern nachvollziehen können.

Damit wir das tun können, brauchen wir ein vollständiges Dokument und alle lokalen Dateien, die du einbindest, die aber auf unseren Rechnern nicht existieren.

Verfasst: Fr 11. Nov 2016, 23:01
von Gast
Hallo u_fischer,

Danke für die Erklärung. Die Daten würde ich gerne hochladen, finde aber nicht die passende Option dafür im "Antwort" Bereich.

Daher die Frage, muss ich angemeldet sein, um was hochladen zu können?
Da bei "Vorteile der Registrierung" nichts dergleichen steht.

Vielen Dank

Verfasst: Fr 11. Nov 2016, 23:20
von sudoShutdown
Hallo,

habe meine Frage vom Post über diesem selbst beantwortet.

Ich habe ein Zip Archiv von allen Dateien gemacht.
Leider kann ich diesen nicht an den Anfangspost heften, da ich zu der Zeit noch nicht Registriert war.

Ich hoffe wirklich, dass ich es jetzt richtig gemacht habe.

Danke

Verfasst: Sa 12. Nov 2016, 16:53
von esdd
Anonymous hat geschrieben:
      \begin{picture}(1,0.58374047)%
        \put(0,0){\includegraphics[width=\unitlength,page=1]{test1.pdf}}%
        \put(-0.15267175,0.81282445){\makebox(0,0)[lb]{\smash{Model}}}%
        \put(0,0){\includegraphics[width=\unitlength,page=2]{test1.pdf}}%
        \put(-0.15267175,0.81282445){\makebox(0,0)[lb]{\smash{Controller}}}%
        \put(0,0){\includegraphics[width=\unitlength,page=3]{test1.pdf}}%
        \put(-0.15267175,0.81282445){\makebox(0,0)[lb]{\smash{View}}}%
        \put(0,0){\includegraphics[width=\unitlength,page=4]{test1.pdf}}%
        \put(-0.15267175,0.81282445){\makebox(0,0)[lb]{\smash{benachrichtigt}}}%
        \put(0,0){\includegraphics[width=\unitlength,page=5]{test1.pdf}}%
        \put(-0.15267175,0.81282445){\makebox(0,0)[lb]{\smash{aktualisiert}}}%
        \put(0,0){\includegraphics[width=\unitlength,page=6]{test1.pdf}}%
        \put(-0.15267175,0.81282445){\makebox(0,0)[lb]{\smash{fordert an}}}%
        \put(0,0){\includegraphics[width=\unitlength,page=7]{test1.pdf}}%
        \put(-0.15267175,0.81282445){\makebox(0,0)[lb]{\smash{enthält}}}%
        \put(0,0){\includegraphics[width=\unitlength,page=8]{test1.pdf}}%
      \end{picture}%

Irgendetwas stimmt mit dem svg nicht oder geht bei dessen Export schief. Die Datei test1.pdf hat in Deiner zip Datei nur eine Seite, der Code oben geht aber von mindestens 8 Seiten aus. Auch wenn Dir der Editor vielleicht keinen Fehler anzeigt, in der log Datei steht am Ende die Fehlermeldung
 (test1.pdf_tex
<test1.pdf, id=1, page=1, 372.73111pt x 217.57822pt>
File: test1.pdf Graphic file (type pdf)
 <use test1.pdf, page 1>
Package pdftex.def Info: test1.pdf, page1 used on input line 52.
(pdftex.def)             Requested size: 200.0pt x 116.75012pt.

!pdfTeX error: pdflatex.exe (file ./test1.pdf): PDF inclusion: required page do
es not exist <1>
 ==> Fatal error occurred, no output PDF file produced!
Kommentiert man die Zeilen aus, in denen die nicht vorhandenen Seiten 2 bis 8 geladen werden sollen, dann wird die Zeichnung angezeigt. Aber die Schrift landet außerhalb und wird übereinander gedruckt. Das ist aber ebenfalls kein Wunder, da bei allen eingefügten Textbausteinen
\put(-0.15267175,0.81282445)
steht und sie somit an der gleichen Stelle eingefügt werden, die bei mir außerhalb des Diagramms liegt.

Ich habe keine weiteren Erfahrungen mit inkscape und dessen Exporten, aber vielleicht kann Dir jemand anders helfen, wenn Du noch die svg Datei hochlädst, aus der Du den Export gemacht hast.

Verfasst: So 13. Nov 2016, 23:00
von sudoShutdown
Hallo Guten Abend,

ich konnte leider das Wochenende nicht hier rein schauen, da ich meinen Schwiegereltern beim renovieren geholfen habe.

@esdd
Schon einmal vielen Dank für die ausführliche Antwort, dass ich das selbst nicht gesehen habe :?

Ich werde schauen, warum das nicht richtig exportiert wird.
Den Text könnte ich ja evtl. manuell anpassen, solange ich nicht zig SVG's benutzte.

Die SVG werde ich aber noch hochladen, vielleicht kann mir da auch jemand helfen.

Vielen Dank