Problem mit chemnum (bzw. psfrag) und Tex Live-Schriften

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Problem mit chemnum (bzw. psfrag) und Tex Live-Schriften

von Xulua » Di 7. Mär 2017, 15:31

Hallo!
Ich habe ziemlich genau das gleiche Problem wie der Threadersteller beschrieben hat. Ich nutze TexnicCenter 2.02 und TexLive 2016.
u_fischer hat geschrieben: Du kannst versuchen, dvips mit der Option -u +builtin35 aufzurufen.
Ich würde gern diesen Vorschlag umsetzen; leider habe ich keine Ahnung, wo ich das "hinschreiben" muss. Ich kann auch nirgends etwas dazu finden. Kann mir jemand helfen?

Danke!

von u_fischer » Di 13. Dez 2016, 23:06

cgnieder hat geschrieben:Erinnert mich an http://tex.stackexchange.com/questions/ ... class-nih/

Dort gibt es zwar bis jetzt keine echte Antwort...
Ja, das ist das gleiche Problem. Nimbus ist ein Klon von Helvetica. Da die eps-Datei selbst keine Schrift enthält, muss der Viewer einen Ersatz suchen, und wenn das Dokument Nimbus lädt, nimmt es halt die Schrift, und da die nur teilweise eingebettet wurde, fehlen Buchstaben.

von cgnieder » Di 13. Dez 2016, 18:17

Erinnert mich an http://tex.stackexchange.com/questions/ ... class-nih/

Dort gibt es zwar bis jetzt keine echte Antwort...

von Gast » Mo 12. Dez 2016, 08:51

Wenn tatsächlich nicht eingebettete Fonts das Problem sind, kann man diese eventuell nachträglich mit ghostscript in die EPS-Dateien einbetten. Dazu benötigt man natürlich den einzubettenden Font. Theroretisch sollte das dann mit:
ps2ps -dSAFER -dNOPLATFONTS -dEmbedAllFonts=true -dCompressFonts=true -dSubsetFonts=true -dEPSCrop Testbild.eps Testbild_with_fonts.eps
möglich sein. Das funktioniert aber nicht immer. Manchmal muss man auch Option -dNOPLATFONTS weglassen. Auf jeden Fall muss sie vor -dEmbedAllFonts=true stehen.

Oft funktioniert das aber auch nicht wie gewünscht.

von Gast » Mo 12. Dez 2016, 08:44

Am Rande sei erwähnt, dass es auch Pakete wie chemfig gibt, mit denen man chemische Formeln direkt in LaTeX zeichnen kann. Das befreit einen vor Problemen mit nicht eingebetteten Fonts beim EPS-Export anderer Programme. Der Workflow wird eventuell auch angenehmer.

von u_fischer » So 11. Dez 2016, 22:45

Die dvips-Konfiguration in miktex ist anders, aber das kann man ändern. Deswegen habe ich ja vorgeschlagen, dvips mit `-u +builtin35 ` aufzurufen.

von Erdapfelfresse » So 11. Dez 2016, 20:29

Ok, danke für die Erklärung. :) Heißt das im Umkehrschluss, das MiKTeX mit EPS-Dateien anders umgeht als Tex Live? Ich habe es vorhin nämlich nochmal auf einem anderen Rechner mit MiKTeX-Installation versucht und dort klappt alles ohne Probleme.
Ist es denn möglich, Programme anzuweisen, gewisse Schriften einzubetten oder ist man da an das gebunden, was voreingestellt ist?

von u_fischer » So 11. Dez 2016, 17:23

Das Grundproblem ist, dass dein Bild die in ihm benützte Schrift nicht einbettet, sondern nur auf Helvetica verweist. Und in texlive versucht dvips im Dokument die Schrift einzubetten, hat aber keine Ahnung, was es damit machen soll.

Du kannst versuchen, dvips mit der Option -u +builtin35 aufzurufen. Dann versucht dvips die Schrift nicht mehr einzubetten, aber Achtung: das gilt dann auch für das Helvet im Dokument.


Hintergrundinfo:
https://www.tug.org/pipermail/tex-live/ ... 32650.html
https://groups.google.com/forum/#!topic ... arFX8RMzdM

Problem mit chemnum (bzw. psfrag) und Tex Live-Schriften

von Erdapfelfresse » So 11. Dez 2016, 13:30

Hallo Leute,

ich habe ein sehr spezielles Problem, bei dem ich hoffe, dass mir jemand behilflich sein kann. Ich benutze das Paket "chemnum", um meine Strukturformeln zu nummerieren. Das Paket arbeitet letzten Endes mit psfrag, um bestimmte Marker (TMP1 usw.) in EPS-Dateien zu ersetzen. Da als Schriftart von meinem Lehrstuhl Arial (ja, ich weiß, dass das Blödsinn ist) verlangt wird, habe ich für das gesamte Dokument Helvetica als Schriftart festgelegt.
Unter MiKTeX hat das alles immer wunderbar funktioniert. Ich habe nun aber aufgrund einiger anderer Dinge beschlossen, zu Tex Live zu wechseln und seitdem macht mir das Paket einen Riesenärger, den ich bis jetzt nicht wirklich ausmerzen konnte. Sowohl auf Windows 10, als auch auf Arch Linux tritt das Problem auf.
Nun zum Problem an sich: Sobald ich den \replacecmpd-Befehl in einem meiner Bilder nutze, werden Buchstaben aus den Bildern einfach nicht mehr dargestellt. Die verwendete Schriftart im Bild ist Arial, da die Bilder mit dem Programm "ChemDraw" erstellt werden. Interessanterweise tritt das Problem nicht mehr auf, wenn ich das Paket "helvet" deaktiviere. Es tritt ebenfalls nicht auf, sobald man den \replacecmpd-Befehl auskommentiert. Nur fehlt dann natürlich die Nummerierung.
Da beim Kompilieren immer die Meldung "Test-autopp.ps dvips: Font Helvetica used in file Testbild.eps is not in the mapping file." ausgegeben wird, tippe ich auf eine fehlerhafte Installation der Schriftarten. Das Seltsame ist nur, dass es funktioniert, sobald man das helvet-Paket nicht mehr benutzt.
\documentclass[a4paper,12pt]{scrartcl}

\usepackage[T1]{fontenc}

\usepackage[utf8]{inputenc}

\usepackage[ngerman]{babel}

\usepackage{helvet}
\renewcommand{\familydefault}{\sfdefault}
\fontfamily{phv}\selectfont

\usepackage[version=3]{mhchem}

\usepackage[runs=2,crop=off]{auto-pst-pdf}

\usepackage{graphicx}

\usepackage{chemnum}
\setchemnum{replace-style = \fontsize{10}{12}}

\begin{document}

Es bleiben alle Buchstaben erhalten, wie sie im EPS-File gespeichert sind, solange der Befehl "\(\backslash\)replacecmpd" nicht benutzt wird. Allerdings fehlt dann die Nummerierung. Sobald er benutzt wird, verschwinden einige Buchstaben im Bild.

\begin{figure}[h]
\centering
\replacecmpd{Teststruktur}
\includegraphics[scale=1]{Testbild.eps}
\end{figure}


\end{document}

PS: wenn ich in dem Bild die Schriftart in den Molekülen verändere (Bsp: Times New Roman), funktioniert auch alles wunderbar.
Dateianhänge
Testbild_times.eps
Das ganze nochmal mit Times statt Arial
(15.31 KiB) 282-mal heruntergeladen
Testbild.eps
Das passende Bild dazu
(15.28 KiB) 296-mal heruntergeladen

Nach oben