PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Tabelle mit diagonalen Linien über Zellengrenze hinweg



Stefan2902
22-03-2009, 10:10
Hallo,

ich würde gerne eine Tabelle in Latex erstellen, die aussieht, wie im Anhang beschrieben. Dabei sollten die Linien, falls möglich, Verbindungslinien sein.

Hat jemand eine Idee, wie das gehen könnte?

voss
22-03-2009, 10:59
ich würde gerne eine Tabelle in Latex erstellen, die aussieht, wie im Anhang beschrieben. Dabei sollten die Linien, falls möglich, Verbindungslinien sein.

Hat jemand eine Idee, wie das gehen könnte?


\documentclass[12pt]{article}

\usepackage{array,pst-node}
\newcommand\MC[1]{\multicolumn{1}{r}{#1}}
\begin{document}

\begin{tabular}{*4l}
& Schlecht & Mittel & Gut\\
Sprache & & \rnode{A}{X}\\
Politik & \rnode{B}{X}\\
Umwelt & & & \rnode{C}{X}
\end{tabular}
\ncline[linecolor=blue!50,linewidth=2pt]{A}{B}
\ncline[linecolor=blue!50,linewidth=2pt]{B}{C}

\end{document}

latex->dvips->ps2pdf als Profil wählen.


Herbert

Stefan2902
22-03-2009, 12:08
Leider erhalte ich folgende Fehlermeldung:

)
! Undefined control sequence.
<recently read> \c@lor@to@ps

l.13 ...ine[linecolor=blue!50,linewidth=2pt]{A}{B}


Fehlt mir ein Paket?

localghost
22-03-2009, 12:15
[...] latex->dvips->ps2pdf als Profil wählen. [...]
Dieser Hinweis wurde nicht umsonst gegeben. Du kannst bei Verwendung von pstricks (http://ctan.org/pkg/pstricks) nicht mit pdflatex kompilieren.


MfG
Thorsten¹

Stefan2902
22-03-2009, 12:29
Danke erstmal für die Rückmeldung.

Ich schreiben meine Abschlussarbeit mit Texshop auf einem Mac.

Als Ausgabeprofil habe ich unten dargestelltes Profil erstellt.

Ich würde gerne den PDF Output auch weiterhin benutzen. Wie muss ich das Profil denn anpassen, um diese Tabelle zu erstellen?



#!/bin/sh
bfname="`basename "$1" .tex`"
pdflatex "$1"
bibtex "$bfname"
bibtex "$bfname".gls
#makeindex "$bfname".nlo -s nomencl.ist -o "$bfname".nls
makeindex -s "$bfname".ist -t "$bfname".alg -o "$bfname".acr "$bfname".acn
makeindex -s "$bfname".ist -t "$bfname".glg -o "$bfname".gls "$bfname".glo
#makeindex -s "$bfname".ist -t "$bfname".slg -o "$bfname".syi "$bfname".syg
makeindex "$bfname".idx -c -g -l -s index.ist
makeindex -s index.ist "$bfname".idx -o "$bfname".ind
#makeindex -s index.ist "$bfname".adx -o "$bfname".and
pdflatex "$1"
pdflatex "$1"

voss
22-03-2009, 12:46
Ich schreiben meine Abschlussarbeit mit Texshop auf einem Mac.

Als Ausgabeprofil habe ich unten dargestelltes Profil erstellt.

Ich würde gerne den PDF Output auch weiterhin benutzen. Wie muss ich das Profil denn anpassen, um diese Tabelle zu erstellen?





#!/bin/sh
bfname="`basename "$1" .tex`"
latex "$1"
bibtex "$bfname"
bibtex "$bfname".gls
#makeindex "$bfname".nlo -s nomencl.ist -o "$bfname".nls
makeindex -s "$bfname".ist -t "$bfname".alg -o "$bfname".acr "$bfname".acn
makeindex -s "$bfname".ist -t "$bfname".glg -o "$bfname".gls "$bfname".glo
#makeindex -s "$bfname".ist -t "$bfname".slg -o "$bfname".syi "$bfname".syg
makeindex "$bfname".idx -c -g -l -s index.ist
makeindex -s index.ist "$bfname".idx -o "$bfname".ind
#makeindex -s index.ist "$bfname".adx -o "$bfname".and
latex "$1"
latex "$1"
dvips "$1"
ps2pdf "$1".ps


Herbert

mermshaus
22-03-2009, 12:51
Alternativ könnte man vielleicht PGF/TikZ verwenden. (siehe Anhang)

http://tug.ctan.org/cgi-bin/ctanPackageInformation.py?id=pgf


\documentclass[draft,a4paper,12pt,ngerman,parskip=half,titlepage, fleqn]{scrartcl}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage[babel,german=guillemets]{csquotes}
\usepackage[babel]{microtype}
\usepackage{lmodern}

\usepackage{tikz}
\usepackage{pgfmath}

% Helles Grau für Hilfslinien definieren
\definecolor{lightgray}{rgb}{0.8,0.8,0.8}

\begin{document}

\begin{figure}
\centering
\begin{tikzpicture}[scale=0.5]
% normale Skalierung (scale=1.0) entspricht: 1 TikZ-Einheit = 1 cm

% Hilfslinien (auskommentierbar)
\draw[color=lightgray,dashed] (0,0) grid (20,20);

% y-Achse
\foreach \i/\desc in {1/Sprache,2/Politik,3/Umwelt}
{
\pgfmathparse{20-2*\i};
\draw (4,\pgfmathresult) node[anchor=east] {\desc};
}

% x-Achse
\foreach \i/\desc in {1/schlecht,2/mittel,3/gut}
{
\pgfmathparse{2+4*\i};
\draw (\pgfmathresult,20) node[anchor=north] {\desc};
}

% Kreuze
\draw (10,18) node {x} (6,16) node {x} (14,14) node {x};

% Verbindungslinie
\draw[color=blue,thick] (10,18) -- (6,16) -- (14,14);

\end{tikzpicture}
\caption{Ein Test}
\end{figure}

\end{document}

Stefan2902
22-03-2009, 14:29
Leider bekomme ich nach der Änderung meines Profils weitere Fehlermeldungen, die sich auf andere Teile meiner Arbeit beziehen (hier: er kann ein Bild nicht finden). Bsp:



[]\OT1/cmr/m/n/12 XXXII
) [11] (./introduction.tex
Chapter 1.
) [1] (./fundamentals.tex
Chapter 2.

! LaTeX Error: File `pictures/india_flag' not found.

See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...

l.32 ...egraphics[scale=0.55]{pictures/india_flag}
\vspace{0.2cm}}\end{minipa...

?


Jemand eine Idee?

Stefan2902
22-03-2009, 14:53
Bei der Variante mit dem tikz package habe ich noch eine Rückfrage zur Formatierung.

Eigentlich ist die Tabelle ein wenig größer (siehe Anhang tab2.png). Kannst du mir erklären, wie ich das Design anpasse, damit das ähnlich deinem Beispiel ausssieht?

mermshaus
22-03-2009, 16:11
Ich bin selbst auch ziemlicher Anfänger mit dem PGF/TikZ und mache deshalb vermutlich die Dinge viel zu umständlich. In meinem Beispiel werden im Grunde nur Linien in einem (x,y)-Koordinatensystem gezogen (links unten ist (0,0)) und Textknoten (nodes) an Koordinaten ausgerichtet. Die \foreach-Schleifen sparen lediglich ein wenig Schreibarbeit (und machen es vielleicht etwas unflexibel).

Um auch noch ein wenig zu üben, habe ich das Beispiel mal mit den Daten aus deiner zweiten Grafik gefüllt (und leicht verändert). Es ist nicht so kompliziert, wenn du dich ein wenig in die Befehle einliest (im Grunde nur \draw und \foreach).

http://tug.ctan.org/tex-archive/graphics/pgf/base/doc/generic/pgf/pgfmanual.pdf


\documentclass[draft,a4paper,12pt,ngerman,parskip=half,titlepage, fleqn]
{scrartcl}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage[babel,german=guillemets]{csquotes}
\usepackage[babel]{microtype}
\usepackage{lmodern}

\usepackage{tikz}
%\usepackage{pgfmath}

% Helles Grau für Hilfslinien definieren
\definecolor{lightgray}{rgb}{0.8,0.8,0.8}

\begin{document}

\begin{figure}
\centering
\small
\begin{tikzpicture}[scale=0.5]
% normale Skalierung (scale=1.0) entspricht: 1 TikZ-Einheit = 1 cm
% Der linke untere Punkt einer TikZ-Grafik hat (sofern nichts in den negativen
% Wertebereich 'übersteht') die Koordinaten (0,0), alle weiteren Elemente sind
% entsprechend dazu ausgerichtet.

% Hilfslinien (auskommentierbar)
%\draw[color=lightgray,dashed] (0,0) grid (20,20);

% y-Achse
\foreach \i/\desc in {1/Language,2/Government support,3/Labor Pool,
4/Infrastructure,5/Educational system,6/Cost,
7/Political and economic environment,8/Cultural compatibility,
9/Global and legal maturity,
10/Data and intellectual property{,} security and pricavy}
{
\draw (8,20-2*\i) node[anchor=east,text width=5cm] {\desc};
}

% x-Achse
\foreach \i/\desc in {1/Poor,2/Fair,3/Good,4/Very Good,5/Excellent}
{
\draw (2+4*\i,20) node[anchor=north] {\desc};
% Spaltengrenzen einzeichnen
%\draw (4*\i,20) -- (4*\i,0);
}

% Kreuze
\draw (14,18) node {x} (10,16) node {x} (6,14) node {x} (22,12) node {x}
(22,10) node {x} (18,8) node {x} (14,6) node {x} (10,4) node {x}
(14,2) node {x} (18,0) node {x};

% Verbindungslinie
\draw[color=blue,thick] (14,18) -- (10,16) -- (6,14) -- (22,12) -- (22,10) --
(18,8) -- (14,6) -- (10,4) -- (14,2) -- (18,0);

% Das bekommt man bestimmt auch hin, ohne die Koordinatenpaare doppelt angeben
% zu müssen. Ich kenne mich dazu allerdings nicht gut genug mit TikZ aus.
% In etwa so vielleicht:

%\foreach \i/\value in {1/3,2/2,3/1,4/5,5/5,6/4,7/3,8/2,9/3,10/4}
%{
% \draw (2+4*\value, 20-2*\i) node {x};
%}

\end{tikzpicture}
\caption{Ein Test}
\end{figure}

\end{document}

voss
22-03-2009, 16:24
Leider bekomme ich nach der Änderung meines Profils weitere Fehlermeldungen, die sich auf andere Teile meiner Arbeit beziehen (hier: er kann ein Bild nicht finden). Bsp:



[]\OT1/cmr/m/n/12 XXXII
) [11] (./introduction.tex
Chapter 1.
) [1] (./fundamentals.tex
Chapter 2.

! LaTeX Error: File `pictures/india_flag' not found.

See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...

l.32 ...egraphics[scale=0.55]{pictures/india_flag}
\vspace{0.2cm}}\end{minipa...

?


Jemand eine Idee?

latex versteht bei Bildern nur das eps oder ps-Format. Entweder du wandelst die Bilder
nach eps oder erstellst eine einzelne pdf aus der Tabelle.

Herbert