PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Tabelle 1:1 umsetzen



ckler
14-07-2012, 03:17
Hallo zusammen!

Ich verzweifle langsam :) Ich möchte/muss die folgende Tabellen im Anhang mit LaTeX möglichst 1:1 umsetzten. Ein Einbinden eines Scans per PDF reicht nicht, da ich Werte hinzufügen bzw. verändern muss.

http://mrunix.de/forums/attachment.php?attachmentid=5308&stc=1&d=1342232017

Hat jemand einen Tipp, wie ich das realisieren kann? Ich bin auch für Teillösungen dankbar!

Ich probiere es jetzt schon seit Tagen, jedoch bekomme ich es leider einfach nicht hin.

Danke und schöne Grüße!

Christian

rais
14-07-2012, 06:09
Hallo und Herzlich Willkommen :)


Ich probiere es jetzt schon seit Tagen, jedoch bekomme ich es leider einfach nicht hin.

es wäre vorteilhaft, wenn Du zumindest Deinen letzten Versuch in Form eines Minimalbeispiels hier präsentieren würdest.

Wie dem auch sei, hier ein möglicher Ansatz zu den Balken:


\documentclass{article}
\usepackage[table]{xcolor}
\usepackage[official]{eurosym}
\newlength\myposmax
\newlength\mynegmax
\newlength\mybarlength
\newlength\mybarheight
\setlength\mybarheight{2ex}
\setlength\myposmax{43.2pt}
\setlength\mynegmax{-17.4pt}

