Schalter für Schriftartenwechsel

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Schalter für Schriftartenwechsel

von nullkommanix » So 5. Okt 2014, 14:55

Ich spiele zur Zeit nur herum. Es geht nicht darum irgendetwas zu verstecken oder so. Meine Überlegung war rein für das Verständnis. Ich wollte sehen, ob man mit Hilfe von Schaltern, in einer anderen Datei, bestimmte Optionen an- und ausschalten kann. Offenbar geht das, danke.

von Johannes_B » So 5. Okt 2014, 14:25

Minimale Vorlage vs. maximale Probleme

Du musst das Initialisieren, lesen, auswerten trennen. Das geht auf verschiedene Art und Weise. Und genau bei der Reihenfolge des Ladens kannst du bei LaTeX schnell Probleme bekommen. Leider ist die Ladereihenfolge wichtig, hyperref sollte beispielsweise (fast immer) zuletzt geladen werden.
\begin{filecontents}{\jobname.cfg}
%\booltrue{arial}
%\arialtrue

\booltrue{coloredsections}
\end{filecontents}
\begin{filecontents}{\jobname.sty}

\ProvidesPackage{\jobname.sty}[2014/10/04 v1.0 Paket fuer Vorlage]
\ProcessOptions\relax

\RequirePackage{etoolbox}
\RequirePackage[T1]{fontenc}
\RequirePackage{lmodern}
\RequirePackage[ngerman]{babel}
\RequirePackage{babel}%<--------
\RequirePackage{blindtext}
\PassOptionsToPackage{xcolor}{x11names}
\RequirePackage{xcolor}
%\RequirePackage[x11names]{xcolor}
\colorlet{dispostioncolor}{blue}

\newbool{arial}
%und andere bools
\newbool{coloredsections}
\AtEndPreamble{\ifbool{coloredsections}{
	\addtokomafont{disposition}{\color{dispostioncolor}}}{}
}

\InputIfFileExists{\jobname.cfg}{\typeout{Processing
config}}{\typeout{Seems not config is needed, using defaults}}



\ifbool{arial}{
\RequirePackage{tgheros}
\renewcommand*\familydefault{\sfdefault}
}{\typeout{gute entscheidung}}


\endinput
\end{filecontents}
\documentclass[oneside,fontsize=12pt,
english%HÄH? ich hab doch aber english eingestellt?
]{scrreprt}
\usepackage{selinput}
\SelectInputMappings{adieresis={ä},germandbls={ß}}
\usepackage{\jobname}
%\usepackage[table]{xcolor}

\begin{document}
\tableofcontents
\blinddocument
\end{document} 
Wird hier beispielsweise keine Farbe gebraucht, warum dann das Paket überhaupt laden? Oder braucht der Nutzer vielleicht sogar farbige Tabellen? Dann lädt er xcolor mit der Option table und Bämm, optionclash.

Manche Optionen könnten sich auch logisch ausschließen, oder andere Optionen setzen.

Sei also auf der Hut.

Oder mit anderen Worten, hat der Nutzer die Wahl zwischen Apfel und Birne, dann fang auch ab wenn der Kaffee will.

»Sorry, coffee not available, for valent options type h«

von nullkommanix » So 5. Okt 2014, 12:43

\documentclass[oneside,fontsize=12pt]{scrreprt}
\usepackage{selinput}
\SelectInputMappings{adieresis={ä},germandbls={ß}}
\usepackage{mein-package}
\input{config/main.tex}

\begin{document}
\chapter{test}
\blindtext
\end{document}
mein-package.sty
\ProvidesPackage{mein-package}[2014/10/04 v1.0 Paket fuer Vorlage]
\ProcessOptions\relax

\RequirePackage[T1]{fontenc}
\RequirePackage{lmodern}
\RequirePackage[ngerman]{babel}
\RequirePackage{blindtext}

% Schalter für Arial
\newif\ifarial
\ifarial
\RequirePackage[scaled]{uarial}
\renewcommand*\familydefault{\sfdefault}
\fi
main.tex
% Wenn es unbedingt in Arial sein soll, dann auskommentieren
%\arialtrue
Ich dachte an eine generelle Antwort auf eine generelle Frage.

von Johannes_B » So 5. Okt 2014, 12:24

Sollen wir jetzt ein dummy Paket und eine config vorbereiten, eine Lösung erarbeiten, erklären, nur um dann zu lesen: »Ach, nee, so hab ich das nicht gemeint, der Aufbau ist ganz anders. Sorry.«

Minimalbeispiel

Schalter für Schriftartenwechsel

von nullkommanix » So 5. Okt 2014, 12:20

Mahlzeit,

ich habe einen Schalter gebastelt, der auf uarial schalten soll:
% Schalter für Arial
\newif\ifarial
% Wenn es unbedingt in Arial sein soll, dann auskommentieren
%\arialtrue
\ifarial
\RequirePackage[scaled]{uarial}
\renewcommand*\familydefault{\sfdefault}
\fi
Ich möchte das die Anweisung im meinem package steht und der Schalter \arialtrue aus einer config Datei bedient wird. Meine Vermutung ist, dass das nicht funzt. Wer widerlegt meine Hypothese?


Guten Appentit

Nach oben