Farbverlauf auf einem Zeichen

Tabellen und Grafiken erstellen und anordnen


Stefan Knauf
Forum-Anfänger
Forum-Anfänger
Beiträge: 23
Registriert: Di 11. Okt 2011, 20:35

Farbverlauf auf einem Zeichen

Beitrag 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

Benutzeravatar
Sepp99
Forum-Meister
Forum-Meister
Beiträge: 1569
Registriert: So 29. Aug 2010, 17:26
Wohnort: Offenhausen/OÖ

Beitrag 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.-

Stefan Knauf
Forum-Anfänger
Forum-Anfänger
Beiträge: 23
Registriert: Di 11. Okt 2011, 20:35

Beitrag 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
Zuletzt geändert von Stefan Knauf am Do 14. Jun 2012, 00:05, insgesamt 1-mal geändert.

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag 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

Stefan Knauf
Forum-Anfänger
Forum-Anfänger
Beiträge: 23
Registriert: Di 11. Okt 2011, 20:35

Klappt

Beitrag 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
Dateianhänge
Beispiel zum Farbübergang.pdf
Beispiel, dass hell und dunkel vertauscht sind
(22.58 KiB) 406-mal heruntergeladen

Antworten