PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Diagramme skizzieren



TeXman
29-07-2010, 20:09
Ich suche ein Package, mit dem ich Diagramme dieser Art gestalten kann:

http://texblog.net/png/tikz-commutative-diagram.png
http://www.scienceblogs.de/mathlog/200px-Commutative_diagram_for_morphism.svg.png

Dabei habe ich drei Ansprüche:
1. Das Diagramm muss sauber gezeichnet sein, beispielsweise sieht

\usepackage[arrow, matrix, curve]{xy}
[...]
\begin{xy}
\xymatrix{A \ar@(dr,dl)[r]\ar@(dr,dl)[rr]
&B\ar@(d,r)[dl] &C \\
E \ar@(ul,ur)}\
\end{xy}
eher wenig ansprechend aus

2. In dem Diagramm soll es möglich sein, Schleifen von einem Knoten zu sich selbst einzufügen und zu beschriften
3. Es sollten zwei Pfeile nebeneinander möglich sein

___________________________

Leider hab ich bis jetzt kein Package gefunden, das beide Ansprüche erfüllt. In einer Dokumentation habe ich mich über

diagxy
diagrams
amscd

informiert, und fand die auch optisch ansprechender als das xy-matrix, allerdings habe ich nirgends etwas über Schleifen gefunden.

Wer kann mir ein Package empfehlen?

Stefan_K
29-07-2010, 20:16
Hallo,

für wesentlich mehr geeignet, jedoch auch hierfür gut und flexibel ist TikZ. Beispiele findest Du hier:


