Plain TeX plus OPmac-Makro: Seitenfarbe (Hintergrundfarbe) festlegen

Plain TeX plus OPmac-Makro: Seitenfarbe (Hintergrundfarbe) festlegen

Zusammenfassung: Makro zum Festlegen des Seitenhintergrunds in TeX + OPmac hinzufügen


Aushttp://petr.olsak.net/opmac-tricks-e.html#coltext...die zusätzliche Makroliste der OPmac-Tipps und Tricks zum Kernmakropaket opmac.tex:

Der unten als Möglichkeit zum Ändern der Farbe im Dokument vorgeschlagene Code steht im Konflikt mit \input colorder TeX-Methode, das Farbpaket in den verfügbaren Makrocode eines in TeX festzulegenden Dokuments zu integrieren.

\def\color#1{\localcolor\colorA#1\relax}
\def\colorA#1#2\relax{\uppercase{\csname#1}#2\endcsname\ignorespaces}

Obwohl OPmac Farbe bereitstellt, enthält es kein Makro zum Festlegen der Seitenfarbe des Dokuments. Das Definieren des richtigen Felds zum Einfärben aller Seiten des Dokuments in einer bestimmten Hintergrundfarbe würde dieses Problem lösen ... übersteigt jedoch meine bescheidenen Kenntnisse, daher das Auftreten von , wobei \input colorLetzteres größtenteils überflüssig ist, da OPmac in allen Bereichen Farbfunktionen bereitstellt, einschließlich des obigen Makros zum lokalen Ändern der Farbe/des farbigen Hintergrunds im laufenden Betrieb.

Die Frage: Kann jemand ein kurzes zusätzliches Makro bereitstellen, das die richtige „Box“ definiert, und einen zusätzlichen Benutzerbefehl, um den Seitenhintergrund festzulegen. Da Farbe implementiert ist.

Begründung: Petr hat ein Paket bereitgestellt, das sich auf Funktionalität und nicht auf Styling konzentriert.Isteine Anfrage für zusätzliche Benutzerfunktionen. Zweitens ist das Einfügen color.texeiner Makrodatei, um nur eine Hintergrundfarbe hinzuzufügen, und das Auskommentieren des obigen OPmac-Tricks-Makros, um den Konflikt zu lösen, ein Schlag ins Gesicht. Drittens wird Petrs Philosophie, eine minimale, solide Codebasis zu haben, dadurch erstickt, dass der gesamte color.texCode nur für das Obige eingefügt wird.

Persönliche Begründung: Hintergrund- und Textfärbung zum Korrekturlesen ist für jeden Autor/Programmierer ein großer Vorteil, das Schwarz auf Weiß der meisten gedruckten PDFs belastet die Augen beim Wechsel zwischen Quelle (vim-solarisiert) und PDF-Ausgabe. Das Hin und Her zwischen beiden zu vereinheitlichen, da wir alle einen Teil unseres Lebens „vor dem Bildschirm“ verbringen, ist keine Kleinigkeit. Beim Drucken ist das Kompilieren in Schwarzweiß für den Druck so einfach wie „to“ \input opmacmodified_to_proofread_onscreenoder \input opmac_modified_to_printein oder zwei Bedingungen, die zu „to“ hinzugefügt werden opmac_modified.tex.

Vereinfachte Frage: zusätzliches Makro zum einfachen Festlegen des Seitenhintergrunds in TeX + OPmac

Bei näherer Betrachtung der Materie erzeugen die color.tex-Makros, unabhängig davon, ob Floats oder einfacher \lipsum[2-10]Text verwendet werden, über mehrere Seiten hinweg „Anschnitte“ ab der zweiten Seite nach links und oben/unten auf der Seite.

In allen Dokumentationen herrscht absolutes Schweigen bezüglich der Farbe(n) und ihrer Verwendung im Hinblick auf die Seitenhintergrundfärbung. Es wird angenommen, dass „Farbe“ Textfärbung bedeutet, lokal oder global, und „Hintergrundfärbung“ eine lokale Angelegenheit ist, also die Färbung einer „Box“.

Im Nachhinein betrachtet sollte die theoretische Möglichkeit vorhanden sein, denn schließlich aufbaut Latex auf den Tex-Grundelementen und die Leichtigkeit, mit der Latex-Hintergrundfarben für Seiten erstellt werden, lässt sich nicht aus der Luft greifen. Auch hier kann ein OPmac-Makro die Hintergrundfarbe problemlos lokal rendern.

Man könnte argumentieren, dass der Satz ausschließlich für den Druck erfolgt, wodurch das Problem trivial wird. Der Satz als Prozess erfordert dann das Springen von der Quelle zur Kompilierung auf dem Bildschirm. Grund genug, während des Erstellungsprozesses den Hintergrund an den der Quelle (falls vim-solarisiert) anzupassen, um die Benutzerfreundlichkeit zu gewährleisten. Also doch nicht so trivial.

Es wäre sehr zufriedenstellend, die Möglichkeiten der Seitenfärbung in Tex auf eine grundsätzliche Art und Weise zu diskutieren und auf der anderen Seite, wenn man von der Nicht-Wesentlichkeit dieser Vorgehensweise überzeugt wäre, dann von der entsprechenden expliziten Notwendigkeit.

Antwort1

Das Problem mit der Einstellung der Hintergrundfarbe von Seiten wurde gelöst, indem ein natives OPmac-Makro verwendet und der color.tex-Makrocode weggelassen wurde, der Konflikte mit einigen OPmac-Farbdefinitionen und mehr verursachte. Der zweite Bonus war das Element der Kompaktheit. Die Codierung sollte erstens gut dokumentiert und zweitens kompakt sein. Beide Bedingungen wurden erfüllt.

Makro (0021) – PO 08. 2013 auf der öffentlichen Seite petr.olsak.net/opmac-tricks-e.html#coltext befand sich der gesamte kompakte Code, der für die einwandfreie Erstellung einer seitenbezogenen Hintergrundfarbe im gesamten Dokument erforderlich war.

Petr Olsak selbst verwies am ersten Tag nach der Veröffentlichung der Frage auf das auf seiner öffentlichen Webseite verfügbare Makro.

Hier ist das Codebeispiel: Alles, was Sie zum Einfärben der Seite benötigen:

    \def\prepghook{\pdfliteral{q \bgcolor\space k -0.996264 0 0 0.996264 -72 72 cm
  \nopt{\hoffset} \nopt{\voffset} -\nopt{\pdfpagewidth} -\nopt{\pdfpageheight} re f Q}}
\def\nopt#1{\expandafter\ignorept\the#1}

\def\setbasecolor#1{#1\expandafter\setbasecolorA#1\pdfblackcolor}
\def\setbgcolor#1{\expandafter\setbasecolorA#1\bgcolor}
\def\setbasecolorA#1#2#3{\def#3{#2}}

Als Beispiel:

\setbasecolor\Yellow
\setbgcolor\Blue

verwandte Informationen