PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Xfig: Combined PDF/Latex



schmaidt
14-03-2006, 12:30
Hi, ich habe folgendes Problem:

ich habe ein .tex-File "arbeit.tex". Die importierten Packages sind die folgenden:

\usepackage{epsf}
\usepackage{ngerman}
\usepackage{isolatin1}
\usepackage{makeidx}
\usepackage{hyperref}
\usepackage{scrpage2}
\usepackage[pdftex]{graphicx,color}

Jetzt habe ich mit XFig eine Grafik "test.fig" erstellt und diese in dem Modus "Combined PDF/Latex (both parts)" exportiert. Daraus resultieren dann die Dateien "test.pdftex" und "test.pdftex_t". Bis hierin ist auch alles wunderbar. Jetzt binde ich die Grafik im Latex-Dokument "arbeit.tex" ein mit

\input bilder/test.pdftex

Wenn ich nun auf der Konsole

pdflatex arbeit.tex

lasse, erhalte ich die folgende Fehlermeldung:

(./bilder/test.pdftex
! Text line contains an invalid character.
l.6 bla bla bla
bla bla bla

Wobei bla bla bla jetzt mal für irgendwelche wirren Zeichen steht. Was ist falsch? Übrigens habe ich gegoogelt und dabei herausgefunden, dass ich in der Datei ".Xresources" oder ".Xdefaults" die folgenden Zeilen eintragen soll

Fig.latexfonts: true
Fig.specialtext: true

Allerdings finde ich diese Dateien nicht. Dann habe ich gedacht, dass ein Aufruf von xfig mit folgender Syntax

xfig -specialtext -latexfonts -startlatexFont default

dasselbe bewirkt, was es aber bei mir irgendwie nicht tut?

Also: Entweder liegt es an den Dateien für die beiden Zeilen (dann muss ich nur wo wissen wo die sind) oder es ist etwas ganz anderes falsch!

Danke schonmal!

edico
14-03-2006, 14:25
naja, alles bischen verworren.
[1] du hast mit xfig gezeichet
[2] du exportierst 'combined PS/LaTeX (both parts)' und siehst in der 1.Zeile des files:
%!PS-Adobe-2.0 EPSF-2.0, was dir sagt, dass du einen PostScript generiert hast. Der lässt sich nicht mit
pdflatex compilieren (zumindest nicht so einfach ohne Vorkehrungen).
[3] also bist du schlau und exportierst 'LaTeX picture' und erstellst einen image.tex file, den du (gem. deiner Vorgehensweise) einbinden kannst.
Das Beispiel zeigt's:
%
\begin{filecontents*}{justtry.tex}
\setlength{\unitlength}{4144sp}%
%
\begingroup\makeatletter\ifx\SetFigFont\undefined%
\gdef\SetFigFont#1#2#3#4#5{%
\reset@font\fontsize{#1}{#2pt}%
\fontfamily{#3}\fontseries{#4}\fontshape{#5}%
\selectfont}%
\fi\endgroup%
\begin{picture}(3803,3481)(2521,-4165)
\put(6271,-3616){\rotatebox{90.0}{\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{\rmdefault}{\bfdefau lt}{\updefault}{\color[rgb]{0,0,0}is not very dare for me Lady Sue}%
}}}}
\put(2521,-4111){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{\rmdefault}{\bfdefau lt}{\updefault}{\color[rgb]{0,0,0}This little square looking round and blue}%
}}}
\thinlines
{\color[rgb]{0,0,0}\put(3001,-2701){\oval(600,600)[bl]}
\put(3001,-1636){\oval(600,600)[tl]}
\put(5551,-2701){\oval(600,600)[br]}
\put(5551,-1636){\oval(600,600)[tr]}
\put(3001,-3001){\line( 1, 0){2550}}
\put(3001,-1336){\line( 1, 0){2550}}
\put(2701,-2701){\line( 0, 1){1065}}
\put(5851,-2701){\line( 0, 1){1065}}
}%
{\color[rgb]{1,0,0}\thicklines
\put(4201,-1206){\circle{1000}}
}%
{\color[rgb]{1,0,0}\put(4238,-3117){\circle{1000}}
}%
\end{picture}
\end{filecontents*}
%
\documentclass{article}
\usepackage{graphicx,color}
\begin{document}
\input{justtry.tex}
\end{document}
%
edico

schmaidt
14-03-2006, 18:48
Das stimmt nicht. Ich habe es als PDF/Latex combined exportiert und nicht als PS/latex.

