Hack für Warnmeldung "pop empty color page stack 0"

Du hast einen Fehler gefunden? Her damit....

Hack für Warnmeldung "pop empty color page stack 0"

Beitragvon Mr_Xyz » Do Jan 22, 2009 7:43 pm

Hi allerseits,

da mich die Warnungen der Form "pop empty color page stack 0" beim Einsatz von MikTeX und dem TeXnicCenter-Ausgabeprofil "LaTeX => PDF" (also pdflatex.exe) seit einiger Zeit nerven, habe ich mich mal etwas mit der Thematik beschäftigt. Ich weiß allerdings nicht, ob das ganze überhaupt noch Relevanz hat, bzw. ob das Problem zur Zeit noch existiert. Auch muß ich dazu sagen, dass ich kein TeX/LaTeX-Guru bin, also erwartet von meiner Seite aus eher wenig Kompetenz auf dem Gebiet.

Naja, um auf den Punkt zu kommen, ich habe hier einen Weg gefunden, die Fehlermeldungen loszuwerden, ohne allerdings das grundlegende Problem auch nur ansatzweise gelöst zu haben. Vielleicht hilft es aber dem ein oder anderen doch weiter, da die Ausgabedatei dem erwarteten Ergebnis entspricht und auch frei von Fehlern ist. Man kann sich so wieder auf die wichtigen Warnmeldungen konzentrieren...

In der Datei tudheading.sty habe ich in den Zeilen 75 und 79 die folgende Anweisung ergänzt:
Code: Alles auswählen
\pdfcolorstack\@pdfcolorstack push{\current@color}

Dadurch wird einfach ein neuer Eintrag auf den Color-Stack geschoben, und pdflatex scheint glücklich zu sein.

Damit sieht der Abschnitt zur Definition der Überschriften wie folgt aus:
Code: Alles auswählen
%[...]
% Befehl zur Formatierung der UEberschriften
% fuer \chapter \section \subsection
\newcommand{\TUD@settitlestyle}[5]{
  \titleformat{#1}[hang]%
    {\parskip0pt\sectfont#2\titleline{{\pdfcolorstack\@pdfcolorstack push{\current@color}\normalcolor\nopagebreak\tudrule}\nopagebreak\vspace{0.05\baselineskip}\nopagebreak}}%
    {\strut\hspace*{#4}#3\strut}%
    {1ex}%
    {\hspace*{#5}}%
    [\nopagebreak\vspace{-0.7\baselineskip}\nopagebreak{\pdfcolorstack\@pdfcolorstack push{\current@color}\normalcolor\nopagebreak\tudrule}\nopagebreak]
  \ifTUD@firstlineindent
    \titlespacing{#1}%
      {0em}%
      {\@TUD@above@headskip}%
      {\@TUD@below@headskip}
  \else
    \titlespacing*{#1}%
      {0em}%
      {\@TUD@above@headskip}%
      {\@TUD@below@headskip}
  \fi
}
%[...]


(Eine andere Möglichkeit, um die Warnmeldungen zu umgehen, scheint es zu sein, nach jeder Anweisung im eigenen LaTeX-Code, die eine Überschrift zur Folge hat, ein \normalcolor zu schreiben.)

Bei meiner Suche im Web bin ich auch auf Folgendes gestoßen: http://newsgroups.derkeiler.com/Archive ... 00945.html
Allerdings hat mir das nicht wirklich weiter geholfen.

Vielleicht liest das ja irgendwer, und hat anschließend noch ne Idee...
Mr_Xyz
 
Beiträge: 2
Registriert: Mi Dez 17, 2008 3:10 pm

Re: Hack für Warnmeldung "pop empty color page stack 0"

Beitragvon cvl » Fr Jan 23, 2009 1:06 pm

Hi,

was passiert mit den Warnungen, wenn Du anstatt \pdfcolorstack\@pdfcolorstack push{\current@color} einzufügen \normalcolor löschst bzw. durch \color{black} ersetzt?

Grüße,
cvl
cvl
 
Beiträge: 220
Registriert: Di Apr 01, 2008 9:14 am

Re: Hack für Warnmeldung "pop empty color page stack 0"

Beitragvon Mr_Xyz » Di Jan 27, 2009 2:26 am

Ich hatte an der Stelle schon ein paar Dinge ausprobiert, allerdings nicht zielgerichtet (Trial and error halt). Ich habe deine Vorschläge aber gerade noch mal getestet:

- \normalcolor und den push-Befehl löschen --> bekannte Fehlermeldungen bei jeder Seite, die eine Überschrift enthält.
- \normalcolor durch \color{black} ersetzen und push-Befehl löschen --> bekannte Fehlermeldung...

Semi-OT: Sind hier in dem Forum eigentlich auch die Autoren der Vorlage aktiv?
Mr_Xyz
 
Beiträge: 2
Registriert: Mi Dez 17, 2008 3:10 pm

Re: Hack für Warnmeldung "pop empty color page stack 0"

Beitragvon cvl » Mi Jan 28, 2009 11:40 am

Was passiert, wenn Du
Code: Alles auswählen
{\pdfcolorstack\@pdfcolorstack push{\current@color}\normalcolor\nopagebreak\tudrule}
durch
Code: Alles auswählen
\mbox{\normalcolor\tudrule}
ersetzt?

Grüße,
cvl
cvl
 
Beiträge: 220
Registriert: Di Apr 01, 2008 9:14 am

Re: Hack für Warnmeldung "pop empty color page stack 0"

Beitragvon cvl » Mi Jan 28, 2009 12:56 pm

Hi,

habe die Lösung gefunden. Im Prinzip müssen alle \nomalacolor entfernt werden. Das sieht dann so aus:
Code: Alles auswählen
diff -X exclude.diff -ur tudreport.orig/tudheading.sty tudreport/tudheading.sty
--- tudreport.orig/tudheading.sty       2008-12-24 00:44:43.000000000 +0100
+++ tudreport/tudheading.sty    2009-01-28 11:47:45.000000000 +0100
@@ -83,11 +83,11 @@
% fuer \chapter \section \subsection
\newcommand{\TUD@settitlestyle}[5]{
   \titleformat{#1}[hang]%
-    {\parskip0pt\sectfont#2\titleline{{\normalcolor\nopagebreak\tudrule}\nopagebreak\vspace{0.05\baselineskip}\nopagebreak}}%
+    {\parskip0pt\sectfont#2\titleline{\tudrule\nopagebreak\vspace{0.05\baselineskip}\nopagebreak}}%
     {\strut\ifnum\value{secnumdepth}>#5\hspace*{#4}\fi#3\strut}%
     {1ex}%
     {\ifnum\value{secnumdepth}>#5\ifTUD@star@\hspace*{#4}\fi\else\hspace*{#4}\fi}%
-    [\nopagebreak\vspace{-0.7\baselineskip}\nopagebreak{\normalcolor\nopagebreak\tudrule}\nopagebreak]
+    [\nopagebreak\vspace{-0.7\baselineskip}\nopagebreak\tudrule\nopagebreak]
   \ifTUD@firstlineindent
     \titlespacing{#1}%
       {0em}%
@@ -102,7 +102,7 @@
}
\newcommand{\TUD@setbigtitlestyle}[5]{
   \titleformat{#1}[hang]%
-    {\parskip0pt\sectfont#2\normalcolor\nopagebreak}%
+    {\parskip0pt\sectfont#2\nopagebreak}%
     {\strut\ifnum\value{secnumdepth}>#5\hspace*{#4}\fi#3\strut}%
     {1ex}%
     {\ifnum\value{secnumdepth}>#5\ifTUD@star@\hspace*{#4}\fi\else\hspace*{#4}\fi}%
diff -X exclude.diff -ur tudreport.orig/tudreprt_fonts.sty tudreport/tudreprt_fonts.sty
--- tudreport.orig/tudreprt_fonts.sty   2008-11-18 12:34:16.000000000 +0100
+++ tudreport/tudreprt_fonts.sty        2009-01-28 11:47:29.000000000 +0100
@@ -156,6 +156,7 @@
   \providecommand\subheadlinefont{}
     \renewcommand{\subheadlinefont}{\fontfamily{\sfdefault}\fontseries{mb}\fontshape{n}\subheadlinesize}
   \providecommand\sectfont{}
-    \renewcommand*\sectfont{\normalcolor\subheadlinefont}
+    \renewcommand*\sectfont{\subheadlinefont}
+%    \renewcommand*\sectfont{\normalcolor\subheadlinefont}

\normalsize
http://de.wikipedia.org/wiki/Diff

Wird in der nächsten Version enthalten sein.
Grüße,
cvl
cvl
 
Beiträge: 220
Registriert: Di Apr 01, 2008 9:14 am


Zurück zu Bug-Report und Bug-Fix

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast