Hi,

ich schreibe eine wissenschaftliche Arbeit und habe wenig Erfahrung mit dem Einbinden einer Grafik aus Inkscape in Texmaker. Nun gibt es ein Problem:

Die Grafik lässt sich zwar skalieren aber nimmt nicht die Blattposition wie in Inkscape ein. Bei weiterer Skalierung landet es auf einer neuen Seite und ist abgeschnitten.

Öffne in Overleaf
\documentclass[a4paper,12pt]{scrreprt}

\usepackage[onehalfspacing]{setspace}

\usepackage[
    pdftitle={Nutzung des pyrF Gens als Selektionsmarker für DNA Recombineering in E.Coli},
    pdfsubject={},
    pdfauthor={David Rado},
    pdfkeywords={},
    hidelinks
]{hyperref}

\usepackage[utf8x]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{graphicx, subfig}
\graphicspath{{img/}}

\usepackage{lmodern}
\usepackage{color}

\usepackage{amsfonts}
\usepackage{amsmath}

\usepackage[automark,autooneside]{scrlayer-scrpage}

\begin{document}

\thispagestyle{empty}
\clearpairofpagestyles 
\ohead{\headmark} 
\ofoot*{\pagemark}

\include{01_titel}

\include{02_danksagungen}

\include{03_zusammenfassung}

\tableofcontents

\listoffigures

\listoftables

\include{04_einleitung}

\include{05_Material}

\include{06_Ergebnisse}

\include{07_Diskussion}

\bibliographystyle{unsrtdin}
\bibliography{Literatur}

\end{document}

\chapter{Einleitung}
\label{sec:Einleitung}
\section{Selektionsmarker}
\label{sec:Selektionsmarker}
    \begin{figure}[h]
    \centering
    \def\svgwidth{300pt}

    \input{img/pyrF.pdf_tex}
    \caption{\textbf{\textbf{Überblick von Counter Selection mit pyrF als Selektionsmarker.}}}
    \label{pyrF Selektionsmarker}
    \end{figure}

Könnte der Fehler im Erstellen meiner Grafik liegen, weil es über den Rand hinaus geht ?

alt text

Lg David

gefragt 22 Jan, 11:55

Rado's gravatar image

Rado
12
Akzeptiert: 0%

bearbeitet 23 Jan, 12:46

1

Willkommen auf TeXwelt!

Könntest Du bitte ein Minimalbeispiel durch Editieren der Frage einfügen? Also ein möglichst kurzes, aber komplettes Dokument, von \documentclass{...} bis zu \end{document}, was das Problem zeigt. Das vereinfacht die Bearbeitung erheblich und ist meist eine Garantie für eine Lösung.

(22 Jan, 14:23) Ijon Tichy

Aus dem wenigen, was man im Screenshot sehen kann, ist nur zu sagen: Du hast für die Grafik eine Breite von 600pt angegeben. Das sind 8,3" oder 21,09 cm. Das ist bei A4 garantiert breiter als der Textbereich. Man darf sich also eigentlich nicht wundern dass das nicht passt. Gibt als Breite mal \textwidth an, vielleicht wird es dann etwas. Allerdings kann es sein, dass die Schrift dann noch zu groß ist. Ohne VM kann ich das nicht weiter beurteilen.

(22 Jan, 14:28) Ijon Tichy

Was das \DeclareUnicodeCharacter im Titel der Frage soll, ist mir auch schleierhaft. Ich werde es deshalb entfernen. Sollte es tatsächlich einen Bezug zur Frage haben, kannst du das gerne wieder einfügen, dann aber bitte in der Frage auch den Bezug herstellen.

(22 Jan, 14:30) Ijon Tichy

Bitte beachte auch, dass jedes einzelne Wort in der Themenliste als einzelnes Thema interpretiert wird. Ein Thema »grafiken einbinden« kann es also nicht geben, sondern zerfällt in die beiden Themen »grafiken« und »einbinden«. Dabei sortiert TeXwelt die Themen ggf. auch selbstständig um. Das Thema »einbinden« ist daher wenig sinnvoll und wurde von mir zugunsten von »skalieren« entfernt.

(22 Jan, 14:36) Ijon Tichy
2

TeXmaker ist übrigens nur der Editor. Mit dem Problem des Einbindens einer Grafik in ein Dokument hat der wenig bis nichts zu tun. Daher habe ich ihn sowohl aus dem Titel als auch der Themenliste entfernt.

Ich weiß, das ist am Anfang alles viel Neues (einerseits LaTeX lernen, andererseits die korrekte Benutzung von TeXwelt). Die Hinweise sollen dich daher auch nicht vorführen, sondern dir helfen.

(22 Jan, 14:53) Ijon Tichy

Solch einfache Diagramme kann man recht leicht mit pgf/TikZ zeichnen. Das löst zwar dein eigentliches Problem nicht (das wir daher trotzdem noch angehen sollten), aber vermeidet es ggf.

(23 Jan, 02:04) Ijon Tichy

Siehe meinen zweiten Kommentar einschl. des dortigen impliziten Hinweises auf einen Teil des ersten. Sie verlinkte Seite aus beiden Kommentaren ist von entscheidender Bedeutung.

(23 Jan, 10:01) Ijon Tichy

Off-Topic: Das komplette \caption-Argument in \textbf einzufassen ist übrigens nicht sinnvoll. Stattdessen besser die Schrift für Bildunterschriften generell mit \setkomafont/\addtokomafont ändern, wie das in der KOMA-Script-Anleitung gezeigt wird.

(23 Jan, 10:03) Ijon Tichy

Off-Topic: Die Option utf8x ist für inputenc übrigens nicht empfehlenswert. Sie ist teilweise inkompatibel mit anderen Paketen. Besser nur utf8 verwenden. Wenn die TeX-Distribution aktuell ist, kann man inputenc auch ganz weglassen.

(23 Jan, 10:05) Ijon Tichy

Off-Topic: Optionen für hyperref, die Strings als Wert erwarten, sollte man besser nicht bereits bei \usepackage, sondern anschließend per \hypersetup setzen. Solange man sich auf US-ASCII beschränkt, funktioniert es zwar (und manchmal sogar darüber hinaus), da hyperref in \usepackage die Codierung nicht mehr richtig anpassen kann, kann es aber auch schief gehen.

(23 Jan, 10:06) Ijon Tichy

oh, ich habe deine weiteren Kommentare garnicht gesehen, Entschuldige bitte und Danke für deine Mühe !

(23 Jan, 16:11) Rado

Ich habe TikZ vor Inkscape gefunden, aber überhaupt nicht verstanden wie die Codes alle funktionieren. Dann war ich froh, dass ich es frei Hand gestalten kann, weil es für meinen Fachbereich auch keine gute Vorlage gab.

(23 Jan, 16:18) Rado
1

Ich versuche es noch ein letztes Mal, bevor ich mich in den wohlverdienten Urlaub verabschiede: Mach bitte ein vollständiges Minimalbeispiel nach der verlinkten Anleitung.

Dessen ungeachtet: Zu TikZ gibt es eine laaaaaange Anleitung. Und unter der von mir dereinst verlinkten Seite gibt es Diragrammbeispiele unterschiedlicher Art mit Hilfe von TikZ. Und wenn du dazu Probleme hast, gibt es hier auch Hilfe – Frage mit vollständigem Minimalbeispiel, das eigenen Einsatz erkennen lässt, vorausgesetzt.

(24 Jan, 03:46) Ijon Tichy

Ich habe es doch wie in den Beispielen der Anleitung gemacht. Diesen Text verstehe ich leider auch nicht so ganz haha

(24 Jan, 13:32) Rado

Ich weiß nicht, was da zum Lachen ist. Aber hast du mal mit Deinem Beispiel gemacht, was in der Minimalbeispiel-Anleitung steht steht: In ein neues Verzeichnis kopieren und dort einen LaTeX-Lauf damit durchgeführt? Dann siehst du nämlich eigentlich, was wir sehen, u. a. die Fehlermeldung wegen nicht vorhandenem img/pyrF.pdf_tex.

(24 Jan, 13:59) saputello
Ergebnis 5 von 15 Alle anzeigen

Obwohl ich bezüglich TikZ eher ein Stümper bin, würde auch ich zu TikZ raten. Aber auch damit, ist die gezeigte Abbildung schon allein wegen der langen Texte schnell zu breit:

