PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Diagramm (Boxen, Pfeile)



W2K2005
26-08-2006, 10:05
Hallo,

ich möchte mit LateX ein Diagramm erstellen, was Boxen (mit Schatten) mit Pfeilen verbindet. Dabei möchte ich in die Boxen Formeln, Texte setzen können und auch die Pfeile beschriften können.
Leider habe ich gar keine Ahnung, welche Klassen ich dazu benötige. Es wäre toll, wenn Ihr mir eine Referenz angeben könntet, von der ich mir dann einiges abgucken kann.

Vielen Dank für die Unterstützung.

Beispiel:


|----------| |----------|
| | test | |
| Text | --------------> | |
| | | |
|----------| |----------|

voss
26-08-2006, 13:50
Hallo,

ich möchte mit LateX ein Diagramm erstellen, was Boxen (mit Schatten) mit Pfeilen verbindet. Dabei möchte ich in die Boxen Formeln, Texte setzen können und auch die Pfeile beschriften können.
Leider habe ich gar keine Ahnung, welche Klassen ich dazu benötige. Es wäre toll, wenn Ihr mir eine Referenz angeben könntet, von der ich mir dann einiges abgucken kann.



|----------| |----------|
| | test | |
| Text | --------------> | |
| | | |
|----------| |----------|




\documentclass[12pt,ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage{pstricks,pst-node}

\begin{document}

\rnode{A}{\psshadowbox{\parbox{4cm}{%
\[
\left( \frac{p_{11}p_{ij}}{p_{1j}p_{i1}} \right)\left(\frac{p_{11}p_{i'j'}}{p_{1j'}p_{i'1}} \right)
\]}}}%
\hspace*{4cm}%
\rnode{B}{\psshadowbox{\parbox{2cm}{%
Hier kann irgendeine Erklärung oder sonstwas stehen}}}
\ncline[arrows=->,arrowscale=2]{A}{B}
\naput{Und hier Text}

\end{document}

Herbert

W2K2005
26-08-2006, 17:46
Hi,

wenn ich das compiliere, erhalte ich 21 Fehler.
Es geht los mit:

!Undefined control sequence
<recently read> \c@lor@tops
1.10 ..._{11}p_{i'j'}}{p_{1j'}p_{i'1}}\right)\]}}}
....

bischi
26-08-2006, 17:48
Mittels latex und nicht mittels pdflatex kompilieren...

MfG Bischi

W2K2005
26-08-2006, 18:46
hi,

ich benutze das texniccenter. was muss ich denn genau dafür ändern?

vielen dank.

bischi
26-08-2006, 20:41
dvi oder ps erstellen - und nicht direkt pdf!

Mfg Bischi

W2K2005
26-08-2006, 20:53
Hallo,

vielen Dank für die Erklärungen!!!
Ich habe jetzt ein DVI erzeugt - schaut sehr schön aus?

Noch einige kurze Nachfragen:
1. In dem Dokument l2picfaq.pdf weist Du u.a. auf die Probleme hin, mit denen ich zu kämpfen habe. Wenn ich ein ps-File erzeuge und dieses dann als pdf konvertiere, sind die Boxen und der Pfeil nicht mehr zu sehen (auch, wenn ich die Umgebung postscript um den Code setze.) Was muss ich ändern, damit auch das ps-Dokument noch meine Diagramme richtig darstellt (Der DVI-Viewer stellt die Boxen/Pfeile dar)?
Kann man in das TexnicCenter (oder einen anderen freien LateX-Editor) die Wandlung ps->pdf oder dvi->pdf implementieren, so dass diese unmittelbar nach der Konvertierung ausgeführt wird?
2. Ich muss die Diagramme in ein Dokument implementieren, in welchem sich einige Bilder (JPGs) befinden. Muss ich diese alle in EPS wandeln, um das Diagramm einzufügen?
3. Wie kann man die Linienstärke der Boxen und des Pfeils verstärken/breiter machen?

Vielen Dank.

MfG,

W2K2005

W2K2005
26-08-2006, 22:50
OK.