Commutative diagrams with crossing edges (http://texblog.net/latex-archive/maths/tikz-commutative-diagram-edges-over-under/) zeigt die Umsetzung Deines ersten Beispiels mit TikZ (pullback eines Banach-Bündels),
Chains with labeled edges (http://texblog.net/latex-archive/maths/pgf-tikz-commutative-diagram/),
Tutorial: Commutative Diagrams using TikZ (http://texblog.net/latex-archive/maths/tikz-diagrams-tutorial/) mit Beispielen wie Dein zweites.


Viele Grüße,

Stefan

voss
29-07-2010, 21:24
Ich suche ein Package, mit dem ich Diagramme dieser Art gestalten kann:


http://tug.org/PSTricks/main.cgi?file=pst-node/psmatrix/cd
zeigt dir zwei Beispiele. Loops sind hier gezeigt:
http://tug.org/PSTricks/main.cgi?file=pst-node/nodes#loop

Herbert

TeXman
02-08-2010, 16:21
Danke für eure Tipps, ich hab bei Tikz und bei pstricks mal reingesehen. TiKz ist auf meinem rechner nicht verfügbar und nicht installierbar, sieht aber gut aus. Wenn es ein funktionierendes Skript gibt, das tikz-Code in PDFs verwandelt, wäre das klasse. Ich hab ein solches Skript in PROLOG gefunden bei meiner Recherche, allerdings funktioniert das nicht.

pstricks gibt nur DVI-Dokumente aus, während ich aber PDF-Grafiken zum Einbinden benötige. Lässt sich das irgendwie lösen?

Abseits der Spezialpakete: Gibt es in den Standardpaketen Möglichkeiten, gute Diagramme mit Schleifen und Doppelpfeilen zu zeichnen? Oder gibt es ein Onlineskript, mit dem ich Tikz- oder psmatrix-Code in PDFs umwandeln kann?

Karlo
02-08-2010, 16:29
Danke für eure Tipps, ich hab bei Tikz und bei psmatrix mal reingesehen. Das Problem ist, dass beide keine Standardgrafikpakete sind, und extra installiert werden müssen.

Was Tikz betrifft - keine Ahnung, aber das Packet ist nicht psmatrix, sondern pstricks und das ist soweit ich weiß Standard.

lg
karlo

TeXman
02-08-2010, 16:48
Danke für eure Tipps, ich hab bei Tikz und bei pstricks mal reingesehen. TiKz ist auf meinem rechner nicht verfügbar und nicht installierbar, sieht aber gut aus. Wenn es ein funktionierendes Skript gibt, das tikz-Code in PDFs verwandelt, wäre das klasse. Ich hab ein solches Skript in PROLOG gefunden bei meiner Recherche, allerdings funktioniert das nicht.

pstricks gibt nur DVI-Dokumente aus, während ich aber PDF-Grafiken zum Einbinden benötige. Lässt sich das irgendwie lösen?

Abseits der Spezialpakete: Gibt es in den Standardpaketen Möglichkeiten, gute Diagramme mit Schleifen und Doppelpfeilen zu zeichnen? Oder gibt es ein Onlineskript, mit dem ich Tikz- oder psmatrix-Code in PDFs umwandeln kann?

Jupp, hab's eben geändert. Ich hab's auf dem Rechner nach der Korrektur gefunden, aber es gibt den falschen Dateityp aus. TikZ ist bei uns definitiv nicht standard.

voss
02-08-2010, 17:18
Danke für eure Tipps, ich hab bei Tikz und bei pstricks mal reingesehen. TiKz ist auf meinem rechner nicht verfügbar und nicht installierbar, sieht aber gut aus. Wenn es ein funktionierendes Skript gibt, das tikz-Code in PDFs verwandelt, wäre das klasse. Ich hab ein solches Skript in PROLOG gefunden bei meiner Recherche, allerdings funktioniert das nicht.

pstricks gibt nur DVI-Dokumente aus, während ich aber PDF-Grafiken zum Einbinden benötige. Lässt sich das irgendwie lösen?


\usepackage{auto-pst-pdf}

und dann "pdflatex -shell-escape Datei" und fertig ist.

Herbert

TeXman
02-08-2010, 17:43
Ah, super, danke! :)

tral
03-08-2010, 10:34
Danke für eure Tipps, ich hab bei Tikz und bei pstricks mal reingesehen. TiKz ist auf meinem rechner nicht verfügbar und nicht installierbar, sieht aber gut aus. Wenn es ein funktionierendes Skript gibt, das tikz-Code in PDFs verwandelt, wäre das klasse. Ich hab ein solches Skript in PROLOG gefunden bei meiner Recherche, allerdings funktioniert das nicht.


Ich verstehe nicht ganz, was du für ein Skript benötigst. pdflatex wandelt doch tikz-Code in PDF um. Wenn du die Zeichnung als extra Datei benötigst, kannst du sie einfach in eine einzelne tex-Datei schreiben und mit dem Paket preview als Datei ausgeben, etwa so:



\documentclass{scrartcl}

\usepackage{tikz}
\usetikzlibrary{matrix}
\usepackage[active,tightpage]{preview}
\PreviewEnvironment{tikzpicture}

\begin{document}
\begin{tikzpicture}
\matrix (m) [matrix of math nodes, row sep=3em,
column sep=3em]{
& f^\ast E_V& & \vphantom{f^\ast}E_V \\
f^\ast E & & \vphantom{f^\ast}E & \\
& U & & V \\
M & & N & \\};
\path[-stealth]
(m-1-2) edge (m-1-4) edge (m-2-1)
edge [densely dotted] (m-3-2)
(m-1-4) edge (m-3-4) edge (m-2-3)
(m-2-1) edge [-,line width=6pt,draw=white] (m-2-3)
edge (m-2-3) edge (m-4-1)
(m-3-2) edge [densely dotted] (m-3-4)
edge [densely dotted] (m-4-1)
(m-4-1) edge (m-4-3)
(m-3-4) edge (m-4-3)
(m-2-3) edge [-,line width=6pt,draw=white] (m-4-3)
edge (m-4-3);
\end{tikzpicture}
\end{document}


mit dem Beispiel von http://texblog.net/latex-archive/maths/tikz-commutative-diagram-edges-over-under/



Abseits der Spezialpakete: Gibt es in den Standardpaketen Möglichkeiten, gute Diagramme mit Schleifen und Doppelpfeilen zu zeichnen?

Was meinst du denn mit "Standard". tikz gehört zu jeder mir bekannten Latex-Distribution...

Christian.

TeXman
03-08-2010, 15:16
PSTricks will nicht. Es kommt nach wie vor kein sinnvolles PDF raus. Das Ergebnis-File ist DVI, auch nachdem ich

Latex => PS => PDF

ausgewählt habe kommt kein PDF zustande. Bei

Latex => PDF

erhalte ich ein leeres Dokument. Mein Quellcode:


\documentclass[11pt]{minimal}

\usepackage{pstricks,pst-node}
\usepackage{auto-pst-pdf}

\begin{document}
\[
\begin{psmatrix}[colsep=2cm,rowsep=2cm]
& A & C \\
D & A' & R \\
\psset{arrows=->,labelsep=3pt,nodesep=3pt}
\ncarc[arcangle=-20]{1,2}{2,1}^{f_2}
\end{psmatrix}
\]

\end{document}

______________________

@tral:
Ich kann tikz mit meiner Miktex-Version nicht kompilieren. Ist nicht auf dem Rechner und das lässt sich so leicht auch nicht ändern. Eine Lösung wäre, dass ein anderes runterladbares kleines Skript (ohne Installation) diesen Part übernimmt. Leider hab ich auch da nix Brauchbares gefunden.

voss
03-08-2010, 15:22
PSTricks will nicht. Es kommt nach wie vor kein sinnvolles PDF raus. Das Ergebnis-File ist DVI, auch nachdem ich


Das ist keine Problembeschreibung, sondern nur eine Feststellung und so
hilfreich wie meine Feststellung, dass ich kein Problem habe ...

Herbert

TeXman
03-08-2010, 15:28
Wie genau soll ich es denn beschreiben?

Trotz Einbindung der Packages entsteht beim Kompilieren kein PDF. Wenn ich "Latex => PDF" anwähle, entsteht ein leeres PDF. Am Quellcode kann es nicht liegen, weil es im Prinzip der selbe ist wie in den Beispielen, die du mir gegeben hast. An den Paketen kann es auch nicht liegen, weil die auf dem Rechner liegen. Woran liegt es dann?

Noch eine Information, vielleicht hilft die weiter:
Das DVI-File, das am Ende rauskommt, gibt die Pfeile in den Diagrammen nicht korrekt wider.

Achja:
Ich arbeite mit MikTex 2.5

voss
03-08-2010, 15:31
Trotz Einbindung der Packages entsteht beim Kompilieren kein PDF. Wenn ich "Latex => PDF" anwähle, entsteht ein leeres PDF. Am Quellcode kann es nicht liegen, weil es im Prinzip der selbe ist wie in den Beispielen, die du mir gegeben hast. An den Paketen kann es auch nicht liegen, weil die auf dem Rechner liegen. Woran liegt es dann?

Achja:
Ich arbeite mit MikTex 2.5

2.5 ist sehr alt. Wie auch immer: _Jeder_ Lauf erzeugt ein Logfile und sagt dir was nicht hinhaut ...

Herbert

TeXman
03-08-2010, 15:39
Mit Logfile hab ich noch nicht gearbeitet. Darum suche ich auch ein Package, das es möglichst unkompliziert macht. Die Diagramme zu gestalten, sollte nicht die Hälfte der ganzen Arbeitszeit einnehmen.

Nehmen wir an, du arbeitest im Texnic-Center, und möchtest jetzt diesen Quellcode oben kompilieren zu einer PDF. Was triffst du überhaupt für eine Auswahl, also

Latex => DVI
Latex => PS
Latex => PDF
oder
Latex => PS => PDF
?

Hier mein Logfile:

This is pdfeTeX, Version 3.141592-1.30.6-2.2 (MiKTeX 2.5) (preloaded format=pdflatex 2007.4.10) 3 AUG 2010 15:25
entering extended mode
**N:/Mathe/Informatik/Kategorien*und*Typen/1_1.tex
("N:\Mathe\Informatik\Kategorien und Typen\1_1.tex"
LaTeX2e <2005/12/01>
Babel <v3.8g> and hyphenation patterns for english, dumylang, nohyphenation, ge
rman, ngerman, french, loaded.
("C:\Programme\MiKTeX 2.5\tex\latex\base\minimal.cls"
Document Class: minimal 2001/05/25 Standard LaTeX minimal class
) ("C:\Programme\MiKTeX 2.5\tex\latex\pstricks\pstricks.sty"
Package: pstricks 2006/08/10 v0.32 LaTeX wrapper for `PSTricks' (RN,HV)

("C:\Programme\MiKTeX 2.5\tex\generic\pstricks\pstricks.tex"
`PSTricks' v1.15 <2006/12/22> (tvz)
\pst@dima=\dimen102
\pst@dimb=\dimen103
\pst@dimc=\dimen104
\pst@dimd=\dimen105
\pst@dimg=\dimen106
\pst@dimh=\dimen107
\pst@hbox=\box26
\pst@boxg=\box27
\pst@cnta=\count79
\pst@cntb=\count80
\pst@cntc=\count81
\pst@cntd=\count82
\pst@cntg=\count83
\pst@cnth=\count84
\pst@toks=\toks14
("C:\Programme\MiKTeX 2.5\tex\generic\pstricks\pstricks.con")
\psunit=\dimen108
\psxunit=\dimen109
\psyunit=\dimen110
\pslinewidth=\dimen111
\pst@customdefs=\toks15
\pslinearc=\dimen112
\everypsbox=\toks16
\psframesep=\dimen113
\pslabelsep=\dimen114
\psk@shift=\dimen115
\pst@shift=\dimen116
\theoverlaybox=\box28
)
File: pstricks.tex 2006/12/22 v1.15 `PSTricks' (tvz)

("C:\Programme\MiKTeX 2.5\tex\latex\xcolor\xcolor.sty"
Package: xcolor 2006/11/28 v2.10 LaTeX color extensions (UK)

("C:\Programme\MiKTeX 2.5\tex\latex\00miktex\color.cfg"
File: color.cfg 2005/12/29 v1.1 MiKTeX 'color' configuration
)
Package xcolor Info: Package option `override' ignored on input line 216.
Package xcolor Info: Driver file: pdftex.def on input line 225.

("C:\Programme\MiKTeX 2.5\tex\latex\graphics\pdftex.def"
File: pdftex.def 2007/01/08 v0.04d Graphics/color for pdfTeX
\Gread@gobject=\count85
)
Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1337.
Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1341.
Package xcolor Info: Model `RGB' extended on input line 1353.
Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1355.
Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1356.
Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1357.
Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1358.
Package xcolor Info: Model `Gray' substituted by `gray' on input line 1359.
Package xcolor Info: Model `wave' substituted by `hsb' on input line 1360.
))
("C:\Programme\MiKTeX 2.5\tex\latex\pstricks\pst-node.sty"
Package: pst-node 2006/01/01 package wrapper for pst-node.tex

("C:\Programme\MiKTeX 2.5\tex\generic\pstricks\pst-node.tex"
v97 patch 11, 2000/11/09
\psrow=\count86
\pscol=\count87
\psmatrixcnt=\count88
\psrowsep=\skip41
\pscolsep=\skip42
)
File: pst-node.tex 2000/11/09 97 patch 11 `pst-node' (tvz)
)
("C:\Programme\MiKTeX 2.5\tex\latex\auto-pst-pdf\auto-pst-pdf.sty"
Package: auto-pst-pdf 2006/11/30 v0.1 Wrapper for pst-pdf

("C:\Programme\MiKTeX 2.5\tex\generic\oberdiek\ifpdf.sty"
Package: ifpdf 2006/02/20 v1.4 Provides the ifpdf switch (HO)
Package ifpdf Info: pdfTeX in pdf mode detected.
)
("C:\Programme\MiKTeX 2.5\tex\latex\misc\etex.sty"
Package: etex 1998/03/26 v2.0 eTeX basic definition package (PEB)
\et@xins=\count89
)
("C:\Programme\MiKTeX 2.5\tex\latex\graphics\graphicx.sty"
Package: graphicx 1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR)

("C:\Programme\MiKTeX 2.5\tex\latex\graphics\keyval.sty"
Package: keyval 1999/03/16 v1.13 key=value parser (DPC)
\KV@toks@=\toks17
)
("C:\Programme\MiKTeX 2.5\tex\latex\graphics\graphics.sty"
Package: graphics 2006/02/20 v1.0o Standard LaTeX Graphics (DPC,SPQR)

("C:\Programme\MiKTeX 2.5\tex\latex\graphics\trig.sty"
Package: trig 1999/03/16 v1.09 sin cos tan (DPC)
)
("C:\Programme\MiKTeX 2.5\tex\latex\00miktex\graphics.cfg"
File: graphics.cfg 2005/12/29 v1.2 MiKTeX 'graphics' configuration
)
Package graphics Info: Driver file: pdftex.def on input line 90.
)
\Gin@req@height=\dimen117
\Gin@req@width=\dimen118
)
("C:\Programme\MiKTeX 2.5\tex\latex\psfrag\psfrag.sty"
Package: psfrag 1998/04/11 v3.04 PSfrag (MCG)
\pfg@pcount=\count90
\pfg@scount=\count91
\pfg@temp=\write3
)
system(latex -disable-write18 "\let \APPmakepictures \empty \input {1_1.tex}").
..disabled.

system(dvips -o 1_1-pics.ps 1_1.dvi)...disabled.

system(ps2pdf 1_1-pics.ps 1_1-pics-nocrop.pdf)...disabled.

system(pdfcrop 1_1-pics-nocrop.pdf 1_1-pics.pdf)...disabled.


("C:\Programme\MiKTeX 2.5\tex\latex\pst-pdf\pst-pdf.sty"
Package: pst-pdf 2006/08/31 v1.1o PS graphics for pdfLaTeX (RN,HjG)
\c@pspicture=\count92
Package pst-pdf Info: MODE: 1 (pdfTeX mode) on input line 201.
\ppf@temptoken=\toks18

("C:\Programme\MiKTeX 2.5\tex\latex\preview\preview.sty"
Package: preview 2006/08/25 11.84 (AUCTeX/preview-latex)
\pr@snippet=\count93
\pr@box=\box29
\pr@output=\toks19
)
("C:\Programme\MiKTeX 2.5\tex\latex\graphics\dvips.def"
File: dvips.def 1999/02/16 v3.0i Driver-dependant file (DPC,SPQR)
))) (1_1.aux)
LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 6.
LaTeX Font Info: ... okay on input line 6.
LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 6.
LaTeX Font Info: ... okay on input line 6.
LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 6.
LaTeX Font Info: ... okay on input line 6.
LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 6.
LaTeX Font Info: ... okay on input line 6.
LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 6.
LaTeX Font Info: ... okay on input line 6.
LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 6.
LaTeX Font Info: ... okay on input line 6.

("C:\Programme\MiKTeX 2.5\tex\context\base\supp-pdf.tex"
[Loading MPS to PDF converter (version 2006.09.02).]
\scratchcounter=\count94
\scratchdimen=\dimen119
\scratchbox=\box30
\nofMPsegments=\count95
\nofMParguments=\count96
\MPscratchCnt=\count97
\MPscratchDim=\dimen120
\MPnumerator=\count98
\everyMPtoPDFconversion=\toks20
)
Preview: Fontsize 10pt
Preview: PDFoutput 1
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <7> on input line 7.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <5> on input line 7.

Package pst-pdf Warning: pspicture No. 1 undefined.


Package pst-pdf Warning: File `1_1-pics.pdf' not found.
(pst-pdf) Use the following commands to create it:
(pst-pdf) ----------------------------------------------------
(pst-pdf) latex 1_1.tex
(pst-pdf) dvips -o 1_1-pics.ps 1_1.dvi
(pst-pdf) ps2pdf 1_1-pics.ps
(pst-pdf) ---------------------------------------------------- .


[1] (1_1.aux) )
Here is how much of TeX's memory you used:
2840 strings out of 95419
31816 string characters out of 1187426
101251 words of memory out of 1104951
5934 multiletter control sequences out of 60000
3640 words of font info for 14 fonts, out of 1000000 for 2000
14 hyphenation exceptions out of 8191
32i,5n,37p,222b,129s stack positions out of 5000i,500n,10000p,200000b,32768s
PDF statistics:
4 PDF objects out of 300000
0 named destinations out of 300000
1 words of extra memory for PDF output out of 10000

Output written on 1_1.pdf (1 page, 882 bytes).

voss
03-08-2010, 16:35
Mit Logfile hab ich noch nicht gearbeitet. Darum suche ich auch ein Package, das es möglichst unkompliziert macht. Die Diagramme zu gestalten, sollte nicht die Hälfte der ganzen Arbeitszeit einnehmen.

du solltst nicht mit dem Logfile arbeiten, sondern da nachschauen, falls
es Probleme gibt.


Nehmen wir an, du arbeitest im Texnic-Center, und möchtest jetzt diesen Quellcode oben kompilieren zu einer PDF. Was triffst du überhaupt für eine Auswahl, also

Latex => DVI
Latex => PS
Latex => PDF
oder
Latex => PS => PDF


ohne \usepackage{auto-pst-pdf} nimmst du Latex => PS => PDF,
was immer gehen sollte, besonders mit MiKTeX2.5.
Mit \usepackage{auto-pst-pdf} nimmst
du LaTeX=> PDF, stellst aber sicher, dass du

With Alt-F7 choose LaTeX=>PDF and then add on the right
side as optional argument "-shell-escape", just before the
existing entry -interactionmode=...

gemacht hast.

Herbert

TeXman
15-08-2010, 13:41
Danke für eure Hilfe soweit. Ich habe mich jetzt entschieden, Grafiken extern via PDF in das Dokument einzubinden und verwende daher für verschiedene Aufgabenstellungen jetzt verschiedene Grafikpakete.

Bei TikZ hab ich reingesehen: Es ist wunderbar einfach zu lernen, und die Symbole lassen sich sehr genau an die Pfeile dranpositionieren.
Aber ich habe leider noch nicht gefunden, wie ich Schleifen um einzelne Objekte legen kann. Gibt es da eine Möglichkeit in Tikz?

Bei PSTricks ist es umgedreht: Schleifen sind super machbar, aber wie ich ein Symbol an einen Pfeil dranbringe, habe ich noch nicht gefunden. Es gibt die Befehle "^", "\Aput" und "\Bput", aber die sind mir zu ungenau. Ich habe auch nicht gefunden, wie man Symbole auf die Pfeile setzen kann.