PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : latex und python



hueschel
21-12-2010, 20:44
Hallo liebe Leute,

folgendes problem: in latex habe ich einen befehl definiert der dynamische nummerierungen durchführt, sodass der Befehl \QLcounter beispielsweise den Wert "4" besitzt.

Diesen Wert würde ich jetz gerne in ein python-Skript einbauen. Aber wie kann ich diesen Wert auslesen?

Das ganze sieht mir nach einer recht einfachen Sache aus aber ich bin per google wirklich nicht fündig geworden :( ich habe mal die "LATEX2E for class and package writers" Dokumentation gelesen aber da bin ich auch nicht schlauer geworden.

würde mich freuen wenn jemand weiß wie das geht oder zumindest wo ich mich einlesen kann :)



lg
hueschel

bobmalaria
21-12-2010, 21:14
hi,

so sollte es gehen


\documentclass{article}

\begin{document}

\newcounter{mycounter}
\setcounter{mycounter}{4}
\themycounter
\newwrite\myfile
\immediate\openout\myfile=counter.txt
\immediate\write\myfile{\themycounter}
\closeout\myfile

\end{document}

ich denke du kannst dann die datei counter.txt mit python problemlos einlesen, oder wie genau soll der import funktionieren?

voss
21-12-2010, 21:26
Diesen Wert würde ich jetz gerne in ein python-Skript einbauen. Aber wie kann ich diesen Wert auslesen?

Das ganze sieht mir nach einer recht einfachen Sache aus aber ich bin per google wirklich nicht fündig geworden :( ich habe mal die "LATEX2E for class and package writers" Dokumentation gelesen aber da bin ich auch nicht schlauer geworden.


mit \typeout{====\the\QLcounter====} kannst du den Wert
in die Logdatei schreiben und machst dann einfach ein grep auf ==== ====

Ist es ein LaTeX-Zähler, dann \theQLcounter (nur ein Backslash)

Herbert

hueschel
21-12-2010, 22:00
hi,

so sollte es gehen


\documentclass{article}

\begin{document}

\newcounter{mycounter}
\setcounter{mycounter}{4}
\themycounter
\newwrite\myfile
\immediate\openout\myfile=counter.txt
\immediate\write\myfile{\themycounter}
\closeout\myfile

\end{document}

ich denke du kannst dann die datei counter.txt mit python problemlos einlesen, oder wie genau soll der import funktionieren?

JA Danke das war genau das was ich gebraucht habe :)

Schönen Abend noch!

hueschel
22-12-2010, 23:22
hallo,

ein problem hab ich jetzt doch noch:

wenn ich so etwas einbaue:



\newwrite\myfile
\immediate\openout\myfile=counter.txt
\immediate\write\myfile{bla bla}
\closeout\myfile

...

\newwrite\myfile
\immediate\openout\myfile=counter.txt
\immediate\write\myfile{test}
\closeout\myfile


Dann wird das "bla bla" leider immer überschrieben, ich hätte aber gerne dass das "test" an die Datei angehängt wird! gibt es dafür einen befehl?

viele grüße
hueschel

tral
23-12-2010, 20:31
Dann öffne die Datei doch auch nur einmal:



\immediate\openout\myfile=counter.txt
\immediate\write\myfile{bla bla}
...

\immediate\write\myfile{test}
\closeout\myfile


Christian.

hueschel
24-12-2010, 11:30
Das würde ich gerne vermeiden

Ich will beispielsweise jedesmal, wenn ich ein Bild einfüge, etwas in eine Datei schreiben:


\includegraphics{bild1}
\newwrite\myfile
\immediate\openout\myfile=counter.txt
\immediate\write\myfile{bild1 wurde eingefügt}
\closeout\myfile

Hier steht jetzt etwas Text im Dokument \\

\includegraphics{bild2}
\newwrite\myfile
\immediate\openout\myfile=counter.txt
\immediate\write\myfile{bild2 wurde eingefügt}
\closeout\myfile



Oder meinst du etwa dass das hier funktioniert?


\includegraphics{bild1}
\newwrite\myfile
\immediate\openout\myfile=counter.txt
\immediate\write\myfile{bild1 wurde eingefügt}

Hier steht jetzt etwas Text im Dokument \\

\includegraphics{bild2}

\immediate\write\myfile{bild2 wurde eingefügt}
\closeout\myfile



lg hueschel

rais
24-12-2010, 11:47
Moin moin,


Oder meinst du etwa dass das hier funktioniert?


\includegraphics{bild1}
\newwrite\myfile
\immediate\openout\myfile=counter.txt
\immediate\write\myfile{bild1 wurde eingefügt}

Hier steht jetzt etwas Text im Dokument \\

\includegraphics{bild2}

\immediate\write\myfile{bild2 wurde eingefügt}
\closeout\myfile


probier's doch aus...

Frohes Fest!