Anzeige:
Ergebnis 1 bis 7 von 7

Thema: Bild mit xy-pic und \xyimport beschriften

  1. #1
    Registrierter Benutzer
    Registriert seit
    09.02.2012
    Ort
    Hamburg
    Beiträge
    10

    Bild mit xy-pic und \xyimport beschriften

    Hallo,

    ich möchte ein Bild das als .pdf vorliegt, in meine Arbeit einbinden und mithilfe von LaTeX beschriften. Ich verwende PDFLaTeX.
    Dabei bin ich auf xy gestoßen.

    Und hierzu hätte ich dann auch ein paar Fragen:

    1) Ist xy ein gutes Paket dafür oder sollte man dann doch lieber TikZ bzw. PSTricks verwenden wenn man schon vorhandene Grafiken (.eps, .png, .pdf, etc) in LaTeX oder PDFLaTeX beschriften möchte.

    2)Wie bekommt man einen Zeilenumbrauch so hin, dass die Wörter linksbündig sind? In dem Minibsp. betrifft das Zeile 10 bis 13.

    3) Die Umrandung/Teilung in Zeile 19 bis 24 habe ich durch trial and error hinbekommen. Leider ist mir nicht ganz klar warum ich z.B. {}, vor {\ar@{-}(x,y)} schreiben muss. Wenn ich das nicht mache ist die Linie weg. Also wie ist die einfachste schreibweise für eine Line bzw. Pfeil von (xA,yA) nach (xE,yE)?

    Vielen Dank!

    Code:
    \documentclass{scrbook}
    \usepackage[import,pdf,all]{xy}
    \usepackage{graphicx}
    \usepackage[nice]{nicefrac}
    
    \begin{document}
    
    \begin{xy}
    \xyimport(1,1){\includegraphics[height=0.4\textheight]{tpf-twolens}}
    (.15,.10)*+[F]{\txt<1cm>{NIR pump pulse}},
    (.20,.35)*+[B]{\txt{horizontal\\polarization NIR}},
    (.80,1)*{\txt{vertical\\polarization THz}},
    (.35,.52)*++[B]{\txt{pulse\\front}},{\ar(.230,.67)},{\ar(.15,.5)},{\ar(.75,.70)},
    (.1,.85)*{\txt{grating}},
    (.5,1)*{\txt{lens}},{\ar(.35,.93)},{\ar(.65,.93)},
    (.5,.63)*{\nicefrac{\lambda}{2}},
    (.9,.69)*{\txt{sLN}},
    (.95,.85)*{\txt{THz}},
    (0,0)*{\ar@{-}(1,0)},
    (1,0)*{},{\ar@{-}(1,1)},
    (1,1)*{},{\ar@{-}(0,1)},
    (0,1)*{},{\ar@{-}(0,0)},
    (0,.5)*{},{\ar@{-}(1,.5)},
    (.5,0)*{},{\ar@{-}(.5,1)},
    \end{xy}
    
    \end{document}

  2. #2
    Registrierter Benutzer Avatar von bobmalaria
    Registriert seit
    28.11.2006
    Ort
    Düsseldorf
    Beiträge
    4.174
    hi,

    dafuer gibt es eigentlich das overpic paket.

    Code:
    \usepackage{overpic}
    .
    .
    .
    \begin{overpic}[grid,tics=10]{bild.pdf}
    \put (x,y) {Text}
    \end{overpic}
    nach dem ersten kompilieren wird durch die optionen grid und tics ein gitter auf dem bild erzeugt. hier kannst du dir dann die koordinaten ungefaehr ablesen und dann mit dem \put befehl text einfuegen. willst du das der text eine bestimmte zeilenlaenge hat, kannst du eine parbox verwenden

    Code:
    \put (3,10) {\parbox{3cm}{text text text}}
    fuer letzteres kann man nateurlich auch einen befehl basteln der die eingabe vereinfacht.

    willst du viele grafische dinge umsetzen, dann ist sicher tikz die richtige loesung. vor allem weil dein bild ein pdf ist. da wuerde pstricks nicht 'out of the box' funktionieren.

    es ist allerdings auch recht einfach eine vektor-software wie inkscape zu verwenden um pfeile usw einzuzeichen und dann den text als latex code zu exportieren. letzteres nutze ich recht oft weil es mir zu lange dauert die koordinanten usw. fuer die pfeile zu berechen/hinzufummeln.

    der workflow ist grob:

    1) pdf in inkscape importieren (vektor charater wird erhalten)
    2) pfeile einzeichen und mit text beschriften (schriftart egal)
    3) datei ->speichern unter
    4) dateityp pdf auswaehlen
    5) im dialog text als latex exportieren auswaehlen
    6) die resultierende tex datei mit \input im dokument einbinden.
    fertig.





    gruss
    Geändert von bobmalaria (09-02-2012 um 16:23 Uhr)
    Mein Ball ist umgefallen

  3. #3
    Registrierter Benutzer
    Registriert seit
    09.02.2012
    Ort
    Hamburg
    Beiträge
    10
    Das overpic paket ist natürlich sehr schön.

    Und die Funktion PDF+LaTeX. Text in PDF weglassen ... hatte ich zwar schon gesehen, aber nicht wirklich beachtet. Direkt als LaTeX mit PSTricks-Makros würde ich speichern wenn ich nicht PDFLaTeX verwenden würde?

    Damit hätte ich dann die Pfeile an die richtige Stelle von etwa dort wo dann der Text später stehen soll.
    Nur wie krieg ich den Text jetzt noch darein? overpic + input funktioniert nicht ?!

    Code:
    \begin{overpic}{tpf-twolens-text.pdf_tex}
    \end{overpic}

  4. #4
    Registrierter Benutzer Avatar von bobmalaria
    Registriert seit
    28.11.2006
    Ort
    Düsseldorf
    Beiträge
    4.174
    hi,

    wenn du den weg ueber inkscape gehst, dann bracuhst du overpic nicht mehr. da habe ich mich vielleicht unklar ausgedrueckt.

    wenn du in inkscape das pdf exportierst, dann klicke auf die entsprechende box um text als latex-text zu exportieren (ich habe die version 0.48)



    das einzige was nicht funktioniert, oder was ich nciht richtig hinbekommen habe ist, einen zeilenumbruch zu erzeugen. wenn ich das brauche gehe ich in die pdf_tex datei und suche einen eintrag

    z.b.

    Code:
    \put(-0.0004017,0.09015498){\color[rgb]{0,0,0}\makebox(0,0)[lb]{\smash
    Symmetry plane 1}}%
    und fuege eine parbox selbst ein

    Code:
    \put(-0.0004017,0.09015498){\color[rgb]{0,0,0}\makebox(0,0)[lb]{\smash{
    \parbox{3cm}{Symmetry\\ plane 1}}}}%
    jetzt kann man sich natuerlich streiten darueber wieviel zeit das braucht, aber ich denke, dass ich die pfeile sehr schnell in inkscape realisiert habe und dann fuer die wenigen 2-zeiler in meinen grafiken der extra aufwand lohnt. eventuell muss man an den koordinaten noch etwas drehen.

    ein entsprechendes feature waehre in inkscape schone, aber man kann nicht immer alles haben

    eingebunden wird dann nur ueber
    Code:
    \begin{figure}
    \input{datei.pdf_tex}
    \end{figure}
    Geändert von bobmalaria (09-02-2012 um 18:14 Uhr)
    Mein Ball ist umgefallen

  5. #5
    Registrierter Benutzer
    Registriert seit
    09.02.2012
    Ort
    Hamburg
    Beiträge
    10
    HI,

    danke, das hilft mir schon mal weiter. Und du hast dich schon richtig ausgedrückt, ich hab nur nicht richtig gelesen

    2) pfeile einzeichen und mit text beschriften (schriftart egal)
    Aber mich würde trotzdem noch interesieren wie man eine Linie von einem zum anderen Punkt zeichnet.

    3) Die Umrandung/Teilung in Zeile 19 bis 24 habe ich durch trial and error hinbekommen. Leider ist mir nicht ganz klar warum ich z.B. {}, vor {\ar@{-}(x,y)} schreiben muss. Wenn ich das nicht mache ist die Linie weg. Also wie ist die einfachste schreibweise für eine Line bzw. Pfeil von (xA,yA) nach (xE,yE)?
    Z.B. wird so nur die erste Linie gezeichnet
    Code:
    (0,0)*{\ar@{-}(1,0)},
    (0,1)*{\ar@{-}(1,1)},
    und so beide
    Code:
    (0,0)*{\ar@{-}(1,0)},
    (0,1)*{},{\ar@{-}(1,1)},

  6. #6
    Registrierter Benutzer Avatar von bobmalaria
    Registriert seit
    28.11.2006
    Ort
    Düsseldorf
    Beiträge
    4.174
    hi,

    ich habe dein bild nicht und somit ist dein beispiel und deine erklaerungen recht schlecht nachzuvollziehen.
    meiner meinung nach bracuhst du xy pic ueberhaupt nicht mehr wenn du inkscape verwendest. eine mischung von beidem halte ich nicht fuer sinnvoll.

    gruss
    Mein Ball ist umgefallen

  7. #7
    Registrierter Benutzer
    Registriert seit
    09.02.2012
    Ort
    Hamburg
    Beiträge
    10
    HI,

    ich meinte das ganze jetzt ehr akademisch. Irgendein Bild auf dem ich Pfeile / Strich zeichnen möchte. Aber belassen wir es dabei.
    Danke für deine Hilfe.

    Gruß
    MiKTeX 2.9 || TeXstudio 2.3 \/ Texmaker 3.1 || WinXP

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •