Hallo,
Ich habe ein altes class file vorgesetzt bekommen und versucht einen Artikel zu erstellen. Allerdings bekomme ich beim Versuch diesen mit lualatex zu übersetzen einen Haufen Fehler und auch das resultierende pdf hat Probleme (so wird z.B. ß als SS angezeigt, bei copy&paste allerdings in ß zurückverwandelt. Das .cls file ist wohl von 2006 oder älter irgendwann 2010 notdürftig gehackt. Verwendet scrartcl zusammen mit fancyhdr.
Nachdem ich die Hinweise beherzigt und den Code etwas aufgeräumt habe, (smallheadings -> headings=small, etc.)
habe ich mich entschlossen das .cls file neu aufzusetzen und mal so richtig auf den aktuellen Stand zu bringen. Etwas blauäugig, denn nun stecke ich schon seit gut einem Tag fest bei dem Versuch fancyhdr nach scrlayer-scrpage zu migrieren. Ich habe hier texlive-2014, das enthält KOMA 3.12 lualatex ist 0.79.1
Es ist ja schön, das man überall auf diesen Hinweis stößt, aber eine Migration ist nirgends anschaulich(!) beschrieben. Also habe ich nach viel Versuch und Irrtum zwei letzte verbleibende Probleme. Der folgende Code legt in der ursprünglichen .cls Datei fest, dass sich auf der ersten Seite kein Header befindet und der Footer ein wenig anders aussieht als auf den folgenden Seiten.
\fancyhead{} \fancyhead[RE]{Autor} \fancyhead[LO]{Title} \fancyfoot{} \fancyfoot[RE]{regular RE foot} \fancyfoot[LO]{regular LO foot} \fancyfoot[LE]{regular LE foot \thepage} \fancyfoot[RO]{regular RO foot \thepage} %und dann \fancypagestyle{firstpage}{% \fancyhead{} \fancyfoot{} \fancyfoot[RE]{some text \thepage-\pageref{LastPage}} \fancyfoot[LO]{some other text} }
Das konnte ich nach nicht ganz einem Tag Doku und Forengewühl im Wesentlichen auf
\lohead{Title} \rehead{Autor} \lefoot{} \lofoot{regular LO foot} \refoot{regular RE foot} \lefoot{regular LE foot \thepage} \rofoot{regular RO foot \thepage}
reduzieren, aber die erste Seite sieht halt leider genauso aus wie die Folgeseiten. Im Grunde fehlt mir also das Äquivalent für \fancypagestyle{firstpage}
und ums Verrecken ... wie man so schön sagt ... finde ich dazu nichts im 469 Seiten starken scrguide.pdf wäre hier für einen Tipp dankbar.
Dann ist es mir nach einigen wenigen Stunden Arbeit gelungen
\RequirePackage{xcolor} %% Grauwerte \definecolor{hell}{gray}{0.80} %% ... \renewcommand{\headrule}{{\color{hell} \hrule width \headwidth height \headrulewidth \vskip- \headrulewidth}} \renewcommand{\footrule}{{\color{hell} \vskip- \footruleskip\vskip- \footrulewidth \hrule width\headwidth height \footrulewidth\vskip\footruleskip}} \renewcommand{\headrulewidth}{4.4pt} %% oberer Balken \renewcommand{\footrulewidth}{4.4pt} %% unterer Balken
in folgenden Code umzuwandeln
\RequirePackage[headsepline=4.4pt,footsepline=4.4pt]{scrlayer-scrpage} \definecolor{grey80}{gray}{0.80} %% ... \setkomafont{headsepline}{\color{grey80}} \setkomafont{footsepline}{\color{grey80}}
Das sieht schon mal wesentlich sauberer aus, aber hier ist das Problem, dass der Footer-Text mehr an der footsepline "klebt" als bei dem originalen Layout - wie könnte ich da eine Distanz hinbekommen? Für Tipps auch hier Danke.
Richard
Es wäre besser, wenn Du uns
Es wäre besser, wenn Du uns anhand eines Minimalbeispiels mit
fancyhdr
anschaulich gezeigt hättest, wie das Ergebnis aussehen soll. In der Anleitung kann man dann nachlesen, wie das erreicht werden kann.Aus Deinen Codebrocken rate ich jetzt, dass Dein Dokument entweder zweiseitig ist oder es zumindest sein kann. Auch das mit der ersten Seite ist irgendwie nicht eindeutig. Da die erste Seite in einem Dokument immer ungerade ist, Du aber in dem Seitenstil auch Einstellungen für die Fußzeile auf geraden Seiten vornimmst, muss es noch weitere "erste" Seiten geben?? Die Linien sollen auf allen Seiten sein?
Falls der Seitenstil
plain
bei Dir gar nicht genutzt wird, könnte man diesen anpassen undfirstpage
als Alias dafür definieren:Falls der Seitenstil
plain
aber für andere Dinge genutzt wird oder einfach weiter unabhängig verfügbar sein soll, kann man sich auch ganz einfach einen neuen Seitenstilfirstpage
definieren. Auch das ist in der Anleitung und im Buch erklärt.Damit mehr Platz zwischen der Fußzeilenlinie und der Fußzeile ist, habe ich die Layer mit der Linie jeweils um 2pt nach oben verschoben. Alternativ könnte man auch die Fußzeilenlayer
*.foot.odd
,*.foot.even
und*.foot.oneside
nach unten schieben.Allerdings verwendest Du mit der 3.12 eine schon wieder recht alte KOMA-Script Version, die die von mir verwendete Option
addvoffset
noch gar nicht kennt. TeX Live 2014 ist zwar eingefroren, aber Du könntest auf die dort verfügbare Version 3.16 updaten, die ausreicht, damit obige Beispiele laufen. Willst Du bei der 3.12 bleiben, dann musst Du alle Zeilen, dieaddvoffset
enthalten, entfernen und den Abstand zwischen Fußzeilentext und Fußzeilenlinie auf anderem Weg etwas vergrößern.Gruß
Elke
Vielen Dank für die
Vielen Dank für die Rückmeldung (und Antwort). Koma updaten kein Thema, mache ich auf meiner lokalen Maschine.
Bezüglich des Minimalbeispiels: Ich habe das natürlich hier gelesen, dass sowas hilft/gewünscht/gefordert ist, allerdings sind das so um die 150 Zeilen, die ich mindestens aus dem Wust extrahieren und anonymisieren müsste. Es ist eine Formatvorlage einer wissenschaftl. Publikation und ich möchte die eigentlich nicht bloßstellen.
Bezüglich der scheinbaren Zweideutigkeit der ersten Seite:
Ja, die Dokumente sind prinzipiell zweiseitig. Deswegen gibt es trotzdem immer nur eine erste Seite. Die ist zwar ungerade, aber doch verschieden von der Dritten Seite. Also gibt es im Grunde genommen 3 verschiedene Seitenlayouts: Erste Seite, gerade und ungerade Seiten. Da der Artikeltext unmittelbar nach einem Header bereits auf der ersten Seite beginnt gibt es kein Titel/Deckblatt.
Das gesamte "visual sugar" Layout wird eben über die Balken und die Kopf-/Fußzeilen geregelt.
Erste Seite hat die zwei Balken, keine Kopfzeile über dem oberen Balken und in der Fußzeile ist eben die Angabe des Jahrgangs und von-bis seitenzahl, folgende gerade und ungerade Seiten haben in der Kopfzeile eben Kurztitel bzw. Autorennamen und in der Fußzeile den Journalnamen und die Seitenzahl.
Die geraden und ungeraden Layouts habe ich ja hinbekommen (bis auf den voffset - danke dafür), nur die ominöse "erste Seite" will noch nicht. Aber ich probiere mal mit den Infos, die ich soweit habe.
Richard
Wenn der Seitenstil firstpage
Wenn der Seitenstil
firstpage
nur für die eine ungerade Seite bestimmt ist, warum steht dann in demfancyhdr
Code in Deiner Frage\fancyfoot[RE]{some text \thepage-\pageref{LastPage}}
RE
bedeutet auch beifancyhdr
R(ight) E(ven). Obige Zeile bestimmt also den Inhalt des rechten Teils der Fußzeile auf geraden Seiten - deshalb auch meine Frage, ob es bei Dir vielleicht auch gerade "erste" Seiten gibt.Ich hoffe jetzt, dass ich mit der Vermutung richtig liege, dass dieser Fußzeileneintrag statt dessen nach
RO
gehört, also rechts auf ungerade Seiten. Dann ändern sich die beiden Beispiele natürlich.Entsprechend Deiner jetzigen Angaben wäre es wirklich das einfachste den Seitenstil
plain
für die erste Seite zu nutzen. Dessen Verwendung ist auch sowieso für die Titelseite voreingestellt:Wenn trotzdem ein zusätzlicher Seitenstil
firstpage
definiert werden soll und\maketitle
verwendet wird, gehört das\thispagestyle{firstpage}
direkt hinter\maketitle
oder Du definierst wie im folgenden Beispiel\titlepagestyle
um:Gruß
Elke
PS: Warum es Dir schwerer als mir fallen sollte ein kurzes, lauffähiges Beispiel zu erstellen, kann ich nicht nachvollziehen. Dann wäre vermutlich sofort aufgefallen, dass auch mit
fancyhdr
der Seitenzahlbereich nicht auf der ersten Seite erscheint.Zum Nachvollziehen
Ich bekomme es immer noch nicht hin :-(
Vielleicht hilft ja folgender Code beim Nachvollziehen warum es mir so schwer fällt. Ich habe irgendwann 1994 als Student mit LaTeX angefangen, weil ich musste. Irgendwann habe ich mich damit angefreundet, weil es ja hies man könne sich auf den Inhalt konzentrieren und müsse nicht so viel Energie auf die Form verwenden.
Was haben wir gelacht.
Das beispiel ist "lauffähig", wenn man - zumindest bei mir zwei mal auf Return haut um irgendwelche Fehler zu übergehen. Das Ergebnis sieht so aus, wie es aussehen soll. Versuche ich den code von oben zu applizieren, sieht das Ergebis so aus, wie ich es auch schon vor einer Woche hinbekommen habe - also nicht gut.
Koma 3.17c habe ich installiert.
artstyle.cls:
test.tex
PS: Ja, der Frust spricht aus mir, denn zwei Wochenenden Gefrickel ohne brauchbares Ergebnis und noch kein einziges Wort Artikel geschrieben sind selbst für einen leidensfähigen Menschen wie mich ziemlich heftig. Naja - ich kann ja immer noch das Word Template nehmen...
Das Schlimme ist: Ich weiß, dass obiger Style furchtbar ist und ich weiß, mit modernen Bordmitteln müsste das wesentlich eleganter gehen und in einem Anfall von heroischem Wagemut dachte ich, ich könnte helfen das zu modernisieren und so vielleicht ein wenig beizutragen, dass TeX nicht immer nur auf dem Rückzug bei solchen Publikationen ist. Aber naja. Fail.
Richard
Angepasster Vorschlag
Dann ist hier noch ein an Dein Beispiel angepasster Vorschlag.
Direkt unter der Überschrift wird die beim Kompilieren verwendete Version ausgegeben, so dass sich das leicht kontrollieren lässt.
Der Befehl
\newstylenums
aus dem sehr alten Paketeco
verursacht bei mir Fehlermeldungen. Ich habe das Paket auskommentiert. Das Pakethelvet
hat keine Wirkung, da anschließend nochlmodern
geladen wird. Beim Laden vonxcolor
muss die Optionpdftex
weg. Wenn Dufontspec
lädst undutf8
verwendest, brauchst Duluainputenc
nicht. Außerdem ist es nicht sinnvoll in einer Klassendatei solche Dinge wie den Titel oder die Autoren direkt festzulegen. Das habe ich jetzt aber nur ansatzweise geändert.Gruß
Elke
lmodern wird bereits geladen
fontspec stellt übrigens die Schrift bereits selbst auf Latin Modern (und zwar die OpenType-Version davon) um, so dass man sich das explizite Laden von lmodern auch noch sparen kann.
Eigentlich
Eigentlich hat das mit der ursprünglichen Frage nur noch am Rande zu tun und ist viel mehr eine neue Frage im Stil von: Was ist bei folgender Wrapper-Klasse alles falsch?
Dabei ist es gleichzeitig eine Art XY-Problem, weil ja gar nicht spezifiziert ist, was mit der Wrapper-Klasse bzw. den einzelnen Definitionen darin genau erreicht werden soll, sondern es ist nur der Code angegeben, mit dem irgend etwas erreicht werden soll. Wir müssen also irgendwie aus dem Bauch heraus aus dem Code auf die einzelnen Probleme schließen, was viel Raum für Spekulationen bietet. Deshalb ist das nie der optimale Weg. Optimal ist, wenn man Einzelprobleme schildert und dabei immer die ursprüngliche Problemstellung mit angibt und dann erst den Code, mit dem man dieses zu lösen gedachte.
Gleichzeitig hat das dann (im Gegensatz zum ursprünglichen Problem der Umstellung von
fancyhdr
auchscrlayer-scrpage
auch nicht mehr wirklich viel mit KOMA-Script zu tun, denn die Probleme sind eigentlich Probleme mit krudem Code unabhängig von KOMA-Script. Damit wäre es genau genommen off-topic.Um Themen und Probleme überblickbar zu halten, bitte ich das künftig zu beachten.
Achja: Fehler durch Drücken von Enter/Return/Bestätigungstaste zu ignorieren, ist nie eine gute Idee. Das führt früher oder später zu Generationen von Folgeproblemen und Problemabhängigkeiten, deren Beseitigung eine Menge Arbeit macht.