abonnement Unibet Coolblue Bitvavo
pi_62939741
quote:
Op dinsdag 4 november 2008 16:38 schreef Iblis het volgende:
Als je grote objecten wilt draaien dan moet je daar altijd een pagina voor inruimen. In jouw geval is dat denk ik geen ramp. Wat je kunt doen is:
Bedankt , uren geploeter op Google brengen me minder op dan jouw posts. Toch heb ik een aantal vragen. Dit is stukken beter, vooral handig dat hij niet onmiddellijk de figuur daar post en enorm veel witte ruimte laat op het blad ervoor (met een referentie naar een label en een goeie caption komt dat wel in orde)
quote:
Dit maakt een nieuwe pagina met daarop je matrix gekanteld. Het staat (moet zelfs) in een figuur, maar je hoeft er niet per se een caption onder te zetten. Die figuur is eigenlijk alleen zodat het op z'n eigen pagina komt, verder kun je erin kwijt wat je wilt. Omdat het toch wel enigszins apart staat van de losse tekst zou je eventueel wel van die caption gebruik kunnen maken. Maar dat ligt een beetje aan je eigen smaak; als het verder niet-boeiende data is kan de appendix ook. Met de opties clockwise en counterclockwise aan de package kun je nog instellen hoe er gedraaid moet worden.
De standaard lijkt te zijn : op oneven pagina's negentig graden in wijzerzin.
Maar hoe moet ik die clockwise juist invoeren?

Ik vind het wel zonde om een volledig blad aan een heel lange matrix met maar een aantal rijen te geven. Als ik dat dan toch doe, kan daar best nog zo'n tweede onder. Maar hoe moet dat dan met "caption" en "label" als ze samen op die bladzijde moeten staan?
quote:
Overigens is het niet aan te raden om $$ in LaTeX te gebruiken (genereert Maple dat?) want het is eigenlijk TeX-syntax en het werkt wel, maar het is niet altijd optimaal qua witruimte voor & na. Beter is het om \[ ... \] te gebruiken (doet hetzelfde) of het explicietere \begin{displaymath}, mits je amsmath niet gebruikt, anders dan gebruik je \[ ... \] of \begin{equation*}
Ik moet zeggen dat ik dacht dat $$ en \[ \] gewoon hetzelfde deden. Als jij zegt dat dat niet zo is, wil ik dat best geloven maar binnen deze rotatebox vertonen ze wel hetzelfde gedrag : ze werken allebei niet (je krijgt een foutmelding)


Verder zit ik al de hele tijd te tobben over een manier om mijn kurkdroge tekst over afbeeldingen tussen ruimtes iets op te fleuren met een aantal diagrammen. Het probleem is dat ik er dagen over doe om zoiets eindelijk aan de praat te krijgen, en ik wil niet ontdekken dat het dan eigenlijk nog niet kan wat ik wil doen. Ik weet dat xypic relatief gemakkelijk te "installeren" is (het hoeft zeker niet?) en dat je daarmee die commutatieve diagrammen kan doen en zo. Maar ik zou pijltjes vooral willen trekken tussen (ovaalvormige) verzamelingen. Zoiets dus


/ \ ----->
| | ------>
\ / -------->


Maar dan mooi natuurlijk . Kan dat eigenlijk?
Ik heb "geogebra" al eens horen vallen, maar dat lijkt me meer iets om echt figuren over meetkunde te maken (kegelsneden, rechten,.....)

Opnieuw veel dank bij voorbaat
  dinsdag 4 november 2008 @ 19:30:27 #102
147503 Iblis
aequat omnis cinis
pi_62943072
quote:
Op dinsdag 4 november 2008 17:19 schreef zuiderbuur het volgende:
Bedankt , uren geploeter op Google brengen me minder op dan jouw posts. Toch heb ik een aantal vragen. Dit is stukken beter, vooral handig dat hij niet onmiddellijk de figuur daar post en enorm veel witte ruimte laat op het blad ervoor (met een referentie naar een label en een goeie caption komt dat wel in orde)
De TUG TeX FAQ is echt een welkome bron van informatie. Hier staat heel veel in.
quote:
De standaard lijkt te zijn : op oneven pagina's negentig graden in wijzerzin.
Maar hoe moet ik die clockwise juist invoeren?
Met \usepackage[clockwise]{rotating}
quote:
Ik vind het wel zonde om een volledig blad aan een heel lange matrix met maar een aantal rijen te geven. Als ik dat dan toch doe, kan daar best nog zo'n tweede onder. Maar hoe moet dat dan met "caption" en "label" als ze samen op die bladzijde moeten staan?
Je kunt ze samen labellen, wat misschien niet zo mooi is; of je kunt de subfig package gebruiken. Lees daarvoor de manual, met name de paragraaf ‘examples’.
quote:
Ik moet zeggen dat ik dacht dat $$ en \[ \] gewoon hetzelfde deden. Als jij zegt dat dat niet zo is, wil ik dat best geloven maar binnen deze rotatebox vertonen ze wel hetzelfde gedrag : ze werken allebei niet (je krijgt een foutmelding)
In principe is dacht ik met \[ ... \] beter gegarandeerd dat de witruimte blijft kloppen en beter opgevuld wordt.
quote:
Verder zit ik al de hele tijd te tobben over een manier om mijn kurkdroge tekst over afbeeldingen tussen ruimtes iets op te fleuren met een aantal diagrammen. Het probleem is dat ik er dagen over doe om zoiets eindelijk aan de praat te krijgen, en ik wil niet ontdekken dat het dan eigenlijk nog niet kan wat ik wil doen. Ik weet dat xypic relatief gemakkelijk te "installeren" is (het hoeft zeker niet?) en dat je daarmee die commutatieve diagrammen kan doen en zo. Maar ik zou pijltjes vooral willen trekken tussen (ovaalvormige) verzamelingen. Zoiets dus


/ \ ----->
| | ------>
\ / -------->


Maar dan mooi natuurlijk . Kan dat eigenlijk?
Ik heb "geogebra" al eens horen vallen, maar dat lijkt me meer iets om echt figuren over meetkunde te maken (kegelsneden, rechten,.....)

