Seite 1 von 1

Eigene Schalter für verschiedene Varianten

Verfasst: Sa 23. Jul 2011, 20:40
von knox
Hallo zusammen,

ich habe zwar schon gesucht, aber ich vermute mir fehlt hier lediglich der richtige Fachbegriff.

Ich möchte meine Arbeit für verschiedene Zwecke setzen: für den Druck, als Online Variante (PDF), ...

Ist es in Latex möglich, sich eine Variable zu definieren, und spezielle Einstellungen nur in Abhängigkeit des Wertes der Variable vornehme?

Beispiel:
Ist der Wert der Variable = "online", dann möchte ich eine bestimmte Farbe für meine hyperlinks, ist sie hingegen "druck", möchte ich meine hyperlinks schwarz

Ich hoffe Ihr versteht was ich meine.

Viele Grüße und vielen Dank im vorraus
Christian

Schalter für zwei Varianten

Verfasst: So 24. Jul 2011, 12:05
von localghost
Es gibt eine verhältnismäßig einfache TeXnische Lösung für zwei Versionen eines Dokuments. Am besten lässt sich das an einem Beispiel erläutern.
\documentclass[11pt,a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[dvipsnames]{xcolor}
\usepackage[colorlinks]{hyperref}

\newif\ifonline  % Neue bedingte Verzweigung
\onlinetrue      % Der eigentliche Schalter. '\onlinefalse' für die Druckversion.

\ifonline
  \colorlet{acolor}{black}
  \colorlet{ccolor}{green}
  \colorlet{fcolor}{cyan}
  \colorlet{lcolor}{blue}
  \colorlet{mcolor}{red}
  \colorlet{rcolor}{fcolor}
  \colorlet{ucolor}{magenta}
\else
  \colorlet{acolor}{black}
  \colorlet{ccolor}{black}
  \colorlet{fcolor}{black}
  \colorlet{lcolor}{black}
  \colorlet{mcolor}{black}
  \colorlet{rcolor}{black}
  \colorlet{ucolor}{black}
\fi

\hypersetup{%
  anchorcolor=acolor,
  citecolor=ccolor,
  filecolor=fcolor,
  linkcolor=lcolor,
  menucolor=mcolor,
  urlcolor=ucolor
}

\begin{document}
  \section{Foo}\label{chp:foo}
    \ref{chp:foo}
\end{document}
Es wird die bedingte Verzweigung \ifonline deklariert und zunächst auf wahr gesetzt. In den entsprechenden Zweigen erfolgt dann die Zuordnung der Farben.


Thorsten

Verfasst: So 24. Jul 2011, 12:18
von knox
Danke, genau was ich gesucht habe!