Öffne in Overleaf
\documentclass[12pt]{scrreprt}
\usepackage[svgnames]{xcolor}
\usepackage{tikz}
\usetikzlibrary{positioning}
\setkomafont{caption}{\bfseries}
\usepackage{showframe}% Nur zur Verdeutlichung der Grenzen des Textbereichs.
\begin{document}
\begin{figure}
  \begin{tikzpicture}[font=\sffamily\strut\ignorespaces]
    \node (vFOA) {5-FOA};
    \node [fill=GreenYellow,below=of vFOA] (oritidin)
    { Oritidin-5'-Phostphat Decarboxylase };
    \node [left=of oritidin,minimum width=3cm] (pyrF) { };
    \node [right=of oritidin] (synthese) { keine Uratil-Biosynthese };
    \node [right=of synthese] (zelltod) { Zelltod };

    \draw [->] (vFOA) -- (oritidin);
    \path [fill=DarkMagenta] (pyrF.south west) rectangle +(1,0.6);
    \path [fill=GreenYellow] ([xshift=1cm]pyrF.south west) rectangle +(1,0.6);
    \path [fill=DarkMagenta] ([xshift=2cm]pyrF.south west) rectangle +(1,0.6);
    \draw ([yshift=2pt]pyrF.north) node { pyrF };
    \draw [->] (pyrF) -- node[above=.2] { (codiert) } (oritidin);
    \draw [->] (oritidin) -- (synthese);
    \draw [->] (synthese) -- (zelltod);
  \end{tikzpicture}
  \caption{Überblick von Counter Selection mit pyrF als Selektionsmarker}
\end{figure}
\end{document}

ohne Skalierung

und muss dann skaliert werden:

Öffne in Overleaf
\documentclass[12pt]{scrreprt}
\usepackage[svgnames]{xcolor}
\usepackage{tikz}
\usetikzlibrary{positioning}
\setkomafont{caption}{\bfseries}
\usepackage{showframe}% Nur zur Verdeutlichung der Grenzen des Textbereichs.
\begin{document}
\begin{figure}
  \resizebox{\textwidth}{!}{%
  \begin{tikzpicture}[font=\sffamily\strut\ignorespaces]
    \node (vFOA) {5-FOA};
    \node [fill=GreenYellow,below=of vFOA] (oritidin)
    { Oritidin-5'-Phostphat Decarboxylase };
    \node [left=of oritidin,minimum width=3cm] (pyrF) { };
    \node [right=of oritidin] (synthese) { keine Uratil-Biosynthese };
    \node [right=of synthese] (zelltod) { Zelltod };

    \draw [->] (vFOA) -- (oritidin);
    \path [fill=DarkMagenta] (pyrF.south west) rectangle +(1,0.6);
    \path [fill=GreenYellow] ([xshift=1cm]pyrF.south west) rectangle +(1,0.6);
    \path [fill=DarkMagenta] ([xshift=2cm]pyrF.south west) rectangle +(1,0.6);
    \draw ([yshift=2pt]pyrF.north) node { pyrF };
    \draw [->] (pyrF) -- node[above=.2] { (codiert) } (oritidin);
    \draw [->] (oritidin) -- (synthese);
    \draw [->] (synthese) -- (zelltod);
  \end{tikzpicture}
  }%
  \caption{Überblick von Counter Selection mit pyrF als Selektionsmarker}
\end{figure}
\end{document}

mit Skalierung

Die Ausführung der Grafik ist natürlich nicht vollständig und sie ist, wie gesagt, eher stümperhaft. Die TikZ-Experten hier können das bestimmt besser. Ich wollte auch nur zeigen, dass es grundsätzlich geht.

Nebenbei habe ich auch gleich noch gezeigt, wie man die Schrift des \caption-Arguments global ändert.

Genau genommen ist die Grafik nur mit ein paar horizontalen und vertikalen Pfeilen sogar so primitiv, dass man sie mit der LaTeX-eigenen picture-Umgebung realisieren kann:

Öffne in Overleaf
\documentclass[12pt]{scrreprt}
\usepackage[svgnames]{xcolor}
\setkomafont{caption}{\bfseries}
\usepackage{showframe}% Nur zur Verdeutlichung der Grenzen des Textbereichs.
\begin{document}
\begin{figure}
  \centering
  \footnotesize\sffamily
  \setlength{\unitlength}{1em}% Eine Zeicheneinheit ist ein Geviert (typografische Einheit) breit.
  \begin{picture}(40.5,4)
    \put(0,0){% Ganz links
      \color{DarkMagenta}\rule{2\unitlength}{.9\unitlength}% violettes Feld
      \color{GreenYellow}\rule{2\unitlength}{.9\unitlength}% grünes Feld
      \color{DarkMagenta}\rule{2\unitlength}{.9\unitlength}% violettes Feld
    }%
    \put(0,1){\makebox(6,0)[cb]{pyrF}}% darüber zentriert der Text
    \put(6,.45){\vector(1,0){2}}% dahinter ein Pfeil
    \put(6,1){\makebox(2,0)[cb]{(codiert)}}% darüber zentriert Text
    \put(8,0){\colorbox{GreenYellow}{\makebox(15,.9)[c]{Oritidin-5'-Phostphat
          Decarboxylase}}}% rechts vom Pfeil ein grüner Kasten mit zentriertem Text
    \put(23.5,.45){\vector(1,0){2}}% rechts davon ein Pfeil
    \put(25.5,0){\makebox(10,.9)[c]{keine Uratil-Biosynthese}}% und wieder Text
    \put(35.5,.45){\vector(1,0){2}}% rechts davon ein Pfeil
    \put(37.5,0){\makebox(3,.9)[c]{Zelltod}}%
    \put(8,3){\makebox(15,1)[c]{5-FOA}}% Text über dem gelb hinterlegten Text
    \put(15.5,3){\vector(0,-1){2}}% Pfeil nach unten
  \end{picture}
  \caption{Überblick von Counter Selection mit pyrF als Selektionsmarker}
\end{figure}
\end{document}

picture-Umgebung statt TikZ

Dabei muss man allerdings, wie man sieht, alle Koordinaten (und letztlich auch die Breite der Texte) selbst angeben, was bedeutet, dass man Breitenangaben (erster Argument von \makebox) oder Koordinaten erst einmal schätzen muss, dann einen LaTeX-Lauf macht, dann die Schätzung korrigiert etc. Bei so einer kleinen Grafik ist das noch zu machen (wenn man es in einem eigenen Testdokument macht). Bei größeren Grafiken geht es einem schnell auf die Nerven. Einziger Vorteil der picture-Umgebung ist, dass man sie sehr einfach verstehen kann, weil sie nur sehr wenige Elemente zur Verfügung stellt. Daher ist sie in ausführlichen LaTeX-Einführungen meist auch noch erschöpfend behandelt, während man bei TikZ schon froh sein muss, wenn eine LaTeX-Einführung einen kurzen Einblick dazu verschafft.

Permanenter link

beantwortet 24 Jan, 05:07

saputello's gravatar image

saputello
10.4k53659

bearbeitet 25 Jan, 02:40

Wow, das sieht gut aus aber ich kann das einfach nicht so schnell erlernen. Es tut mir leid, aber danke für deine Mühe. Ein gutes Beispiel und vllt werde ich mal hobbymäßig reinschauen.

lg David

(24 Jan, 13:39) Rado

@Rado: LaTeX ohne lernen geht nicht. So wahnsinnig schwer zu verstehen ist der gezeigte Code nicht – erst recht nicht, wenn man die paar Befehle in der TikZ-Anleitung mal nachliest. Ich habe das extra eher einfach aufgebaut. Und den Hinweis bezüglich des generellen Breitenproblems habe ich auch mit Absicht hinzugefügt. Aber mach eben endlich ein vollständiges Minimalbeispiel in Deine Frage, dann können wir vielleicht auch die Verwendung der SVG-Grafik ermöglichen. Achja: → https://texwelt.de/wissen/themen/svg/

(24 Jan, 14:04) saputello
Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×31
×17
×2

Frage gestellt: 22 Jan, 11:55

Frage wurde angeschaut: 459 Mal

Zuletzt aktualisiert: 25 Jan, 02:40