Ausgabe ans Ende der Log Datei schreiben

Redefinition von Makros, Definition eigener Befehle sowie neuer Umgebungen


pospiech
Moderator
Moderator
Beiträge: 247
Registriert: Do 3. Jul 2008, 11:40
Wohnort: Hannover
Kontaktdaten:

Ausgabe ans Ende der Log Datei schreiben

Beitrag von pospiech »

Ich möchte eine Zeitmessung durchführen und die Ermittlung und Ausgabe so spät wie möglich durchführen.

...
\typeout{time elapsed: \the\pdfelapsedtime/65536 s}
\end{document}
Ist leider nicht wirklich am Ende des LaTeX Durchlaufes.

Würde \AtEndDocument{...} dafür ausreichen?

Außerdem hätte ich gerne eine Ausgabe direkt in Sekunden. Kann man das in LaTeX nicht direkt rechnen lassen?

Gast

Ausgabe ans Ende der Log Datei schreiben

Beitrag von Gast »

Hi,

versuch's doch mal hiermit:
\documentclass{article}

\usepackage{lipsum}[2011/04/14]% v1.2

\usepackage{atveryend}[2011/04/23]% v1.7

\AtVeryVeryEnd{
  \newcounter{timeelapsed}
  \setcounter{timeelapsed}{\the\pdfelapsedtime}
  \divide \value{timeelapsed} by 65536%
  \typeout{^^Jtime elapsed: \the\pdfelapsedtime/65536 s = \arabic{timeelapsed}\space s^^J}
 }

\listfiles
\begin{document}
\pagenumbering{arabic}

\lipsum[1-2000]\lipsum[1-2000]\lipsum[1-2000]\lipsum[1-2000]\lipsum[1-2000]\lipsum[1-2000]\lipsum[1-2000]\lipsum[1-2000]\lipsum[1-2000]\lipsum[1-2000]\lipsum[1-2000]\lipsum[1-2000]\lipsum[1-2000]\lipsum[1-2000]\lipsum[1-2000]\lipsum[1-2000]\lipsum[1-2000]\lipsum[1-2000]\lipsum[1-2000]\lipsum[1-2000]
\lipsum[1-2000]\lipsum[1-2000]\lipsum[1-2000]\lipsum[1-2000]\lipsum[1-2000]\lipsum[1-2000]\lipsum[1-2000]\lipsum[1-2000]\lipsum[1-2000]\lipsum[1-2000]\lipsum[1-2000]\lipsum[1-2000]\lipsum[1-2000]\lipsum[1-2000]\lipsum[1-2000]\lipsum[1-2000]\lipsum[1-2000]\lipsum[1-2000]\lipsum[1-2000]\lipsum[1-2000]
\lipsum[1-2000]\lipsum[1-2000]\lipsum[1-2000]\lipsum[1-2000]\lipsum[1-2000]\lipsum[1-2000]\lipsum[1-2000]\lipsum[1-2000]\lipsum[1-2000]\lipsum[1-2000]

\end{document}

Gast

Beitrag von Gast »

... oder einfach
\usepackage[timer]{regstats}[2011/06/18]% v1.0d
:D

Benutzeravatar
iTob
Forum-Meister
Forum-Meister
Beiträge: 1221
Registriert: Mo 19. Apr 2010, 22:19
Kontaktdaten:

Re: Ausgabe ans Ende der Log Datei schreiben

Beitrag von iTob »

pospiech hat geschrieben: Würde \AtEndDocument{...} dafür ausreichen?
Nur als kleine Ergänzung: Wenn ich es richtig verstanden habe, wird dieser Code dann unmittelbar vor \end{document} ausgeführt, also an der Stelle, an der du ihn eh stehen hast. Siehe auch den clsguide, S. 21.

Gute Nacht!
Tobi

Gast

Beitrag von Gast »

Hallo,

compiliere mal den Code unten mit pdflatex
(regstats Version unbedingt [2011/06/18] v1.0d (oder neuer),
sonst funktioniert es nicht),
und suche dann im .log nach "elapsed".
"My time elapsed" kommt vom typeout vor \end{document},
"Time elapsed: about..." kommt vom regstats-Paket.
Die hyperref, alphalph, pagesLTS Pakete (und \listfiles)
sind nur deshalb im Beispiel vorhanden, damit auch etwas
nach dem typeout passiert.
Bei
\documentclass{article}\begin{document}\typeout{%
\the\pdfelapsedtime/65536 s}\end{document}
sieht man sonst keinen Unterschied.
\documentclass{article}
\usepackage{hyperref}[2011/04/17]% v6.82g
\usepackage{alphalph}[2011/04/18]% v2.3
\usepackage{pagesLTS}[2011/03/17]% v1.1o
\usepackage[timer]{regstats}[2011/06/18]% v1.0d
\listfiles
\begin{document}
\pagenumbering{arabic}
Hello world!
\typeout{My time elapsed: \the\pdfelapsedtime/65536 s}
\end{document}

pospiech
Moderator
Moderator
Beiträge: 247
Registriert: Do 3. Jul 2008, 11:40
Wohnort: Hannover
Kontaktdaten:

Beitrag von pospiech »

Anonymous hat geschrieben:... oder einfach
\usepackage[timer]{regstats}[2011/06/18]% v1.0d
Mir ist der Sinn des Pakets noch nicht klar geworden.
Wurde mir auch nach Lesen der Dokumentation noch nicht klar.

Antworten