Aus der Dokumentation zu latexmp wollte ich ein Beispiel kompilieren (nachfolgend (1)). Dabei kam die Fehlermeldung "I can't open file `mptrees'" Diese kommt auch bei dem Beispiel 4.1, S. 6 der Dokumentation.

(1) test.mp %% MPtoPDF 1.4.1 : running 'mpost --mem=mpost --tex=latex test.mp'

Öffne in Overleaf
%% gv test.0

verbatimtex

%%&latex

\documentclass[10pt]{article}

\usepackage{latexmp}

\begin{document}

etex

input mptrees;

beginfig(1)

dirtree:=135;

draw tree[1][1](3cm,2cm)("$A_1$","$a_1$","$A_2$","$a_2$");

draw tree[2][1](3cm,1cm)("$B$","$b$","$C$","$c$");

draw tree[2][2](3cm,1cm)("$D$","$p$","$E$","$q$");

endfig;

gefragt 22 Mai '17, 16:37

Trine's gravatar image

Trine
112
Akzeptiert-Rate: 0%

bearbeitet 22 Mai '17, 17:06

Hier in der Textwelt wird markdown verwendet, es wäre schön wenn du deinen Code entsprechend formatieren könntest. Am einfachsten sollte es sein wenn du auf Bearbeiten gehst, deinen Code markierte und dann über der Eingabe Box auf das Symbol mit 101010 klickst.

