PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : hyperref \urlcolor



menuhin
20-01-2010, 14:09
Hi,

hab mal wieder eine kleines Problem...

Möchte meine Email-Adresse als farbigen Link am Bildschirm darstellen (rot wäre gut :)). Die Email-Adresse soll also in der von mir verwendeten Schrift (Libertine) in rot erscheinen. Beim Ausdruck soll jedoch die von mir definierte Farbe "hellgrau" verwendet werden. (Natürlich ist der Unterschied bei einem s/w Drucker marginal.)

Laut Doku des Package hyperref wird beim Aktivieren der Option "colorlinks" die Farbe des Links leider nicht nur am Bildschirm dargestellt, sondern bleibt ebenso für den Ausdruck erhalten.

Was ist zu tun, damit die Email auf dem Papier in "hellgrau" erscheint?

Minimalbsp.


\documentclass{scrbook}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{hyperref}
\usepackage{color}
\definecolor{hellgrau}{gray}{0.3}
\hypersetup{%
colorlinks=true,
urlcolor=red}

\begin{document}
\url{peter.müller@t-online.de}
\end{document}

Merci und Gruss,
menuhin

edico
20-01-2010, 19:50
Soweit ich dich verstehe, könntest du 2 Versionen - für web und für print - generieren:

Das tex-file 'test.tex' sehe dann so aus:


\documentclass{scrbook}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{color}
\definecolor{hellgrau}{gray}{0.3}
\usepackage{hyperref}
\hypersetup{%
colorlinks=true,
%urlcolor=red
}

\begin{document}
\ifcase\modus
%%% case 0 : web
\hypersetup{urlcolor=red}%
\or
%%% case 1 : print
\hypersetup{urlcolor=hellgrau}%
\fi
\url{peter.müller@t-online.de}

\end{document}


Das 'Makefile' (im Arbeitsverzeichnis einbinden) sehe dann so aus.
Kompilieren an der Konsole mit dem cmd 'make all' (resp. andere Modifikationen):


# Generic Makefile_4_LaTeX: requires GNU make
# $Id: Makefile,v0.1 Mi 20. Jan 20:44:06 CET 2010 edico Exp$
# make all [clean, print, web]

file=test

clean :
rm -f $(file).{aux,log,nav,out,snm,toc}

web :
pdflatex '\def\modus{0} \input $(file)'
pdflatex '\def\modus{0} \input $(file)'
mv $(file).pdf $(file)-web.pdf
make clean

print :
pdflatex '\def\modus{1} \input $(file)'
pdflatex '\def\modus{1} \input $(file)'
mv $(file).pdf $(file)-print.pdf
make clean

all : web print


edico

menuhin
20-01-2010, 21:02
Hi Edico,
wow...so eine "Konstruktion" sehe ich zum ersten Mal.
Sorry, dass ich so dumm frage aber was genau heißt "ins Arbeitsverzeichnis einbinden"? Irgendwo in den texmf-Baum ablegen? Hab von Ubuntu wenig Ahnung.

Bin mir nicht sicher, ob deine Lösung mir weiter hilft. Die Email-Adresse ist Teil einer Bewerbung. Wenn ich die Bewerbung, also das pdf, verschicke soll eben nur am Bildschirm eine rote Email-Adresse als Link angezeigt werden. Sobald der potentielle Arbeitgeber das pdf druckt, soll die Email-Adresse jedoch "hellgrau" (wie im Minimalbeispiel definiert) erscheinen.

Im Minimalbeispiel ist mir ein Fehler unterlaufen. Statt \url sollte \href verwendet werden:


\documentclass{scrbook}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{hyperref}
\usepackage{color}
\definecolor{hellgrau}{gray}{0.3}
\hypersetup{%
colorlinks=true,
urlcolor=red}

\begin{document}
\href{mailto:peter.müller@t-online.de}{peter.müller@t-online.de}
\end{document}

Sorry. Mir ist noch eine andere nicht ganz perfekte Lösung eingefallen.
Ich definiere einfach ein Rot, dass etwas dunkler ist, so dass beim s/w-Drucken kein Unterschied sichtbar wird.

Dennoch würde mich interessieren wie man es richtig macht.

Viele Grüsse und Danke,

menuhin