Hallo! Ich habe kürzlich auf dem Matheplaneten eine interessante Frage zu folgendem (HTML-)Bild, hier ein Ausschnitt, gelesen. Die Frage war: Wie läßt sich sowas 'automatisch' umsetzen; also sprich automatische Tabellenanpassung, Farbwahl etc., am ehesten vll. sogar so, daß man die Namen nicht mehr direkt in die Tabelle schreiben muß, sondern automatisch in eine Tabellenposition hinzufügt. Danke fürs Lesen und das Interesse! gefragt 27 Apr '14, 22:33 cis |
Hallo cis, gehts hier noch weiter? Eine Antwort nach Stefans Ansatz, das Ganze als Fließtext zu behandeln. (textcolor{farbe}{q}) dient nur als Abstandshalter) Open in writeLaTeX
\documentclass[10pt,a4paper]{article}% \usepackage[utf8]{inputenc}% \usepackage[ngerman]{babel}% \usepackage{xcolor} \newcommand{\person}[2]{\definecolor{farbe}{rgb}{#2}\colorbox{farbe}{\dotfill\hfil\textcolor{farbe}{q}#1}\colorbox{farbe}{\textcolor{farbe}{Iq}}\ \hspace{-1em}\hfil} \def\first{\person{Maria}{0.6,0.2,0.3}}\def\second{\person{Franziska}{0.6,0.7,0.3}}\def\third{\person{Franz}{0.9,0.7,0.3}}\def\fourth{\person{Tim}{0.6,0.4,0.3}}\def\fifth{\person{Immanuel Kant}{0.5,0.5,0.5}} \parindent=0pt \begin{document}% \first\second\fifth\third\fourth\first\second\third\fifth\fourth\first\second\third\fourth\first\second\third\fourth\first\fifth\second\third\fourth\first\second\third\fourth\first\second\third\fourth\first\second\third\fourth\fourth\first\fourth\first\fifth \end{document}% beantwortet 20 Mai '14, 22:09 ctansearch Wow, das sieht sehr gut aus! Da solltest ein Bild ergänzen, daß die Leute mal sehen, was da los ist ;)
(20 Mai '14, 22:22)
cis
PS: Ich hatte halt irgendwie gehofft, man gibt nur noch die Namen ein und erhält den Rest (Farbe, Position,...) autom.
(20 Mai '14, 22:23)
cis
@cis Das hängt dann davon ab, wovon die Farbe und Position abhängen... Hat jede Person ihre eigene Farbe, oder hat jede Position ihre eigene Farbe, oder ändern sich Farbe und Position zufällig? Das heißt: Haben Farbe und Position einen Informationswert, oder soll es nur einfach bunt sein?
(20 Mai '14, 22:41)
ctansearch
@cis Ach übrigens, Du hast auch viele offene Fragen, ca 11, Könntest Du mal durchsehen, welche Du als beantwortet kennzeichnen kannst?. Ich gehe gerade die Seiten nach offenen Fragen durch, nur so, wegen der Systematik.
(20 Mai '14, 22:46)
ctansearch
Ja, die Farbzuordnung weiß ich auch nicht so recht, am besten willkürlich. Ich habe gerade etwas ausprobiert; den Rest könnte man vll. mit ein paar foreach-Schleifen hinbekommen: \foreach[] \N in {Paul, Monika, ...}
(20 Mai '14, 23:52)
cis
|
Vielleicht mit dem völlig abgefahrenen Paket "NOX"? nox.sty Man beachte Heinz-Günther und Martina in der letzten Zeile. Open in writeLaTeX
\documentclass[10pt,a4paper]{article}% \usepackage[utf8]{inputenc}% \usepackage[ngerman]{babel}% \usepackage[colspecstaysintable,c]{nox} \usepackage{amsmath,graphicx,tabularx,xcolor} \author{ctansearch,rais} \begin{document}% \renewcommand\cellflush{\centering} \deflintab{\nox\framebox{\nox\colorbox{red}{Berthold}},\nox\framebox{\nox\colorbox{green}{Karl-Otto}},\nox\framebox{\nox\colorbox{green}{Fritz}},\nox\framebox{\nox\colorbox{green}{Lisa-Maria}},\nox\framebox{\nox\colorbox{green}{Martina}},\nox\framebox{\nox\colorbox{red}{Berthold}},\nox\framebox{\nox\colorbox{green}{Karl-Otto}},\nox\framebox{\nox\colorbox{green}{Fritz}},\nox\framebox{\nox\colorbox{green}{Marina}},\nox\framebox{\nox\colorbox{green}{Martina}},\nox\framebox{\nox\colorbox{green}{Martina}},\nox\framebox{\nox\colorbox{green}{Martina}},\nox\framebox{\nox\colorbox{green}{Martina}},\nox\framebox{\nox\colorbox{green}{Martina}},\nox\framebox{\nox\colorbox{green}{Martina}},\nox\framebox{\nox\colorbox{green}{Martina}},\nox\framebox{\nox\colorbox{green}{Franziska}},\nox\framebox{\nox\colorbox{green}{Heinz-Günther}},\nox\raisebox{1\baselineskip}{\nox\kern+2.5em\nox\framebox{\nox\colorbox{white}{Martina}}}} \tntabledimen{1}{4} \tntab[4]{22}{22/4} \end{document} beantwortet 27 Apr '14, 23:41 ctansearch Das Nox-Paket ist glaub gar nicht so unbekannt. Ich schaue es mir nacher mal genauer an ;) Insgeheim hoffe ich ja immer noch auf eine elegante TikZ-Lösung. Bin auch schon dran, manches ist da für mich nicht ganz einfach.
(27 Apr '14, 23:57)
cis
|
Oder mit longtable, wie so oft... Open in writeLaTeX
\documentclass[10pt,a4paper]{article}% \usepackage[utf8]{inputenc}% \usepackage[ngerman]{babel}% \usepackage[colspecstaysintable,c]{nox} \usepackage{amsmath,graphicx,tabularx,xcolor,longtable} \begin{document}% \setlength{\tabcolsep}{-0.1em}% \begin{longtable}{p{1em}p{1em}p{1em}p{1em}p{1em}p{1em}p{1em}p{1em}p{1em}p{1em}p{1em}p{1em}p{1em}p{1em}p{1em}p{1em}p{1em}p{1em}p{1em}p{1em}p{1em}p{1em}p{1em}p{1em}p{1em}p{1em}p{1em}p{1em}p{1em}p{1em}p{1em}p{1em}p{1em}p{1em}p{1em}p{1em}}% \multicolumn{13}{l}{\colorbox{red}{\framebox{Heinz-Günther\dots}}}&% \multicolumn{9}{l}{\colorbox{green}{\framebox{Franziska}}}&% \multicolumn{7}{l}{\colorbox{blue}{\framebox{Martina}}}\\% \multicolumn{7}{l}{\colorbox{red}{\framebox{Herbert}}}&% \multicolumn{3}{l}{\colorbox{green}{\framebox{Fred}}}&% \multicolumn{7}{l}{\colorbox{blue}{\framebox{Judith}}}&% \multicolumn{7}{l}{\colorbox{red}{\framebox{Bettina}}}&% \multicolumn{7}{l}{\colorbox{red}{\framebox{Rea}}}&\\ \multicolumn{7}{l}{\colorbox{red}{\framebox{Stefanie}}}&% \multicolumn{4}{l}{\colorbox{green}{\framebox{Werner}}}&% \multicolumn{7}{l}{\colorbox{blue}{\framebox{Micha}}}&% \multicolumn{7}{l}{\colorbox{red}{\framebox{Anton}}}&\\ \end{longtable}% \end{document}% beantwortet 28 Apr '14, 02:11 ctansearch Mmmh, das Problem ist halt, wenn ich es richtig sehe, daß man die Zuordnung selbst vornehmen muß. Damit können wir gegen die HTML-Lösung noch nicht auftrumpfen. Vom Bild her paßt es schonmal.
(28 Apr '14, 02:39)
cis
@cis Naja, die Zuordnung ist auch kein Problem, die Tabellenzellen kann man benennen und so eine Standardtabelle erstellen und die Zuordnung nach beliebigen Kritierien vornehmen, z.B. Punktezahl oder alphabetisch.
(28 Apr '14, 02:56)
ctansearch
|
Eigentlich ist es ja keine Tabelle, da keine Spalten vorhanden sind. Es ist wie farbig markierter Fließtext mit größeren Wortabständen. Am Rand müssen die "Ziegelsteine" natürlich passen. Das können wir TeX mit seinem Blocksatz erledigen lassen. Dann könnte man mit einer Funktion die Wörter gleichmäßig und überlappungsfrei rahmen und färben lassen. Das klingt nach einer möglichen Anwendung von
xesearch
(kann Wörter automatisch finden und behandeln) oder LuaTeX. Sehr interessant!Wegen der Farbwahl dachte ich an eine "Schleife" und wegen den verschieden großen Zellen dachte ich spontan an eine "TikZ-Matrix".
Ohne Spalten statt Matrix einfach Node-Ansammlung, dann mit Schleife und durchwechselnden Stilen, ja, wäre eine Möglichkeit. Ich denke an geraden rechten Rand. Beim Original wird der Rand beim Text nicht gleichmäßig eingehalten, nur mit den Rahmen, also könnte man hier auch den letzten Node etwas dehnen/stauchen, damit es passt. Oder alle in der Zeile. Oder verlässt sich auf den horizontalen Ausgleich von LaTeX. Daher fand ich gerade die Idee, den Text mit TeX setzen zu lassen und per "Hook" einfärben zu lassen, toll.
Mir ist gerade aufgefallen, im "Original" kann man auch den HTLM-Code einsehen: Puh, also das MUSS einfacher gehen!