Opnieuw veel dank bij voorbaat
Heb je een voorbeeld van een plaatje of PDF op het net met iets waarvan je zegt ‘zo moet het eruit zien’? Dan kan ik je misschien iets preciezer een package aanraden.
Daher iſt die Aufgabe nicht ſowohl, zu ſehn was noch Keiner geſehn hat, als, bei Dem, was Jeder ſieht, zu denken was noch Keiner gedacht hat.
  dinsdag 4 november 2008 @ 21:07:51 #103
147503 Iblis
aequat omnis cinis
pi_62946336
Ik had trouwens een idee van die plaatjes, en ik ben even losgegaan. Ik wilde het eigenlijk al een keertje hier een beetje melden als tutorial, omdat veel mensen plaatjes moeten maken met LaTeX en het altijd gedoe is, en ik onlangs TikZ ondekt heb, en het heel prettig vind werken. Het basisidee is van Wikipedia gejat:



Aannemende dat je zoiets bedoelt. En dan is dit mijn ‘gepimpte’ variant in LaTeX:



Dit heb ik met TikZ gemaakt. Ik heb iets meer features gebruikt dan redelijkerwijs nuttig, maar dit is even om een idee te geven wat je ermee kunt. Het zit inmiddels standaard in de nieuwe TeX-distributies, je wilt eigenlijk wel versie 2.00 hebben. Daarvan is een uitgebreide handleiding beschikbaar (honderden pagina’s vol voorbeelden en ideeën). Het kan alles wat XYPic ook kan, maar dan niet met zo'n krampachtige syntax. Je programmeert je plaatje gewoon in je LaTeX document, en het maakt niet uit of je dvi of PDF maakt. Het heeft allerlei bibliotheken om het leven te vergemakkelijken. Het idee is vooral dat jij niet te veel nadenkt en het plaatje beschrijft in termen van ‘dit staat hier’, en ‘dat staat er 1cm naast’, en dan ‘aan de bovenkant een label’. En als je dan besluit dat het niet 1cm, maar 5cm moet zijn, dan schuift alles mee.