Die Anleitung (l2picfaq.pdf) ist sehr gut.
--> Ich erzeuge jetzt ps-Dateien und konvertiere diese in pdfs. Geht auch automatisch aus dem TexnicCenter. Ich verstehe allerdings noch nicht, warum das Seitenformat (A4) aufgehoben wird. Das pdf besteht nur noch aus einem Streifen, welcher die beiden Boxen enthält.

bischi
26-08-2006, 23:04
Und wenn dus über Kommandozeile von ps nach pdf konvertierst? Ich kann mich nicht errinnern, dass dies mit Texniccenter geht...

MfG Bischi

W2K2005
26-08-2006, 23:31
Man kann im TexnicCenter unter den Ausgabeprofilen über den Reiter "Nachbearbeitung" noch weitere Aufgaben definieren, die nach der PS-Erzeugung ausgeführt werden.
Ich habe dort eine Aktion PS2PDF definiert, die die Anwendung ps2pdf.exe aufruft. Als Argument übergibt man "%Bm.ps"

Kannst Du bitte kurz auf meinen Code gucken. Ich habe folgende Probleme:
1. Die Ausrichtung ist merkwürdig. Wenn ich \put als y-Argument 297 übergebe, ist die Box nicht mehr sichtbar.
2. Die Überschrift erscheint nicht. Wieso?



\documentclass[12pt, oneside, bibtotoc]{article} % scrartcl
\usepackage[latin1]{inputenc}
\usepackage{varioref}
\usepackage{ngerman, multicol}
\usepackage{color,graphicx}
\usepackage{fancyhdr}
\usepackage{pdflscape}
\usepackage{verbatim}
\usepackage{tabularx}
\usepackage{anysize}
\usepackage{setspace}
\usepackage{footmisc}
\usepackage{times}
\usepackage{pstricks, pst-node, pst-pdf}
\usepackage{colortbl,hhline,color,graphicx}
\usepackage{fancyhdr,fancyvrb,fancybox,amsmath,acc ents}
\usepackage{verbatim,makeidx,moreverb,tabularx,arr ay}
\usepackage[lflt]{floatflt}
\usepackage[hang,nooneline,footnotesize]{caption2}
\usepackage[left=1.75cm, right=1.75cm, top=1.0cm, bottom=1.9cm, headheight=1cm, headsep=1.5cm, footskip=0cm, includeheadfoot]{geometry}
\usepackage[lflt]{floatflt}
\usepackage{url,listings}
\usepackage[pdftex, colorlinks=true, linkcolor=blue]{hyperref}

% ************************************************** *****************************************

\pagestyle{fancy}
\fancyhf{}
\setlength{\parskip}{1ex}
\setlength{\parindent}{0em}
\onehalfspacing% Zeilenabstand vergrößern, alternativ: \doublespacing

\lhead[\fancyplain{}{\thepage}]{\fancyplain{}{\rightmark}}
\rhead[\fancyplain{}{\thepage}]{\fancyplain{}{\thepage}}
\chead[\fancyplain{}{}]{\fancyplain{}{}}
\cfoot{}
\flushbottom

\skip\footins=30pt plus 4.0pt minus 2.0pt\relax% Abstand Fn-Ziffer und Fn-Text
\footnotesep=20pt\relax% Abstand zwischen zwei Fn

% ************************************ RENEW MACROS *****************************************

