Seite 1 von 1

Farbverlauf auf einem Zeichen

Verfasst: Di 12. Jun 2012, 23:45
von Stefan Knauf
Hallo Leute!

Ich würde gerne innerhalb einer TikZ-Grafik ein mathematisches Sonderzeichen schattieren, die Farbe des Zeichens soll von links nach rechts von einem dunklen in einen hellen Grauton übergehen - etwa so, wie in http://www.math.uni-leipzig.de/~hellmun ... gf-tut.pdf auf Seite 6 die Flächen schattiert sind, nur dass das Zeichen schattiert sein soll. Wie ist das machbar? Am Ende soll das ganze in ein PDF-Dokument eingebunden werden.
Leider habe ich nur lauter Beispiele gefunden, wie sich Flächen schattieren lassen, keine Beispiele für Zeichen oder Linien.
Hier mal ein Minimalbeispiel (natürlich noch ohne Schattierung):
\documentclass[a4paper, 12pt]{scrreprt}
\usepackage{amssymb} % für \smallfrown

\usepackage{tikz}

\begin{document}
\begin{tikzpicture}
\path (0cm,0cm) node {\(\smallfrown\)};
\end{tikzpicture}
\end{document}
Vielen Dank im Voraus für Antworten!

MfG
Stefan

Verfasst: Di 12. Jun 2012, 23:57
von Sepp99
Das wird dir so nicht gelingen. Vielleicht hilft dir http://www.texample.net/tikz/examples/emoticons/ weiter. Diese Codes habe ich auch in dem Skriptum [3] verwendet.

Gruß, Sepp.-

Verfasst: Mi 13. Jun 2012, 01:36
von Stefan Knauf
Hallo Sepp!

Schade. Ich habe eine Grafik, die eine Art Zahlenstrahl ist, über dem ein paar Symbole in verschiedenen Grautönen stehen. Zwischen Symbolen in verschiedenen Grautönen steht das Zeichen \smallfrown, es gehört so halb zu den Symbolen rechts von ihm und so halb zu denen links von ihm. Deswegen würde es gut passen, wenn das Zeichen \smallfrown stufenlos vom einen in den anderen Grauton überginge.
Aber wenn das nicht geht, kenne ich wenigstens etwas, das LaTeX nicht kann.

MfG
Stefan

Verfasst: Mi 13. Jun 2012, 16:36
von esdd
Hallo,

ganz ausgeschlossen ist es nicht. Leider kommt aber mit dem Ergebnis des folgenden Codes nicht jeder pdfViewer klar.
\documentclass[a4paper, 12pt]{scrreprt}
\usepackage{amssymb} % für \smallfrown
\usepackage{lipsum}

\usepackage{tikz}
\newlength\mydepth

\newcommand\Farbverlauf[4][baseline=(O.base)]{%
  \settodepth\mydepth{#4}%
  \pgfdeclarefading{myfading}{\color{white}#4}%
  \begin{tikzpicture}[#1]%
    \node[inner sep=0pt,outer sep=0pt](O){\phantom{#4}};
    \path[use as bounding box] (O.south west) rectangle (O.north east);
    \pgfsetfading{myfading}{\pgftransformshift{\pgfpoint{0cm}{-\mydepth}}}%
    \shade[left color=#2,right color=#3] (O.south west) rectangle (O.north east);%
  \end{tikzpicture}%
}

\begin{document}

\begin{tikzpicture}
\path(-0.3,0)node[text=black!90,inner sep=0pt, outer sep=0pt]{$\smallfrown$}--%
  (0,0)node[inner sep=0pt,outer sep=0pt]{\Farbverlauf{black!100}{black!0}{$\smallfrown$}}--%
  (0.3,0)node[text=black!10,inner sep=0pt, outer sep=0pt]{$\smallfrown$};%
\end{tikzpicture}

\tikz\node[text=black!90,inner sep=0pt, outer sep=0pt]{$\smallfrown$};%
\Farbverlauf[]{black!100}{black!0}{$\smallfrown$}%
\tikz\node[text=black!10,inner sep=0pt, outer sep=0pt]{$\smallfrown$};%

\Farbverlauf{yellow}{red}{$\pi$}

Ein Satz zum Testen der Ausgabe: \Farbverlauf{green!80}{yellow!80!black}{Ein Satz zum Testen der Ausgabe.}

\Farbverlauf{blue}{red}{\parbox{0.9\linewidth}{\lipsum[1]}}

\end{document}
Wenn es nur um Grautöne geht, hilft vielleicht auch das Folgende:
\documentclass[a4paper, 12pt]{scrreprt}
\usepackage{amssymb} % für \smallfrown

\usepackage{tikz}
\usetikzlibrary{fadings}
\tikzfading[name=myfade,left color=transparent!0,right color=transparent!100]

\begin{document}

\tikz\node[opacity=0.9,inner sep=0pt, outer sep=0pt]{$\smallfrown$};%
\tikz\node[scope fading=myfade,inner sep=0pt, outer sep=0pt]{$\smallfrown$};%
\tikz\node[opacity=0.1,inner sep=0pt, outer sep=0pt]{$\smallfrown$};%

\end{document}
Gruß
Elke

Klappt

Verfasst: Do 14. Jun 2012, 02:43
von Stefan Knauf
Hallo Elke!

Danke! Ich habe Dein zweites Lösungskonzept übernommen, weil mich bei Deinem ersten Deine Aussage abschreckte, dass damit nicht alle PDF-Viewer klarkämen.
Mit Deinem Konzept konnte ich genau das tun, was ich wollte.

Was mich verwirrt, ist jedoch, dass man dabei quasi hell und dunkel vertauschen muss. Zumindest führt dabei bei mir folgender Code zum angehangenen Ergebnis:
\documentclass[a4paper, 12pt]{scrreprt}
\usepackage{amssymb} % für \smallfrown


\usepackage{tikz}
\usetikzlibrary{fadings} % für das Kommando \tikzfading, um stufenlose Farbübergänge auf mathematischen Symbolen zu ermöglichen


\begin{document}
\begin{figure}
\definecolor{FarbeI}{gray}{0.1}
\definecolor{FarbeII}{gray}{0.7}
\definecolor{FarbeIk}{gray}{0.9}
\definecolor{FarbeIIk}{gray}{0.3}
\tikzfading[name=Schwarz-Weisz, left color=white, right color=black] % Hier scheint LaTeX schwarz und weiß zu verwechseln! ?¿?
\tikzfading[name=I-II, left color=FarbeIk, right color=FarbeIIk] % Hier scheint LaTeX hell und dunkel zu verwechseln! ?¿?
\begin{tikzpicture}[scale=1]
\path (0cm,1cm) node[scope fading=Schwarz-Weisz, inner sep=0pt, outer sep=0pt][label={right:Schwarz-Weisz}] {\(\smallfrown\)};
\path (0cm,0cm) node[scope fading=I-II, inner sep=0pt, outer sep=0pt][label={right:I-II}] {\(\smallfrown\)};
\end{tikzpicture}
\end{figure}
\end{document}
Um einen Übergang von \definecolor{FarbeI}{gray}{0.1} nach \definecolor{FarbeII}{gray}{0.7} zu erhalten, muss ich einen Übergang von \definecolor{FarbeIk}{gray}{0.9} nach \definecolor{FarbeIIk}{gray}{0.3} angeben.

MfG
Stefan