edico
14-03-2006, 20:04
Ja, hab ich überlesen. Bei meiner (vermutlich) älteren Version heisst der Schalter 'PDF',
und die TeX und/oder PDF outputfiles lassen sich problemlos einbinden.
Überhaupt sind die beiden TeX outputs (ob PS oder PDF minded) identisch, vielleicht ist dir das aufgefallen.
BTW: Dein package epsf ist AFAIK obsolet; isolatin ist uralt. Lies mal ltabu.pdf, damit du deine Präambel entrümpelst. Vermutlich hast du dort 'konkurrierende' packages. Ausserdem lass die Treiber weg, sie sind nicht wichtig. Hyperref gehört (in den meisten Fällen) als letzten package aufgerufen ...
Solange du kein Minimalbeispiel lieferst, ist der Fehler nicht zu finden. Ob dein GIMP nicht läuft, kann ich nicht beurteilen. Lässt sich denn der PDF file einbinden?
edico

schmaidt
15-03-2006, 08:06
Sorry, aber ich bin nicht so Forumkundig: Was heißt AFAIK? Also ich habe mal

\usepackage{isolatin1}

rausgenommen (da ja obsolet). Jetzt kriege ich aber keine deutsche Umlaute mehr! Und

\usepackage{hyperref}

habe ich jetzt als letztes importiert! Wo finde ich den ltabu.pdf?

Mein Header sieht jetzt also so aus:

\documentclass[a4paper,oneside]{scrbook}
\usepackage{ngerman}
%\usepackage{isolatin1}
\usepackage{makeidx}
\usepackage{scrpage2}
\usepackage[pdftex]{graphicx,color}
\usepackage{hyperref}

Das ist doch schon minimal, oder nicht? Wenn ich in XFig einen pdf-File exportiere, kriege ich den mit

{\includegraphics{bilder/test.pdf}}

auch rein. Allerdings ist der auch um 90° nach links gedreht1?!?

Sehr komisch.

rais
15-03-2006, 15:20
Sorry, aber ich bin nicht so Forumkundig: Was heißt AFAIK?

As Far As I Know... afaik :)


Also ich habe mal
\usepackage{isolatin1}

rausgenommen (da ja obsolet). Jetzt kriege ich aber keine deutsche Umlaute mehr! Und

\usepackage{hyperref}