(22 Mai '17, 16:46) NobbZ

Fehlt im Beispiel nicht so etwas wie \end{document} am Ende? Außerdem gibt es bei mir kein Beispiel 4.1 auf Seite 6 der Anleitung zu latexmp. Das Beispiel auf Seite 6 der Anleitung zu mptrees sieht ebenfalls anders aus als der gezeigte Code. Und ein LaTeX Paket latexmp gibt es AFAIK im Gegensatz zu einem MetaPost Paket diesen Namens auch nicht. …

(22 Mai '17, 19:44) saputello

… Wie dem auch sein, das gezeigte Beispiel um \end{document} erweitert gibt bei mir nicht die genannte Fehlermeldung (aber auch keine vernünftige Ausgabe). Ist mptrees überhaupt installiert?

(22 Mai '17, 19:45) saputello

Mir ist noch immer rätselhaft, woher der Code aus Deinem Beispiel stammt. Auch vermute ich, dass Du nicht latexmp meinst, das seit 2005 nicht mehr gepflegt wird, sondern mptrees. Die Fehlermeldung lässt jedenfalls darauf schließen.

Das Paket mptrees ist bei TeX Live ab 2017 in der Voreinstellung enthalten. Bei MiKTeX muss man es ggf. über den Paketmanager nachinstallieren (falls man nicht die automatische Nachinstallation aktiviert hat). Bei älteren TeX Live Versionen muss man das Paket ggf. von Hand installieren. Dabei ist zu beachten, dass der richtige Ort für mptrees.mp natürlich im Zweig metapost/mptrees/ des lokalen oder persönlichen TEXMF-Baums ist. Ebenso funktioniert es, wenn man die Datei – wie ebenfalls unter dem vorherigen Link angegeben – im Dokumentverzeichnis hat.

Leider sind die Beispiele auf Seite 6 der mptrees-Anleitung, die sich stark von dem von Dir angegebenen Code unterscheiden, nur skizziert aber keine lauffähigen Beispiele. Ergänzt man das linke Beispiel zu:

Öffne in Overleaf
% Dies ist test-mptrees.tex
\documentclass{article}
\usepackage{emp}
\usepackage{ifpdf}
\ifpdf % allows pdflatex compilation
\DeclareGraphicsRule{*}{mps}{*}{}
\fi
\begin{document}
\begin{empfile}
\begin{empcmds}
input mptrees;
\end{empcmds}
\begin{emp}(0,0)
draw tree[1][1](3cm,3cm)("$A$","$p$","$B$","$q$");
\end{emp}
\end{empfile}
\end{document}

und ruft dann nacheinander

  • pdflatex test-mptrees.tex

  • mpost test-mptrees.mp

  • mpost test-mptrees.mp

  • pdflatex test-mptrees.tex

auf, so erhält man (immer vorausgesetzt, man hat das Paket mptrees installiert):

pdflatex-Beispiel

Beim ersten Aufruf (pdflatex) wird dabei übrigens u. a. die Datei test-mptrees.mp erzeugt. Beim zweiten Aufruf (mpost) werden die Dateien test-mptrees.1 und ltx-test-mptrees.tmp erzeugt. Beim dritten Aufruf entsteht ltx-test-mptrees.mpx und erneut (eine erweitere Form von) test-mptrees.1.

Achtung! Kommt es bei einem der mpost-Aufrufe zu einem Fehler, genügt es nicht test-mptrees.tex zu korrigiert. mpost wird dann bei einem erneuten Aufruf ggf. trotzdem mit den noch vorhandenen Hilfsdateien ltx-test-mptrees.tmp bzw. ltx-test-mptrees.mpx arbeiten. Diese sind also (am besten zusammen mit test-mptrees.mp und test-mptrees.1) ebenfalls zu löschen.

Mit lualatex geht es übrigens einfacher. Dort kann man aus

Öffne in Overleaf
% Dies ist test-luamptreees
\documentclass{article}
\usepackage{fontspec}
\usepackage{luamplib}
\begin{document}
\everymplib{input mptrees;}
\begin{mplibcode}
beginfig(1);
draw tree[1][1](3cm,3cm)("$A$","$p$","$B$","$q$");
endfig;
\end{mplibcode}
\end{document}

mit dem einen Schritt

  • lualatex test-luamptrees.tex

direkt obige Abbildung erzeugen. Es werden dazu auch nicht unzählige Hilfsdateien erzeugt. Ich empfehle daher für die Nutzung von mptrees unbedingt die Verwendung von lualatex.

Permanenter link

beantwortet 23 Mai '17, 08:35

saputello's gravatar image

saputello
11.1k174365
Akzeptiert-Rate: 51%

bearbeitet 23 Mai '17, 10:19

Vielen Dank. Bei der Doku habe ich mich auf die aktualisierte Variante bezogen: https://www.ctan.org/pkg/mptrees Könntest Du bitte in deine Datei mal listfiles einfügen und das Resultat posten. Ich habe texlive 2016 in der Endversion, mptrees jedoch aktualisiert.

Es läuft bei mir mit der obigen Datei immer noch nicht, der Fehler nach wie vor: Trine

This is MetaPost, version 1.9991 (TeX Live 2016) (kpathsea version 6.2.2) (/usr/local/texlive/2016/texmf-dist/metapost/base/mpost.mp (/usr/local/texlive/2016/texmf-dist/metapost/base/plain.mp Preloading the plain mem file, version 1.005) ) (./test-mptrees.mp ! I can't open file `mptrees'. l.6 input mptrees ;

(23 Mai '17, 09:05) Trine

@Trine Ich habe Deine "Antwort" in einen Kommentar umgewandelt. Du kannst gern stets direkt die Frage editieren und Zusätze einfügen. Hier sind Antworten stets "echte" Antworten, keine Gespräche oder Rückfragen oder Zusatzinfos, sondern Lösungen. Editieren der Frage ist jederzeit möglich und erwünscht. Das verbessert die Übersicht erheblich für die Archivierung der Lösungen. Ungewohnt und anders als in Webforen, doch innovativ und nutzbarer. Bemerkungen gern wie hier als Kommentare.

(23 Mai '17, 10:02) saputello

@Trine: Also beziehst Du Dich in der Tat nicht auf latexmp sondern auf mptrees. Allerdings ist Dein Beispiel in der Anleitung zu dem von Dir genannten Paket nicht zu finden. Hast Du mptrees manuell installiert oder über die tlmgr? mptrees ist AFAIK bei TeX Live 2016 noch nicht verfügbar, sondern erst ab TeX Live 2017. Wenn Du es manuell installierst, musst Du darauf achten, auch mptrees.mp in /metapost/mptrees/mptrees.mp Deines TEXMF-Baums zu installieren. Außerdem ist mir nicht klar, bei welchem Schritt, die Fehlermeldung bei Dir erscheint.

(23 Mai '17, 10:04) saputello

@Trine: \listfiles nützt in dem Fall nichts, weil das nur die TeX-Dateien aber nicht die MetaPost-Dateien erfasst. Und solange mptrees.mp bei Dir nicht gefunden wird, also nicht korrekt installiert ist, nützt es Dir auch nichts zu erfahren, dass mptrees.mp bei mir Version Version 17.05 (May 2017) ist. Also installiere das Paket korrekt und teste dann mein Beispiel genau so, wie ich das erklärt habe.

(23 Mai '17, 10:16) saputello

Bei "meinem Beispiel" handelte es sich um das Example 12, S. 5 Doku.

Es war ein Installationsproblem, jetzt funktioniert die pdflatex-Variante. Mit lualatex jedoch nicht. Wahrscheinlich muss da auch etwas aktualisiert werden:

...texlive/2016/texmf-dist/tex/luatex/luamplib/luamplib.lua:746: in function ' makeTEXboxes' [directlua]:1: in main chunk. ltxdomplibcodeindeed ...s([===[mplibtemp ]===])} directlua {luamplib.proce...

l.11 end{mplibcode}

(23 Mai '17, 12:57) Trine
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

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ügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×6
×1

gestellte Frage: 22 Mai '17, 16:37

Frage wurde gesehen: 6,414 Mal

zuletzt geändert: 23 Mai '17, 12:59