\newcommand*\mybar[1]{%
\setlength\mybarlength{#1pt}%
\ifdim\mybarlength<0pt\relax %wenn negativ...
\parbox{-2\mynegmax}{\hfill\color{red}\rule{-2\mybarlength}{\mybarheight}}%
\parbox{2\myposmax}{~}
\else
\parbox{-2\mynegmax}{~}%
\parbox{2\myposmax}{\color{blue}\rule{2\mybarlengt h}{\mybarheight}}
\fi
\parbox{2.5em}{\hfill#1} Mrd. \euro
}

\begin{document}
\begin{tabular}{ll}
Land & \multicolumn{1}{r}{Ertrag\phantom{. \euro}}\\
China & \mybar{43,2}\\
USA & \mybar{26,7}\\
Griechenland & \mybar{-17,4}\\
Italien & \mybar{-10,0}\\
\end{tabular}
\end{document}

MfG

ckler
15-07-2012, 21:33
Dank deiner Antwort, Rais, konnte ich das jetzt hinbiegen, auch wenn mich diese doof Effekte mit den \hline stören.

wie bekomme ich es wohl hin, dass ich einen Balken gestalten kann, der (sagen wir mal) einen Wert von 23% hat, jedoch aus 10 % Frauen und 13 % Männern besteht? Natürlich soll der Balken dann bei 10% eine andere Farbe bekommen und die restlichen 13% in dieser darstellen. Also z.B. die Frauen in rot und die Männer in blau?

Wäre cool, wenn ihr mir damit noch helfen könntet. Hat jemand zudem noch eine tolle Idee, wie ich eine graue, gepunktete \hline hinbekomme? Ein kleines Beispiel dazu wäre nett :)

Vielen lieben Dank!

Christian

PS: Hier mein Code soweit:



\documentclass{article}
\usepackage[table]{xcolor}
\usepackage[official]{eurosym}
\usepackage{color}
\usepackage{colortbl}

\newlength\myposmax
\newlength\mynegmax
\newlength\mybarlength
\newlength\mybarheight
\setlength\mybarheight{2ex}
\setlength\myposmax{22pt}
\setlength\mynegmax{-9pt}

\begin{document}

\definecolor{negativ}{HTML}{FF1020}
\definecolor{positiv}{HTML}{0E6FD7}
\definecolor{zelle}{HTML}{A0262E}
\definecolor{hellgrau}{HTML}{ECECEC}
\definecolor{grau}{HTML}{CDCDCD}

\newcommand*\mybar[1]{%
\setlength\mybarlength{#1pt}%
\ifdim\mybarlength<0pt\relax %wenn negativ...
\parbox{-2\mynegmax}{\hfill\color{negativ}\rule{-2\mybarlength}{\mybarheight}}%
\parbox{2\myposmax}{~}
\else
\parbox{-2\mynegmax}{~}%
\parbox{2\myposmax}{\color{positiv}\rule{2\mybarle ngth}{\mybarheight}}
\fi
%\parbox{2.5em}{\hfill#1} Mrd. \euro
}

\begin{tabular}{llllr}
\multicolumn{2}{c}{Die profitabelsten Banken} & Land & & \multicolumn{1}{c}{Ertrag}\\
\hline
\cellcolor{zelle}1&\cellcolor{grau} ICBC &\cellcolor{hellgrau} China & \mybar{21,6} & 43,2 Mrd. \euro \\
\arrayrulecolor{grau}\hline
\cellcolor{zelle}2&\cellcolor{grau} China Construction Bank &\cellcolor{hellgrau} China & \mybar{21,6} & 43,2 Mrd. \euro \\
\arrayrulecolor{grau}\hline
\cellcolor{zelle}3&\cellcolor{grau} Bank of China &\cellcolor{hellgrau} China & \mybar{-8,6} & -17,2 Mrd. \euro \\
\arrayrulecolor{grau}\hline
\cellcolor{zelle}4&\cellcolor{grau} JP Morgan Chase &\cellcolor{hellgrau} USA & \mybar{21,6} & 43,2 Mrd. \euro \\
\arrayrulecolor{grau}\hline
\cellcolor{zelle}5&\cellcolor{grau} Agricultural Bank of China &\cellcolor{hellgrau} China & \mybar{21,6} & 43,2 Mrd. \euro \\
\hline
\end{tabular}

\end{document}

rais
16-07-2012, 13:20
Moin moin,


wie bekomme ich es wohl hin, dass ich einen Balken gestalten kann, der (sagen wir mal) einen Wert von 23% hat, jedoch aus 10 % Frauen und 13 % Männern besteht? Natürlich soll der Balken dann bei 10% eine andere Farbe bekommen und die restlichen 13% in dieser darstellen. Also z.B. die Frauen in rot und die Männer in blau?

bräuchtest Du dazu nicht bloß zwei entsprechend breite Balken aneinander zu setzen?
Etwa


\documentclass{article}
\usepackage[table]{xcolor}

\newlength\mfbarmax
\newlength\mfbartotal
\newlength\mfbarheight
\setlength\mfbarheight{2ex}
\setlength\mfbarmax{2cm}

\definecolor{fstbar}{HTML}{FF1020}
\definecolor{sndbar}{HTML}{0E6FD7}

\newcommand*\mfbar[2]{%
\setlength\mfbartotal{#1\mfbarmax}%
\addtolength\mfbartotal{#2\mfbarmax}%
\ifdim\mfbartotal>\mfbarmax\relax %wenn zusammen über 100%...
\typeout{Warnung: mfbar > 100\%! (#1+#2)}%
\fi
\parbox{\mfbarmax}{%
\color{fstbar}\rule{#1\mfbarmax}{\mfbarheight}%
\color{sndbar}\rule{#2\mfbarmax}{\mfbarheight}%
}%
}
\begin{document}
\mfbar{0.1}{0.13}

\mfbar{0.23}{0.37}

\mfbar{0.6}{0.5}
\end{document}



Hat jemand zudem noch eine tolle Idee, wie ich eine graue, gepunktete \hline hinbekomme? Ein kleines Beispiel dazu wäre nett :)

druck es aus und scan es wieder ein;-)

BTW: wenn Du xcolor mit table-Option lädst, ist ein zusätzliches Laden von color und colortbl imho bestenfalls überflüssig.

MfG

Xenara
16-07-2012, 19:23
Für gepunktete Linien, schau dir mal das Paket mit dem unaussprechlichen Namen "arydshln (http://www.ctan.org/tex-archive/macros/latex/contrib/arydshln/)" an.
(Punkte sind nur ganz kurze Striche.)