\renewcommand{\captionlabelfont}{\bfseries}
\renewcommand{\captionfont}{}
\renewcommand{\sectionmark}[1]{\markright{\thesection. #1}}

% *********************************** NEW COMMANDS ******************************************

\newcommand{\eref}[1]{Gleichung (\ref{#1})}
\newcommand{\pref}[1]{Abbildung (\ref{#1})}
\newcommand{\integral}[2]{\int\limits_{#1}^{#2}}
\newcommand{\ind}[2]{\Biggl|_{#1}^{#2}}
\newcommand{\p}[2]{\cfrac{\partial#1}{\partial#2}}
\newcommand{\blankpage}{\clearpage{\pagestyle{empt y}\cleardoublepage}}

% *************************** BEGINNING OF STANDARD- UNITS **********************************

% ****************************** END OF STANDARD- UNITS *************************************

\makeatletter

% Gliederungsnummer
\renewcommand{\numberline}[1]{\makebox[0.9cm][l]{#1}\hspace{1mm}}

% section
\renewcommand{\l@section}[2]{%
\addvspace{0ex}% vert. Abstand
\pagebreak[3]% Seitenumbruch hier erlauben
\noindent% nicht einrücken
\makebox[0pt][l]{\rule[-8pt]{\textwidth}{0.5pt}}{\textbf{#1}}
\hfill{#2}% Text + Nummer
\par% Zeilenumbruch
\nopagebreak% Seitenumbruch nicht erlauben
\addvspace{1ex}% vert. Abstand
}

% subsection
\renewcommand{\l@subsection}[2]{%
\addvspace{0.5ex}% vert. Abstand
\noindent\hspace{1.1cm}% hor. Einrücken (2em)
\textnormal{#1\dotfill #2}% Text + Nummer
\par% Zeilenumbruch
\nopagebreak[2]% möglichst kein Seitenumbruch
}
% subsubsection
\renewcommand{\l@subsubsection}[2]{%
\addvspace{0.5ex}% vert. Abstand
\noindent\hspace{2.1cm}% hor. Einrücken (2em)
\textnormal{#1\dotfill#2}% Text + Nummer
\par% Zeilenumbruch
\nopagebreak[2]% möglichst kein Seitenumbruch
}
\makeatother


\begin{document}
\section{Fourier-Transformation}
\label{sec:FourierTransformation}


\psset{xunit=1mm, yunit=1mm}
\begin{postscript}
\psset{xunit=1mm, yunit=1mm}
\begin{pspicture}(210.0, 297.0)(0, 0)
\put(2, 25){\psshadowbox{\parbox{6.5cm}{\textbf{Initialisi erung:}\\ Schätze ein Geschwindigkeitsfeld $u^*$}}}
\end{pspicture}
\end{postscript}
\end{document}

RedCloud
27-08-2006, 09:04
Man kann im TexnicCenter unter den Ausgabeprofilen über den Reiter "Nachbearbeitung" noch weitere Aufgaben definieren, die nach der PS-Erzeugung ausgeführt werden.
Ich habe dort eine Aktion PS2PDF definiert, die die Anwendung ps2pdf.exe aufruft. Als Argument übergibt man "%Bm.ps"

Das geht einfacher, indem man sich ein Ausgabeprofil dvi->ps->pdf definiert und dann ist alles nur ein Klick. Das Profil gibt es hier:
http://tug.org/TeXnik/mainFAQ.cgi?file=gui/TeXnikCenter#ps2pdf



Kannst Du bitte kurz auf meinen Code gucken. Ich habe folgende Probleme:
1. Die Ausrichtung ist merkwürdig. Wenn ich \put als y-Argument 297 übergebe, ist die Box nicht mehr sichtbar.
2. Die Überschrift erscheint nicht. Wieso?

da geht ziemlich viel durcheinander. Ein wenig musst du schon darauf achten, was du machst .... man hat den Eindruck, dass du alles lädst, was du an Paketen kennst ...



\documentclass[12pt, oneside, bibtotoc,ngerman]{article} % scrartcl
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
%
\usepackage[scaled=0.92]{helvet}
\usepackage{mathptmx}
\usepackage[scaled=0.9]{luximono}
%
\usepackage{varioref}
\usepackage{multicol}
\usepackage{fancyhdr}
\usepackage{lscape}
\usepackage{verbatim}
\usepackage{tabularx}
\usepackage{anysize}
\usepackage{setspace}
\usepackage{footmisc}
\usepackage[table]{pstricks}
\usepackage{pst-node}
\usepackage{hhline,graphicx}
\usepackage{fancyhdr,fancyvrb,fancybox,amsmath,acc ents}
\usepackage{verbatim,makeidx,moreverb}
\usepackage[hang,nooneline,footnotesize]{caption}
\usepackage[left=1.75cm, right=1.75cm, top=1.0cm, bottom=1.9cm, headheight=1cm, headsep=1.5cm, footskip=0cm, includeheadfoot]{geometry}
\usepackage[lflt]{floatflt}
\usepackage{url,listings}
\usepackage[colorlinks=true, linkcolor=blue]{hyperref}
%
\pagestyle{fancy}
\fancyhf{}
\setlength{\parskip}{1ex}
\setlength{\parindent}{0em}
\onehalfspacing% Zeilenabstand vergrößern, alternativ: \doublespacing
\lhead[\fancyplain{}{\thepage}]{\fancyplain{}{\rightmark}}
\rhead[\fancyplain{}{\thepage}]{\fancyplain{}{\thepage}}
\chead[\fancyplain{}{}]{\fancyplain{}{}}
\cfoot{}
\flushbottom

\skip\footins=30pt plus 4.0pt minus 2.0pt\relax% Abstand Fn-Ziffer und Fn-Text
\footnotesep=20pt\relax% Abstand zwischen zwei Fn

\renewcommand{\captionlabelfont}{\bfseries}
\renewcommand{\captionfont}{}
\renewcommand{\sectionmark}[1]{\markright{\thesection. #1}}
\newcommand*{\eref}[1]{Gleichung (\ref{#1})}
\newcommand*{\pref}[1]{Abbildung (\ref{#1})}
\newcommand*{\integral}[2]{\int\limits_{#1}^{#2}}
\newcommand*{\ind}[2]{\Biggl|_{#1}^{#2}}
\newcommand*{\p}[2]{\cfrac{\partial#1}{\partial#2}}
\newcommand*{\blankpage}{\clearpage{\pagestyle{emp ty}\cleardoublepage}}
\makeatletter
% Gliederungsnummer
\renewcommand{\numberline}[1]{\makebox[0.9cm][l]{#1}\hspace{1mm}}
% section
\renewcommand{\l@section}[2]{%
\addvspace{0ex}% vert. Abstand
\pagebreak[3]% Seitenumbruch hier erlauben
\noindent% nicht einrücken
\makebox[0pt][l]{\rule[-8pt]{\textwidth}{0.5pt}}{\textbf{#1}}
\hfill{#2}% Text + Nummer
\par% Zeilenumbruch
\nopagebreak% Seitenumbruch nicht erlauben
\addvspace{1ex}%vert. Abstand
}

% subsection
\renewcommand{\l@subsection}[2]{%
\addvspace{0.5ex}% vert. Abstand
\noindent\hspace{1.1cm}% hor. Einrücken (2em)
\textnormal{#1\dotfill #2}% Text + Nummer
\par% Zeilenumbruch
\nopagebreak[2]% möglichst kein Seitenumbruch
}
% subsubsection
\renewcommand{\l@subsubsection}[2]{%
\addvspace{0.5ex}% vert. Abstand
\noindent\hspace{2.1cm}%hor. Einrücken (2em)
\textnormal{#1\dotfill#2}%Text + Nummer
\par% Zeilenumbruch
\nopagebreak[2]% möglichst kein Seitenumbruch
}
\makeatother

\begin{document}
\section{Fourier-Transformation}\label{sec:FourierTransformation}

\psset{xunit=1mm, yunit=1mm}
\begin{pspicture}(100.0, 30.0)
\rput[lb](0,0){\psshadowbox{\parbox{6.5cm}{\textbf{Initiali sierung:}\\
Schätze ein Geschwindigkeitsfeld $u^*$}}}
\end{pspicture}
\end{document}


rc

W2K2005
27-08-2006, 13:04
Super! Vielen Dank.

Letzte Frage: Warum wird mit Deinen Erweiterungen meine Kopfzeile weiter nach oben verschoben (bzw. über den Seitenrand hinaus).

bischi
27-08-2006, 13:27
Nur um nochmals auf rc zurückzukommen: Brauchst du wirklich _alle_ eingebundenen Pakete? Viele Probleme lassen sich verhindern, indem nur die wirklich benötigten Pakete geladen werden...

MfG Bischi

RedCloud
27-08-2006, 14:44
Letzte Frage: Warum wird mit Deinen Erweiterungen meine Kopfzeile weiter nach oben verschoben (bzw. über den Seitenrand hinaus).

ich habe daran nichts verändert ....
Die pspicture-Umgebung braucht man nur für den Platz, die Koordinaten sind (unten links)(oben rechts). Du hattest die ganze DIN-A4-Seite genommen.

Abgesehen davon ist bei mir die Kopfzeile genau da, wo sie hin soll ...

rc