1 van 1

Fundamentele veelhoek in LaTeX

Geplaatst: wo 16 mei 2012, 21:46
door Drieske
Iemand enig idee hoe je dit in LaTeX vlot voor elkaar krijgt? Zie hier voor voorbeelden. Er is wel nog een extra "voorwaarde": ik wil in het midden nog een cirkeltje tekenen. De straal doet er niet zozeer toe, zolang het maar volledig in het vierkant ligt. Zelf dacht ik aan TikZ, maar absoluut geen idee hoe die extra voorwaarde van de cirkel voor elkaar te krijgen.

PS: in concreto wil ik de fundamental polygon van het projectieve vlak tekenen.

Re: Fundamentele veelhoek in LaTeX

Geplaatst: do 17 mei 2012, 00:40
door TD
Je wil dus iets zoals deze figuur maar dan met een cirkel erin? Dat is zeker mogelijk in TikZ, of bv. met Asymptote. Of is het nog iets anders?

Re: Fundamentele veelhoek in LaTeX

Geplaatst: do 17 mei 2012, 09:33
door Drieske
Dat is inderdaad wat ik wil. Ik heb het vooralsnog, denk ik, voor elkaar gekregen. Maar of het het meest efficiënt is, weet ik niet. Mijn code:

Code: Selecteer alles


\documentclass[a4paper, 12 pt]{article}

..//..

\usepackage{tikz}

\usetikzlibrary{decorations.markings}

\usetikzlibrary{patterns}

..//..

\begin{document}

\begin{center}

\begin{tikzpicture}

\begin{scope}[thick,decoration={markings, mark=at position 0.5 with {\arrow{<}}}]

\draw[postaction={decorate}] (-2,0)--(2,0) node[below] at (0,0) {a};

\draw[postaction={decorate}] (2,0)--(2,3) node[right] at (2, 1.5) {b};

\draw[postaction={decorate}] (2,3)--(-2,3) node[above] at (0,3) {a};

\draw[postaction={decorate}] (-2,3)--(-2,0) node[left] at (-2,1.5) {b};

\draw[fill = red] (0,1.5) circle (1cm);

\draw[fill] (0,1.5) circle (0.03cm);

\end{scope}

\end{tikzpicture}

\end{center}

\end{document}

En dat geeft als figuur:
WSF_TeX
WSF_TeX 790 keer bekeken
Nu zou ik graag nog een manier vinden om de fundamental polygon in te kleuren. Zoals ik nu ook met de cirkel deed. Enig idee hoe dat werkt?

Oja, en mocht je een betere manier weten om een punt te tekenen: i'm all ears :P .

Re: Fundamentele veelhoek in LaTeX

Geplaatst: do 17 mei 2012, 13:30
door TD
Het is al een tijd geleden dat ik nog in TikZ heb geschreven, maar volgens mij werkt iets zoals:

\draw[fill=kleur] (a,b) rectangle (c,d);

Met a,b,c,d coördinaten.

Re: Fundamentele veelhoek in LaTeX

Geplaatst: do 17 mei 2012, 13:31
door Drieske
Klopt. Maar dan moet ik die rechthoek exact over/onder mijn pijltjes doen passen... Iets wat uiteraard gaat, maar niet meteen elegant is?

Re: Fundamentele veelhoek in LaTeX

Geplaatst: do 17 mei 2012, 13:34
door TD
Met de coördinaten is dat toch exact? Als je eerst de rechthoek tekent en daarna de zijden met pijltjes, zie je dan 'randeffecten'?

Voor een punt, misschien werkt:

\coordinate (naam) at (a,b);

Re: Fundamentele veelhoek in LaTeX

Geplaatst: do 17 mei 2012, 13:40
door Drieske
Ja, de veelhoek erover (of eronder, hoe je het ook wilt bekijken) passen, is geen probleem. Het leek me alleen iets wat niet de bedoeling was :D .

Helaas geeft die coordinate gewoon niets weer.

Re: Fundamentele veelhoek in LaTeX

Geplaatst: do 17 mei 2012, 13:43
door TD
Drieske schreef: do 17 mei 2012, 13:40
Helaas geeft die coordinate gewoon niets weer.


Hm oké, maar de oplossing met de (kleine) cirkel is prima :) .

Re: Fundamentele veelhoek in LaTeX

Geplaatst: do 17 mei 2012, 13:44
door Drieske
Inderdaad :) . Alleen zo omslachtig allemaal! Het is dat het in TikZ allemaal er gewoon beter uitziet, want anders gaf ik het op :D .

Re: Fundamentele veelhoek in LaTeX

Geplaatst: do 17 mei 2012, 14:08
door TD
Ik teken tegenwoordig vooral in Asymptote, het integreert iets minder gemakkelijk in LaTeX maar het is wiskundig wat krachtiger en ik vind de syntax logischer. Dit stukje code:

Code: Selecteer alles


size(6cm,0);

pair A=(-2,0), B=(2,0), C=(2,3), D=(-2,3);

filldraw(A--B--C--D--cycle,lightblue);

draw(Label("$a$",Relative(.5),S),B--A,linewidth(1.3),MidArrow(8));

draw(Label("$a$",Relative(.5),N),D--C,linewidth(1.3),MidArrow(8));

draw(Label("$b$",Relative(.5),E),C--B,linewidth(1.3),MidArrow(8));

draw(Label("$b$",Relative(.5),W),A--D,linewidth(1.3),MidArrow(8));

filldraw(circle((0,1.5),1),1bp+lightred);

dot((0,1.5));

genereert bijvoorbeeld (in pdf, dus netjes vectorieel om in je LaTeX in te voegen; nu naar png omgezet):

Afbeelding

En het is erg eenvoudig om te spelen met de stijl van pijltjes, diktes, (LaTeX) fonts etc.

Re: Fundamentele veelhoek in LaTeX

Geplaatst: do 17 mei 2012, 14:17
door Drieske
Klinkt interessant. Alleen kan ik dat niet rechtstreeks gebruiken via MikTeX precies?

Re: Fundamentele veelhoek in LaTeX

Geplaatst: do 17 mei 2012, 14:22
door TD
Het is een pakket dat je kan installeren, dan integreert het in LaTeX via \usepackage{asymptote} en kan je code zoals hierboven tussen asy-tags zetten (\begin{asy}...\end{asy}). Of je maakt je figuren buiten LaTeX en je gebruikt \includegraphics om de gegenereerde pdf in te voegen.

Re: Fundamentele veelhoek in LaTeX

Geplaatst: do 17 mei 2012, 14:38
door Drieske
Het ziet er iets zeer nuttig en handigs uit op het eerste zicht. Echter krijg ik het niet meteen aan de praat, dus zal dat waarschijnlijk voor de zomervakantie zijn :P . Alvast bedankt, TD!

Re: Fundamentele veelhoek in LaTeX

Geplaatst: ma 21 mei 2012, 20:14
door tempelier
Ook mogelijk:

Maak de tekening in Xfig of in Postcript (EPS) en importeer het als plaatje.