Zie hier de code:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{matrix}
\usetikzlibrary{fit}
\usetikzlibrary{shapes.geometric}
\usetikzlibrary{arrows}
\pgfdeclarelayer{background}
\pgfsetlayers{background,main}␣
\begin{document}
    \begin{tikzpicture}[
            set/.style={shape=ellipse, inner sep=0pt,
                minimum width=1cm},
            left set/.style={set, draw=red, fill=red!20},
            right set/.style={set, draw=blue, fill=blue!20},
            pijl/.style={->,bend left=15,>=stealth'},
        ]
        \matrix[matrix of math nodes,
            every node/.append style={inner sep = 0pt, minimum width=1em},
            column 1/.style={red},
            column 2/.style={blue},
            row sep={4pt},
            column sep={2cm,between origins}] {
            |(1)| 1 & |(D)| D \\
            |(2)| 2 & |(C)| C \\
            |(3)| 3 & |(B)| B \\
            |(4)| 4 & |(A)| A \\
        };

        \foreach \van/\naar in {1/D, 2/C, 3/B, 4/A} {
            \draw (\van) edge[pijl] (\naar);
        }

        \begin{pgfonlayer}{background}
            \node[name=l, left set, fit=(1) (2) (3) (4)] {};
            \node[name=r, right set,fit=(A) (B) (C) (D)] {};
        \end{pgfonlayer}{background}

        \node[above] at (l.north) {$X$};
        \node[above] at (r.north) {$Y$};
    \end{tikzpicture}
\end{document}


Nu nog wat commentaar. Ik laad eerst wat bibliotheken. De arrows om de pijl te kunnen kiezen, de shapes.geometric voor de ellipse, de matrix voor het uitlijnen, de fit om de ellipse passend te maken, en vervolgens zeg ik dat het document uit twee layers bestaat, background & main, met background achter main (main is standaard, die hoef je niet aan te geven).

Je ziet dat je begint met tikzpicture, en dat je dan tussen [...] opties kunt opgeven, zoals standaard met LaTeX. De manier waarop is echter vrij uitgebreid, en als je CSS kent van HTML dan komt het je misschien bekend voor qua idee (niet qua syntax), en anders is het ook zo te snappen. Het idee is dat je stijlen definieert, waardoor je later (indien gewenst) snel je document kunt aanpassen. Ik definieer dus eerst dat een set de vorm van een ellipse heeft, en dat deze minstens 1cm breed is, maar dat er geen extra ruimte (inner sep) tussen de rand en de eigenlijke content hoeft te zitten. De linker ellipse maakt van die definitie gebruik, maar dan met een rode vulling, en de rechter is blauw. De stijl ‘pijl’ definieer ik ook zo.

Dan komt de matrix. Dat is in feite een tabel/array. Ik vertel eerst dat deze alleen maar uit math nodes bestaat, zodat ik geen $ $ hoef te typen, dan dat alles in de eerste kolom rood moet zijn, en alles in de tweede blauw, en hoe ver de rijen en kolommen van elkaar af moeten staan. Vervolgens maak ik de tabel zoals je altijd zou doen. Het |(A)| zorgt ervoor dat die cel de naam (A) krijgt, etc.

Dan staan dus de 1 t/m 4 en de D t/m A op hun plek. Dan kan ik er vier pijltjes tussen trekken. Ik gebruik daar de zojuist gedefinieerde namen. Als ik dus D & A zou verwisselen in de matrix zouden die pijlen elkaar kruisen. Omdat ik de ellips pas wil tekenen als ik de inhoud getekend heb, omdat het mooi moet passen, zet ik dat op een achtergrondlayer, want anders zou de tekst bedekt worden. Ik zeg dus, teken een ellipse, geef die de naam l, en fit die rond die 4 nodes. Als ik nou nog een extra element wil toevoegen bij de matrix, dan blijft die ellipse definitie gelijk, want die schaalt dan mee. De labels X & Y plaats ik daarna, en ik specificeer dat ze aan de bovenkant van het noordelijkste punt van de ellipsen moeten komen.

En klaar. Zou ik nu dus bedenken dat ik een groene vulling wil, of liever een rectangle-vorm, dan is dat zo gepiept. Dat is de kracht van TikZ.

Naast de manual is er een example gallery, waar ook veel (heel mooie) voorbeelden in staan, inclusief code:

(Deze staat ook in de manual uitgelegd):




Daher iſt die Aufgabe nicht ſowohl, zu ſehn was noch Keiner geſehn hat, als, bei Dem, was Jeder ſieht, zu denken was noch Keiner gedacht hat.
pi_62963502
quote:
Op dinsdag 4 november 2008 21:07 schreef Iblis het volgende:
Ik had trouwens een idee van die plaatjes, en ik ben even losgegaan. Ik wilde het eigenlijk al een keertje hier een beetje melden als tutorial, omdat veel mensen plaatjes moeten maken met LaTeX en het altijd gedoe is, en ik onlangs TikZ ondekt heb, en het heel prettig vind werken. Het basisidee is van Wikipedia gejat:

[ afbeelding ]

Aannemende dat je zoiets bedoelt. En dan is dit mijn ‘gepimpte’ variant in LaTeX:

[ afbeelding ]
Zoiets is eigenlijk exact wat ik wou hebben , alleen zou ik eventueel rechte pijltjes willen, en geen labels voor de elementen in de verzamelingen, maar vooral labels op de pijlen (om dus mijn afbeeldingen goed te kunnen onderscheiden). Ik neem aan dat dat dan ook geen probleem is?
quote:
Dit heb ik met TikZ gemaakt. Ik heb iets meer features gebruikt dan redelijkerwijs nuttig, maar dit is even om een idee te geven wat je ermee kunt. Het zit inmiddels standaard in de nieuwe TeX-distributies, je wilt eigenlijk wel versie 2.00 hebben.
Laat dat nu een hinderpaal zijn. Ik ben een ramp op het gebied van dingen installeren. Ik werk op een Macbook, met TexShop, en ik weet eigenlijk niet waar mijn latex is, en dus waar mijn files heen moeten als ik iets nieuws download.
Ik heb jouw code geprobeerd en dan kreeg ik in mijn console als ik compileerde een foutmelding:
I can't find file pgflibriarytikzmatrix.tex

Ik dacht dat ik dat wel kon oplossen door hier die version2.00 af te halen : link, en nu heb ik na unzippen een folder "pgf-2.00" met daarin subfolders context,doc,generic,latex, plain.
Ik weet dus niet waar die juist moeten. Die grote handleiding van vijfhonderd pagina's heb ik er dan bij genomen (die die jij me had aangeraden) en daarin zeggen ze dat files doorgaans in texmf moeten maar blijkbaar gebruikt mijn systeem dat (eigenlijk) niet. (Vroeger toen ik nog een pc met windows gebruikte had ik die wel, meen ik)


Ik ben dan hierheen geweest (op ctan) voor algemeen installatie-advies maar ook daar leek het om die texmf te gaan.

Ik ben dus opnieuw ten einde raad. Opnieuw duizendmaal dank bij voorbaat.
  woensdag 5 november 2008 @ 11:04:15 #105
147503 Iblis
aequat omnis cinis
pi_62963959
quote:
Op woensdag 5 november 2008 10:47 schreef zuiderbuur het volgende:
Zoiets is eigenlijk exact wat ik wou hebben , alleen zou ik eventueel rechte pijltjes willen, en geen labels voor de elementen in de verzamelingen, maar vooral labels op de pijlen (om dus mijn afbeeldingen goed te kunnen onderscheiden). Ik neem aan dat dat dan ook geen probleem is?
Uiteraard kun je labels op de pijlen zetten, aan het begin, in het midden, eronder, erboven, erin. En verder ook nog de pijlen laten slingeren of weet ik veel wat…
quote:
Laat dat nu een hinderpaal zijn. Ik ben een ramp op het gebied van dingen installeren. Ik werk op een Macbook, met TexShop, en ik weet eigenlijk niet waar mijn latex is, en dus waar mijn files heen moeten als ik iets nieuws download.
Ik heb jouw code geprobeerd en dan kreeg ik in mijn console als ik compileerde een foutmelding:
I can't find file pgflibriarytikzmatrix.tex
Dan denk ik dat je een oude versie van pgf/tikz gebruikt, versie 1.18. Je kunt inderdaad 2.00 dan installeren, of je kunt je hele TeX-installatie upgraden. Er is een maand geleden een hele nieuwe versie voor 2008 uitgekomen, die kun je hier vinden. Het is een grote download, maar het omvat wel alles wat je nodig hebt en het updatet je installatie naadloos (als het goed is natuurlijk). In de extra's versie vind je ook TeXShop. Anders dan geef ik hieronder even instructies.
quote:
Ik dacht dat ik dat wel kon oplossen door hier die version2.00 af te halen : link, en nu heb ik na unzippen een folder "pgf-2.00" met daarin subfolders context,doc,generic,latex, plain.
Ik weet dus niet waar die juist moeten. Die grote handleiding van vijfhonderd pagina's heb ik er dan bij genomen (die die jij me had aangeraden) en daarin zeggen ze dat files doorgaans in texmf moeten maar blijkbaar gebruikt mijn systeem dat (eigenlijk) niet. (Vroeger toen ik nog een pc met windows gebruikte had ik die wel, meen ik)

Ik ben dus opnieuw ten einde raad. Opnieuw duizendmaal dank bij voorbaat.
Op je Mac werkt het net zo, maar dan zit die directory in je Library of Bibliotheek dir onder je homedirectory. Ik ken zelf alleen de Engelse verise van OS X, maar ik vermoed dat onderstaande ongeveer hetzelfde werkt voor de Nederlandse versie als je Library door Bibliotheek vervangt…

Ga naar je homedir, in Finder, kijk dan of er een directory 'texmf' onder staat, zo niet maak je die aan. In die texmf dir maak je, indien nodig, ook de directory 'tex' aan. Nu bekijk je je uitgepakte pgf-2.00 bestand. De directory's context, generic, latex en plain sleep je naar de laatst aangemaakt texmf/tex directory, de doc directory sleep je direct onder de texmf directory. (Of gooi je weg, het gaat alleen eigenlijk om de pgfmanual.pdf die daar ergens instaat, de rest is niet zo boeiend).

Dan open je Terminal.app en type je 'texhash', dan type je nog:
kpsewhich tikz.sty

En als het goed is zegt het dan iets als:

/Users/zuiderbuur/Library/texmf/tex/latex/pgf/frontendlayer/tikz.sty
Daher iſt die Aufgabe nicht ſowohl, zu ſehn was noch Keiner geſehn hat, als, bei Dem, was Jeder ſieht, zu denken was noch Keiner gedacht hat.
pi_62964548
quote:
Op woensdag 5 november 2008 11:04 schreef Iblis het volgende:

[..]

Uiteraard kun je labels op de pijlen zetten, aan het begin, in het midden, eronder, erboven, erin. En verder ook nog de pijlen laten slingeren of weet ik veel wat…
[..]
Prima!
quote:
#
Dan denk ik dat je een oude versie van pgf/tikz gebruikt, versie 1.18. Je kunt inderdaad 2.00 dan installeren, of je kunt je hele TeX-installatie upgraden. Er is een maand geleden een hele nieuwe versie voor 2008 uitgekomen, die kun je hier vinden. Het is een grote download, maar het omvat wel alles wat je nodig hebt en het updatet je installatie naadloos (als het goed is natuurlijk). In de extra's versie vind je ook TeXShop. Anders dan geef ik hieronder even instructies.
[..]
Ik denk dat ik voorlopig even van tex in het algemeen afblijf.
quote:
Op je Mac werkt het net zo, maar dan zit die directory in je Library of Bibliotheek dir onder je homedirectory. Ik ken zelf alleen de Engelse verise van OS X, maar ik vermoed dat onderstaande ongeveer hetzelfde werkt voor de Nederlandse versie als je Library door Bibliotheek vervangt…
Bij mij is alles ook in het Engels (dus in Library)
quote:
Ga naar je homedir, in Finder, kijk dan of er een directory 'texmf' onder staat, zo niet maak je die aan. In die texmf dir maak je, indien nodig, ook de directory 'tex' aan. Nu bekijk je je uitgepakte pgf-2.00 bestand. De directory's context, generic, latex en plain sleep je naar de laatst aangemaakt texmf/tex directory, de doc directory sleep je direct onder de texmf directory. (Of gooi je weg, het gaat alleen eigenlijk om de pgfmanual.pdf die daar ergens instaat, de rest is niet zo boeiend).
Ik heb jouw instructies tot op de letter nagevolgd.
Ik zit nu met een map "zuiderbuur" bovenaan, met daarin allerlei mappen als Documents, Music, Pictures en Library.
Binnen die Library zaten reeds directories Texshop, Thunderbird, en nu heb ik zelf die texmf aangemaakt.

Mijn texmf zelf bestaat uit doc en tex. De map doc zelf bevat slechts één map generic, die slechts één map pgf bevat.
De map tex bevat de mappen context, generic, latex en plain, die allen slechts één map omvatten, telkens met de naam pgf.
quote:
Dan open je Terminal.app en type je 'texhash', dan type je nog:
kpsewhich tikz.sty

En als het goed is zegt het dan iets als:

/Users/zuiderbuur/Library/texmf/tex/latex/pgf/frontendlayer/tikz.sty
Heb ik allemaal letterlijk gedaan en dat deed ie dan ook en als ik nou jouw voorbeeld wil compileren krijg ik net hetzelfde figuurtje!


Daar ga ik dus even mee experimenteren!

Verder nog over die $$ en \[ , mij is zo geleerd dat je \[ moet doen, het is maar sinds kort dat ik eigenlijk weet dat je $$ kan doen. Ik dacht dat dat identiek was, en verkoos het dan ook, omdat ik hier niet alleen op een Azerty werk, maar op een Azerty-LAPTOP, waardoor ik voor iedere [ moet doen : alt+ shift+ (
  woensdag 5 november 2008 @ 11:26:25 #107
147503 Iblis
aequat omnis cinis
pi_62964569
Labels op de pijlen zou je b.v. voor elkaar kunnen krijgen door de foreach te vervangen:

1
2
3
4
        \foreach \van/\naar/\label in {1/D/{L_\alpha},
                2/C/{L_\beta}, 3/B/{L_\gamma}, 4/A/{L_\delta}} {
            \draw (\van) edge[pijl] node[above,midway] {$\label$} (\naar);
        }


Je moet wel de row sep en de column sep misschien wat aanpassen in de matrix, maar voor de rest schaalt het vanzelf.

Ah, tof dat het werkt!

En over TikZ, die manual is heel uitgebreid, maar wel nuttig. Ik heb je al bovenin voorbeelden gegeven met stijlen (die kun je overigens ook globaal maken m.b.v. van \tikzset), en als je dat een beetje handig doet, dan krijg je een heel consistent document. Je kunt tikzpictures natuurlijk binnen een figure-omgeving gebruiken, en je kunt ze heel mooi schalen, waarbij het standaard de letters niet meeschaalt, zodat je geen onleesbare (of juist supergrote) tekst krijgt.
Daher iſt die Aufgabe nicht ſowohl, zu ſehn was noch Keiner geſehn hat, als, bei Dem, was Jeder ſieht, zu denken was noch Keiner gedacht hat.
  woensdag 5 november 2008 @ 11:50:17 #108
147503 Iblis
aequat omnis cinis
pi_62965153
quote:
Op woensdag 5 november 2008 11:25 schreef zuiderbuur het volgende:
Mijn texmf zelf bestaat uit doc en tex. De map doc zelf bevat slechts één map generic, die slechts één map pgf bevat.
De map tex bevat de mappen context, generic, latex en plain, die allen slechts één map omvatten, telkens met de naam pgf.
Ja, dat klopt. Als je nu een extra package wilt installeren dat niet in je distributie zit, dan kun je dat in ~/Library/texmf/tex/latex/ kwijt. Of als je een nieuwere versie nodig hebt (de packages daar hebben namelijk voorrang op je distributie). Als je zo'n package daarin hebt gezet draai je weer texhash.
quote:
Verder nog over die $$ en \[ , mij is zo geleerd dat je \[ moet doen, het is maar sinds kort dat ik eigenlijk weet dat je $$ kan doen. Ik dacht dat dat identiek was, en verkoos het dan ook, omdat ik hier niet alleen op een Azerty werk, maar op een Azerty-LAPTOP, waardoor ik voor iedere [ moet doen : alt+ shift+ (
Oh, dat is irritant. Ik heb het verbod uit ‘l2tabu’ over zaken die taboe zijn in LaTeX 2e, (document staat in de OP), en die legt uit dat de witruimte niet goed gaat.

Wat je kunt doen is b.v. dit:

\let\bM=\[
\let\eM=\]

En dan kun je in plaats van \[ ... \] ook \bM .. \eM (begin-math, end-math) typen. Net zo gemakkelijk. Een groot nadeel is dat je editor het waarschijnlijk niet kent en je syntax-highlighting kapot gaat.
Daher iſt die Aufgabe nicht ſowohl, zu ſehn was noch Keiner geſehn hat, als, bei Dem, was Jeder ſieht, zu denken was noch Keiner gedacht hat.
pi_62969561
Wat ik me nu zit af te vragen is of ik best met "set" of met "nodes" werk of zo. Het is immer allemaal erg verzameling-georiënteerd bij mij, en niet zozeer met de objecten.

Dit is bijvoorbeeld wat ik in gedachten heb:



Bij nodes krijg je blijkbaar een cirkeltje of een rechthoekje rond een symbool met een naam, terwijl ik het liever (zoals het hoort bij verzamelingen) rechtsboven of zo heb.

Heel misschien wil ik er misschien nog één element in noteren of zo (met dan een bolletje bij) maar in het algemeen gaat het 'm niet om de elementen, ik geef gewoon aan welke afbeeldingen tussen welke verzamelingen zijn.

Is werken met nodes dan eigenlijk aangewezen (ik heb snel even gekeken naar het fenomenale gamma aan mogelijkheid in die handleiding)...

Het is trouwens inderdaad een erg veelzijdig ding moet ik zeggen
  woensdag 5 november 2008 @ 15:27:16 #110
147503 Iblis
aequat omnis cinis
pi_62971343
quote:
Op woensdag 5 november 2008 14:31 schreef zuiderbuur het volgende:
Wat ik me nu zit af te vragen is of ik best met "set" of met "nodes" werk of zo. Het is immer allemaal erg verzameling-georiënteerd bij mij, en niet zozeer met de objecten.

Dit is bijvoorbeeld wat ik in gedachten heb:

[ afbeelding ]
En dit is wat ik er dan van maak:

quote:
Bij nodes krijg je blijkbaar een cirkeltje of een rechthoekje rond een symbool met een naam, terwijl ik het liever (zoals het hoort bij verzamelingen) rechtsboven of zo heb.
Ja, dat klopt, maar dat is niet het enige doel van nodes. Je maakt nodes eigenlijk vaak genoeg zonder content. (Zie b.v. de tutorial ‘A Petrinet for Hans Hagen’. Het voordeel van nodes is namelijk ook dat ze anchors hebben. Zoals ‘south’ of ‘north’, die je kunt gebruiken om pijlen aan vast te zetten.
quote:
Is werken met nodes dan eigenlijk aangewezen (ik heb snel even gekeken naar het fenomenale gamma aan mogelijkheid in die handleiding)...
Ja, dat lijkt me wel, ik heb hier de code:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{matrix}
\usetikzlibrary{fit}
\usetikzlibrary{shapes.geometric}
\usetikzlibrary{arrows}
\begin{document}
    \begin{tikzpicture}[
            % De verzamelingen zien eruit als een ellips, en zijn minstens 1cm
            % breed. We willen namelijk wel dat ze allemaal even groot zijn.
            set/.style={shape=ellipse, inner sep=0pt, minimum width=1cm,draw},
            % >=stealth' zegt dat de pijltjes er zo uit moeten zien als je ook
            % ziet bij \to
            pijl/.style={->,>=stealth'},
            lus/.style={->,>=stealth',min distance=8mm,looseness=10,loop},
        ]
        % Hier komt de truc eigenlijk. Om geschikte referentiepunten te krijgen
        % om de pijlen tussen te laten lopen maken we een matrix met lege nodes.
        % Elke node wordt 1em breed en 4pt hoog, dat is niet zo veel, maar
        % het voldoet denk ik.
        % De nodes krijgen wel een naam. Dus |(A1-1) is de naam van de (lege)
        % node. Als je aan eht tekenen bent kun je overigens iets als
        % fill=blue aan de every node/.append style toevoegen om blauwe vierkantjes
        % te zien.
        % Zou je wel content willen, dan kun je dat dus invoeren tussen | en &, zoals
        % ik in het eerste voorbeeld deed.
        \matrix[matrix of nodes,
            every node/.append style={inner sep = 0pt, minimum width=1em,minimum height=4pt},
            row sep={8pt},
            column sep={2.5cm,between origins}] {
            |(A1-1)| & |(A2-1)| & |(A3-1)| \\
            |(A1-2)| & |(A2-2)| & |(A3-2)| \\
            |(A1-3)| & |(A2-3)| & |(A3-3)| \\
        };

        % Nu tekenen we de ellipsen rond de nodes. De set
        % geeft aan dat we de stijl die hierboven staat opgegeven
        % willen gebruiken.
        \node[name=A1, set, fit=(A1-1) (A1-2) (A1-3)] {};
        \node[name=A2, set, fit=(A2-1) (A2-2) (A2-3)] {};
        \node[name=A3, set, fit=(A3-1) (A3-2) (A3-3)] {};

        % En deze ellipsen hebben ook weer anchors die
        % we kunnen gebruiken om de labels te positioneren!
        \node[above] at (A1.north) {$A_1$};
        \node[above] at (A2.north) {$A_2$};
        \node[above] at (A3.north) {$A_3$};

        % Nu trekken we de simpele pijltjes, let op het gebruik van
        % foreach, dat scheelt onder elkaar kopiëren en plakken.
        \foreach \van/\naar/\label in {
                A2-1/A1-1/b, A1-2/A2-2/a, A1-3/A2-3/c,
                A2-1/A3-1/d, A3-3/A2-3/e} {
            \draw (\van) edge[pijl] node[above,midway] {$\label$} (\naar);
        }

        % Dit is een 'unieke' pijl, dus die doen we zelf. Let dus op de syntax. Ik teken deze
        % pijl van A3-3 (dat is de onderste node van A3 uiteraard) beginnend in het zuid-westen,
        % en de pijl eindigt aan de zuidkant van A1-3. Je kunt hiermee experimenteren door er
        % east, of north van te maken. De anchors staan in de manual uitgelegd.
        %
        % Als je dit niet opgeeft zoekt TikZ zelf een handige anchor uit, maar dat hoeft niet jouw
        % voorkeur te zijn. Hier boven gaat het echter goed, dus daar geven we geen anchor op,
        % wehadden echter (\van.east) en (\naar.west) kunnen schrijven.
        \draw (A3-3.south west) edge[pijl,bend left=15] node[below, midway] {$h = b \circ e$} (A1-3.south);

        % Lusjes zijn wat rottiger, vind ik. Ik gebruik weer de anchors, en er zijn in feite twee
        % mogelijkheden: je kunt opgeven onder hoeveel graden de lus de node moet verlaten, en onder
        % hoeveel graden hij moet terugkomen. Dit werkt gewoon 'standaard', dus 0 is aan de oostzijde, 90
        % aan de noordzijde, etc.
        % Wat wel leuk is, is dat ik opgeef met +(0, -4pt) dat de lus 4pt lager moet uitkomen dan hij begonnen
        % is.
        \draw (A1-2.north west) edge[lus,out=150,in=210] node[left] {$g$} +(0, -4pt);
        \draw (A3-3.south) edge[lus,out=240,in=300] node[below] {$f$} +(4pt, 0);
        % Deze lus is ietsje lastiger, want die moet niet door de A1 label gaan, dus ik teken
        % hem gewoon naar rechts, en geef dan nog een extra rotate-commando op, zodat hij alsnog
        % gedraaid wordt. Die rotate is echter makkelijker aanpassen.
        \draw[rotate=35]  (A1-1.north east) edge[lus,out=-30,in=30] node[right] {$i$} +(0, 4pt);

    \end{tikzpicture}
\end{document}


[ Bericht 0% gewijzigd door Iblis op 05-11-2008 15:50:38 ]
Daher iſt die Aufgabe nicht ſowohl, zu ſehn was noch Keiner geſehn hat, als, bei Dem, was Jeder ſieht, zu denken was noch Keiner gedacht hat.
pi_62972382
Knap!

Maar het bizarre is dat jouw code enkel werkt bij mij als ik de laatste drie commandolijnen weglaat.....
  woensdag 5 november 2008 @ 16:03:28 #112
147503 Iblis
aequat omnis cinis
pi_62972610
quote:
Op woensdag 5 november 2008 15:56 schreef zuiderbuur het volgende:
Knap!

Maar het bizarre is dat jouw code enkel werkt bij mij als ik de laatste drie commandolijnen weglaat.....
Oh… raar… ik kijk er even naar.
Daher iſt die Aufgabe nicht ſowohl, zu ſehn was noch Keiner geſehn hat, als, bei Dem, was Jeder ſieht, zu denken was noch Keiner gedacht hat.
  woensdag 5 november 2008 @ 16:20:27 #113
147503 Iblis
aequat omnis cinis
pi_62973223
Het komt omdat ik een ontwikkelingsversie gebruik van TikZ, daarin gaat het wel goed, in 2.00 is dit blijkbaar een bug. Je kunt, met een iets minder mooi resultaat, wel het volgende doen:

1
2
3
        \draw (A1-2.north west) edge[lus,out=150,in=210] node[left] {$g$} (A1-2.south west);
        \draw (A3-3.240) edge[lus,out=240,in=300] node[below] {$f$} (A3-3.300);
        \draw (A1-1.30) edge[lus,out=5,in=65] node[right] {$i$} (A1-1.65);


Als laatste drie commando's. Ik gebruik hier deels ‘border anchors’, dat zijn in feite gewoon graden weer, 0 is east, 90 is noord, maar dan een beetje shape afhankelijk. Dus bij een rectangle ligt 45 op rechtsboven, en 70 tussen midden boven en rechtsboven in.
Daher iſt die Aufgabe nicht ſowohl, zu ſehn was noch Keiner geſehn hat, als, bei Dem, was Jeder ſieht, zu denken was noch Keiner gedacht hat.
pi_62974304
Ik denk dat ik het begin te begrijpen. Die labels op je pijltjes zijn dan in feite ook "nodes", of niet?

Je kan dus instellen waar die lussen vertrekken en aankomen en aan welke kant, en onder welke hoeken.

Ik vroeg me nog af of je die lussen wat langer kan maken ook?


Trouwens nog eens heel erg bedankt voor al jouw hulp, zo schiet het natuurlijk veel harder op. Als er in het huiswerkforum iets is van wiskunde waarmee ik zou kunnen helpen dan vraag je of pm je me maar, misschien kan ik dan wat terugdoen
pi_62976213
1
2
3
4
5
6
7
8
9
10
11
\begin{center}
\begin{figure}
\beginpgfgraphicnamed{blabla?} 
\begin{tikzpicture}
        .............

         \end{tikzpicture}
         \endpgfgraphicnamed 
           \caption{nog een titel bedenken!}
 \end{figure}
\end{center}    


Wat raar dat het zo ingewikkeld wordt van zodra je een titeltje erbij wil. Moet dat echt? -O- Ik heb de handleiding gevolgd eigenlijk....;
pi_62980027
Meestal wel :) Je wilt sowieso je plaatje in een float hebben (zwevend over de pagina). Daarnaast wil je het centreren, en je wilt er dus een titeltje bij hebben. Wat ik meestal doe is:
1
2
3
4
5
\begin{figure}[htb]% Plaats figuur Here, Top of Bottom
\centering
\epsfig{iets} % of wat anders natuurlijk ;)
\caption{\label{fig:labeltje}Dit is een stukje tekst.}
\end{figure}
  woensdag 5 november 2008 @ 23:43:34 #117
147503 Iblis
aequat omnis cinis
pi_62987183
quote:
Op woensdag 5 november 2008 17:54 schreef zuiderbuur het volgende:

[ code verwijderd ]

Wat raar dat het zo ingewikkeld wordt van zodra je een titeltje erbij wil. Moet dat echt? Ik heb de handleiding gevolgd eigenlijk....;
Dat named hoeft niet, dat is alleen als je je grahics wil externaliseren (als losse PDF wilt maken b.v. omdat je een artikel moet inleveren bij een journal dat geen TikZ kent). Anders is gewoon figure - tikzpicture - caption genoeg.

Als je dat externaliseren wilt doen, dan kun je trouwens beter met de nieuwste versie van TikZ gaan werken, die is een stuk flexibeler. (Nieuwste = ontwikkelingsversie.)

Over die lussen, ik denk dat als je:

lus/.style={->,>=stealth',min distance=8mm,looseness=10,loop},

Aanpast, en de min distance groter maakt, dat de lus dan langer wordt. Verder, de labels op de pijlen zijn ook (naamloze) nodes inderdaad. Maar ik ben nu even wat drukker.

[ Bericht 1% gewijzigd door Iblis op 06-11-2008 08:40:59 ]
Daher iſt die Aufgabe nicht ſowohl, zu ſehn was noch Keiner geſehn hat, als, bei Dem, was Jeder ſieht, zu denken was noch Keiner gedacht hat.
  donderdag 6 november 2008 @ 08:38:03 #118
147503 Iblis
aequat omnis cinis
pi_62990387
quote:
Op woensdag 5 november 2008 20:17 schreef Gospodin het volgende:
Meestal wel Je wilt sowieso je plaatje in een float hebben (zwevend over de pagina). Daarnaast wil je het centreren, en je wilt er dus een titeltje bij hebben. Wat ik meestal doe is:
[ code verwijderd ]
\epsfig is niet zo handig als je met pdflatex werkt, omdat pdflatex geen eps aankan. Beter kun je graphicx en \includegraphics{figuur} gebruiken. Draai (gewoon) LaTeX, dan kijkt het of figuur.eps bestaat, als je pdflatex draait, dan kijkt het of figuur.pdf bestaat (of .png of .jpg).

Op zich is qua gewoon LaTeX ook graphicx nu de geprefereerde keus, epsfig is outdated.
Daher iſt die Aufgabe nicht ſowohl, zu ſehn was noch Keiner geſehn hat, als, bei Dem, was Jeder ſieht, zu denken was noch Keiner gedacht hat.
pi_62993629
Zou ik eens om een kleine evaluatie van mijn experimenten kunnen vragen? Ik vraag me af of ik toch wel alles goed doe.

In dit geval is mijn situatie als volgt : een grote verzameling CP, met zes kleine verzamelingen daarbinnen. Er zijn zes afbeeldingen die gewoon gaan van CP naar CP.
Daarnaast zijn er zes afbeeldingen (projecties zijn ze eigenlijk) die van CP vertrekken maar in één van die zes kleinere eindigen.

Ik heb een matrix met negen nodes gebruikt : acht in de eerste kolom, en een negende rechts;
Daarnaast heb ik binnen die linkse kolom nog eens nodes gebruikt om sets te tekenen rond zes van die elementen.

Is dit conceptueel allemaal wel goed?


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
          \begin{tikzpicture}[
   set/.style={shape=ellipse, inner sep=0pt, minimum width=1 cm,draw},
  pijl/.style={->,>=stealth'},
            lus/.style={->,>=stealth',min distance=8mm,looseness=20,loop},
        ]
          
          
         \matrix[matrix of nodes,
            every node/.append style={inner sep = 0pt, minimum width=1em,fill=blue,minimum height=4pt},
            row sep={16pt},
            column sep={2cm,between origins}] 
            {
           |(1)|\\|(2)|\\|(3)|\\  |(4)| &|(rechterkant)|\\|(5)|\\|(6)|\\|(7)|\\|(8)|\\};
          
          
         %ik definieer mijn grote verzameling CP
           \node[name=CP, set, fit=  (1) (2) (3) (4) (5) (6) (7) (8) (rechterkant)] {};
           
          %ik zet de naam ernaast
          \node[right]  at (CP.east) {$CP$};
           
           %ik  maak kleine setjes aan  rond zes van de acht nodes onder elkaar
          \node[name=set2, set, fit=  (2)] {};
         \node[name=set3, set, fit=  (3)] {};        
          \node[name=set4, set, fit=  (4)] {};
          \node[name=set5, set, fit=  (5)] {};
         \node[name=set6, set, fit=  (6)] {};
         \node[name=set7, set, fit=  (7)] {};
         
         %ik zet de namen bij die zes kleine setjes
         
        \node[above] at (2.north east) {$V_{-1,0}$}; 
         \node[above] at (3.north east) {$V_{0,1}$}; 
         \node[above] at (4.north east) {$V_{0,2}$}; 
          \node[above] at (5.north east) {$V_{1,0}$}; 
          \node[above] at (6.north east) {$V_{1,1}$}; 
           \node[above] at (7.north east) {$V_{1,2}$}; 
         

        %ik trek pijlen van de ene rechtse node naar die zes setjes
        \draw (rechterkant)  edge[pijl]   node[above,midway]{$E_{-1,0}$} (2);
        \draw (rechterkant)  edge[pijl]   node[above,midway]{$E_{0,1}$} (3);
         \draw (rechterkant)  edge[pijl]   node[above,midway]{$E_{0,2}$} (4);
         \draw (rechterkant)  edge[pijl]   node[below,midway]{$E_{1,0}$} (5);
          \draw (rechterkant)  edge[pijl]   node[above,midway]{$E_{1,1}$} (6);
              \draw (rechterkant)  edge[pijl]   node[below,midway]{$E_{1,2}$} (7);
        
         %ik trek zes lussen die gewoon van CP naar CP gaan (en niet van of naar een kleinere set gaan)
         %drie komen uit die ene bovenste node, de andere drie uit de onderste 
       \draw (1.north west) edge[lus,out=150,in=240,distance=30mm] node[left] {$A_{1,1}$} (1.south west);
        \draw (1.north) edge[lus,out=140,in=70,distance=40 mm] node[left] {$A_{0,1}$} (1.north east);
        \draw (1.east) edge[lus,out=60,in=20,looseness=60,distance=45mm] node[right] {$A_{0,2}$} (1.south east);
        \draw (8.west) edge[lus,out=190,in=210,distance=30mm] node[left] {$A_{1,1}$} (8.north west);
         \draw (8.south) edge[lus,out=260,in=280,distance=30mm] node[left] {$A_{1,1}$} (8);
          \draw (8.east) edge[lus,out=-20,in=0,distance=30mm] node[right] {$A_{1,1}$} (8.east);
           \end{tikzpicture}

Ik wou een plaatje posten maar ik krijg het niet geexporteerd , en Latexit (dat normaa snel code omzet naar jpeg) lijkt dit ook te geavanceerd te vinden.


Wijziging : dat is dan toch gelukt:



Verder zou het misschien iets duidelijker kunnen. Maar ik weet niet of dat op elementaire wijze kan gewijzigd worden?

[ Bericht 0% gewijzigd door zuiderbuur op 06-11-2008 11:27:16 ]
  donderdag 6 november 2008 @ 12:00:25 #120
147503 Iblis
aequat omnis cinis
pi_62995197
Het is prima, eventueel kun je dit doen in de matrix

|(2) [set]|

In plaats van |(2)| in een cell. Dan geef je die node direct de vorm van een ellipse en hoef je niet de fit te doen. Ik maak trouwens in preview screenshots met appeltje+shift+4 (komt er een crosshair en dan kun je de regio selecteren...).
Daher iſt die Aufgabe nicht ſowohl, zu ſehn was noch Keiner geſehn hat, als, bei Dem, was Jeder ſieht, zu denken was noch Keiner gedacht hat.
pi_62998568
Wow dat Tikz is dus helemaal de max man voor plaatjes is dat nieuw ofzo...?
pi_63000233
column sep={2cm,between origins}] {
|(1)| 1 & |(D)| D \\
|(2)| 2 & |(C)| C \\
|(3)| 3 & |(B)| B \\
|(4)| 4 & |(A)| A \\
};

Ik begrijp toch goed dat de eerste 1 ( of 2..) hier slaat op de naam, dus dat hij die "plaats", die "node" moet onthouden onder de naam 1 , en dat dat altijd tussen |( en )| moet, terwijl die andere 1 gewoon een stuk tekst is dat even goed iets anders had kunnen zijn?
  donderdag 6 november 2008 @ 17:02:53 #123
147503 Iblis
aequat omnis cinis
pi_63004989
quote:
Op donderdag 6 november 2008 13:44 schreef Wouser het volgende:
Wow dat Tikz is dus helemaal de max man voor plaatjes is dat nieuw ofzo...?
Redelijk ja. Eerst was er pgf, en TikZ bestaat nu 2 jaar, maar versie 2.00 is duidelijk een verbetering, en dat bestaat een half jaar. Ik geloof dat het door een kerel in Duitsland geschreven wordt… iemand zoveel tijd had dat hij twee studies kon afronden en daarna kon promoveren om voor z'n 30e prof te zijn en TeX-goeroe te worden om TikZ te schrijven.
Daher iſt die Aufgabe nicht ſowohl, zu ſehn was noch Keiner geſehn hat, als, bei Dem, was Jeder ſieht, zu denken was noch Keiner gedacht hat.
  donderdag 6 november 2008 @ 17:08:05 #124
147503 Iblis
aequat omnis cinis
pi_63005104
quote:
Op donderdag 6 november 2008 14:27 schreef zuiderbuur het volgende:
column sep={2cm,between origins}] {
|(1)| 1 & |(D)| D \
|(2)| 2 & |(C)| C \
|(3)| 3 & |(B)| B \
|(4)| 4 & |(A)| A \
};

Ik begrijp toch goed dat de eerste 1 ( of 2..) hier slaat op de naam, dus dat hij die "plaats", die "node" moet onthouden onder de naam 1 , en dat dat altijd tussen |( en )| moet, terwijl die andere 1 gewoon een stuk tekst is dat even goed iets anders had kunnen zijn?
Ja, dat klopt. Je kunt hiervoor het hoofdstuk over matrices lezen. Als samenvatting, er zijn twee manieren om matrices te specificeren. Je kunt dit doen:

\matrix {
\node[opties] (naam) {inhoud}; & \node[opties] (naam2) {inhoud};
}

Of je kunt doen:

\matrix[matrix of nodes] {
|[opties] (naam)| inhoud & |[opties] (naam)|
}

Het eerste is duidelijk uitgebreider (en flexibeler als je niet per se nodes wilt, maar dat wil je heel vaak wel).

En als je zeker weet dat inhoud altijd wiskundig is, dan kun je in plaats van:

\matrix {
\node[opties] (naam) {$inhoud$}; & \node[opties] (naam2) {$inhoud$};
}

\matrix[matrix math of nodes] {
|[opties] (naam)| inhoud & |[opties] (naam)|
}


Doen. Het is dus 'gewoon' een korte notatie. Overigens kun je, als je OS X gebruikt, met Preview vrij goed zoeken in de manual. Alles staat er wel in beschreven…, dus als je matrix of nodes invult, dan komt Preview vrij snel met de plaats waar dit uitgelegd staat op de proppen – veel sneller dan Acrobat Reader.
Daher iſt die Aufgabe nicht ſowohl, zu ſehn was noch Keiner geſehn hat, als, bei Dem, was Jeder ſieht, zu denken was noch Keiner gedacht hat.
pi_63005294
quote:
Op donderdag 6 november 2008 17:02 schreef Iblis het volgende:

[..]

Redelijk ja. Eerst was er pgf, en TikZ bestaat nu 2 jaar, maar versie 2.00 is duidelijk een verbetering, en dat bestaat een half jaar. Ik geloof dat het door een kerel in Duitsland geschreven wordt… iemand zoveel tijd had dat hij twee studies kon afronden en daarna kon promoveren om voor z'n 30e prof te zijn en TeX-goeroe te worden om TikZ te schrijven.
Whehehe wat ik me eigenlijk net zo afvroeg. Waarmee programmeer je eigenlijk nou zoiets bijvoorbeeld dus als Tikz? Heeft hij dat ook allemaal in LaTeX gedaan ofzo
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')