habe ich jetzt als letztes importiert! Wo finde ich den ltabu.pdf?
hier (http://www.ctan.org/tex-archive/info/german/l2tabu/l2tabu.pdf) - da findste dann unter Abschnitt 2.2.6 auch, wie Du die deutschen Umlaute wieder nutzen kannst.


Mein Header sieht jetzt also so aus:

\documentclass[a4paper,oneside]{scrbook}
\usepackage{ngerman}
%\usepackage{isolatin1}
\usepackage{makeidx}
\usepackage{scrpage2}
\usepackage[pdftex]{graphicx,color}
\usepackage{hyperref}

Das ist doch schon minimal, oder nicht?
Nee, siehe Minimalbeispiel (http://www.latex-einfuehrung.de/mini.pdf)

Wenn ich in XFig einen pdf-File exportiere, kriege ich den mit

{\includegraphics{bilder/test.pdf}}

auch rein. Allerdings ist der auch um 90° nach links gedreht1?!?

Sehr komisch.
Ich weiß ja nich, wie das bei XFig mit'm Export aussieht, aber schau mal nach landscape/portrait Option beim Exportieren, vielleicht liegt's da ja schon dran.
Und hat Dir edico nicht geraten, Treiber wegzulassen? Warum noch pdftex für color/graphicx ?

MfG,

pospiech
16-03-2006, 17:40
Ich würde für den Export von xfig Grafiken eps empfehlen. In diesem kann dann mit psfrag einzelne Textstellen durch LaTeX Code ersetzt werden. Für PDF sollte man das dann mit dem Paket pst-pdf kombinieren und mit ps4pdf kompilieren.

Matthias

oscarspatz
16-03-2006, 17:43
schmaidt???? - der schmaidt, den auch ich kenn???? hmmmm

schmaidt
16-03-2006, 18:06
schmaidt???? - der schmaidt, den auch ich kenn???? hmmmm
Hallo oscarspatz! Genau der ist es!


Ich würde für den Export von xfig Grafiken eps empfehlen. In diesem kann dann mit psfrag einzelne Textstellen durch LaTeX Code ersetzt werden. Für PDF sollte man das dann mit dem Paket pst-pdf kombinieren und mit ps4pdf kompilieren.
Matthias
Genau darum geht es mir ja; dass ich in xfig Bilder erstelle und diese so in LateX einbinden kann, dass sowohl die in xfig erstellte Schrift im pdf-Dokument genauso aussieht wie die der normalen LateX-Ausgabe in pdf und dass ich auch mathematische Ausdrücke in den xfig-Bildern benutzen kann. Ich glaube auch, dass das dann mit "Combined PDF/LateX" die gewöhnlichere Methode ist!

edico
16-03-2006, 20:05
Ja, dann mach es doch. Aber du willst dir anscheinend nicht helfen lassen ....
[1] Leider postest du kein lauffähiges Minimalbeispiel.
[2] Du sagst nicht, ob das lauffähige Minimalbespiel, das ich gepostet habe, bei dir auch läuft oder eben nicht.
... also 'Butter bei die Fisch'.
edico

jeff42
20-03-2006, 00:17
[...]
\usepackage[pdftex]{graphicx,color}

Jetzt habe ich mit XFig eine Grafik "test.fig" erstellt und diese in dem Modus "Combined PDF/Latex (both parts)" exportiert. Daraus resultieren dann die Dateien "test.pdftex" und "test.pdftex_t". Bis hierin ist auch alles wunderbar. Jetzt binde ich die Grafik im Latex-Dokument "arbeit.tex" ein mit

\input bilder/test.pdftex
[...]


Mein Vorgehen bei xfig und (pdf)latex:

1. Exportieren als "EPS and PDF (two files)
2. Paket graphix benutzen
3. \includegraphics{<filename>}

Wobei darauf zu achten ist, das _keine_ Extension (.eps oder .pdf) im Filenamen drinsteht, dann sucht sich latex das eps und pdflatex das pdf aus.

edico
20-03-2006, 06:42
@jeff42: OT
edico

jeff42
20-03-2006, 20:15
@edico: warum?

edico
21-03-2006, 07:31
@jeff42
Es ging dem Author nicht darum zu wissen, welche verschiedenen Exportformate Xfig zur Verfuegung stellt. Einzig und allein war der Focus: warum seine Transformation nach PDF/Latex nicht klappt (mal unabhaengig von dem Punkt der Drehung des Bildes um 90°, was hier nicht weiter behandelt wurde, weil der Author die Kommunikation abegebrochen hat, was man aber wohl mit ggf. einer neueren Version und/oder dem Befehl 'View' in den Griff haette bekommen koennen).
Das sein command '\input bilder/test.pdftex' nicht korrekt ist, sondern vermutlich 'test.pdftex_t' haette heissen muessen, ist nicht weiter betrachtet worden ... wie andere Aspekte in seinem Code auch nur ansatzweise angerissen wurden.
Der Author hat es leider nicht fuer sinnvoll erachtet, ein Minimalbesipiel zu posten, so dass es den Lesern einfach gefallen waere, sich zielgerecht mit seiner Problematik zu befassen, sondern sich gezwungen sah, 'im Nebel zu stochern'. Das ist allemal unerfreulich sowie zeitraubend, schlichtweg unhoeflich - aber vielleicht ja eine 'Sekundaertugend', die in unserer heutigen Gesellschaft der Egoisten nichts mehr zaehlt.
Warum der Author den Export gewaehlt hat, hat er als Replik auf pospiech, der exakt dasselbe wie du empfohlen hatte, (ansatzweise) erlaeutert ... AFAIK ist die EPS-extrahierte Schrift der Graphik etwas kleiner und etwas dicker als die LaTex-Schrift - was moeglicherweise der Grund des Authors gewesen sein mag).
edico

schmaidt
21-03-2006, 17:29
Es tut mir leid, dass ich hier als so gräßlicher Mensch ankomme, weil ich die letzten Tage keinen Zugang zu dem Internet hatte, weil ich gar nicht zu Hause war. Ich schäme mich!

Das Problem habe ich soweit in den Griff bekommen, dass ich es auf anderen Rechner als meinem zum Laufen bekommen habe, dort aber auch die in meinem ersten Post erwähnten Dateien .Xdafaults oder .Xresources gefunden habe und daher ändern konnte? Kann mir vielleicht jemand sagen, wo ich die bei mir finden kann (SuSe 10).

Ansonsten kann ich mich wohl nur nochmal für mein unverschämtes Verhalten entschuldigen!

rais
21-03-2006, 18:56
Moin moin,
wenn Du die Dateien nicht in Deinem $HOME stehen hast, dann solltest Du unter /etc/skel fündig werden (so SuSE da nicht dran geschraubt hat: hier noch 8.2); falls aber alle Stricke reißen:


find / -name "Xresources" -print

sollte besagte Datei schon finden, so sie denn drauf ist und Du genügend "permissions" mitbringst ;)
Dann also ein

cp /etc/skel/.Xdefaults ~
und entsprechend für .Xresources (Pfad ggf. anpassen), dann kannst Du Deine "heimatlichen" Kopien nach Herzenslust anpassen...
MfG,