Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

I am trying to draw a two curved lines that form a chiasmata. I am imagining it would look like an 'X' that is composed of two CURVED lines such that it is wider than it is tall.

I also want to place four words, one at the end of each line. I want it to look something like this:

enter image description here

share|improve this question
1  
Welcome to TeX.SX! You can have a look at our starter guide to familiarize yourself further with our format. You wrote "I'm trying to draw...". What have you tried so far? Please post a minimal compilable document showing that you've tried to produce the image and then people will be happy to help you with any specific problems you may have. See minimal working example (MWE) for what needs to go into such a document. –  Jubobs Feb 26 at 9:33
9  
Shouldn't it be called chiasma? I believe that chiasmata is plural. –  egreg Feb 26 at 10:20

7 Answers 7

up vote 31 down vote accepted

With tikz:

\documentclass{article}

\usepackage{tikz}
\usetikzlibrary{positioning}

\begin{document}
\begin{tikzpicture}
        \node[align=right,anchor=east] at(0,0) (a) {Tragedy};
        \node[below=1cm of a.east,anchor=east] (b) {Appearence};
        \node[right=2cm of a,anchor=west] (c) {Comedy};
        \node[below=1cm of c.west,anchor=west] (d) {Reality};
        \draw (a) edge[out=0, in=180] (d);
        \draw (b) edge[out=0, in=180] (c);
\end{tikzpicture}

\end{document}

enter image description here

With bazier curves:

\documentclass[tikz,border=10pt]{standalone}

\usepackage{tikz}
\usetikzlibrary{positioning}

\begin{document}
\begin{tikzpicture}[font=\sffamily]
        \node[align=right,anchor=east] at(0,0) (a) {Tragedy};
        \node[below=1cm of a.east,anchor=east] (b) {Appearence};
        \node[right=2cm of a,anchor=west] (c) {Comedy};
        \node[below=1cm of c.west,anchor=west] (d) {Reality};
        \draw (a.east) .. controls (2,-0.35) and (0,-0.65).. (d.west);
        \draw (b.east) .. controls (2,-0.65) and (0,-0.35).. (c.west);
\end{tikzpicture}

\end{document}

enter image description here

And little cheating ;)

\documentclass[tikz,border=10pt]{standalone}

\usepackage{tikz}
\usetikzlibrary{positioning}

\begin{document}
\begin{tikzpicture}[font=\sffamily]
        \node[align=right,anchor=east] at(0,0) (a) {Tragedy};
        \node[below=1cm of a.east,anchor=east] (b) {Appearence};
        \node[right=2cm of a,anchor=west] (c) {Comedy};
        \node[below=1cm of c.west,anchor=west] (d) {Reality};
        \draw[olive,thick] (a) edge[out=0,in=0,distance=1.335cm] (b);
        \draw[olive,thick] (c) edge[out=180,in=180,distance=1.335cm] (d);
\end{tikzpicture}

\end{document}

enter image description here

And the last change. If you are finding it difficult to handle bazier curve controls, this is just another short cut:

\documentclass[tikz,border=10pt]{standalone}

\usepackage{tikz}
\usetikzlibrary{positioning}

\begin{document}
\begin{tikzpicture}[font=\sffamily]
        \node[align=right,anchor=east] at(0,0) (a) {Tragedy};
        \node[below=1cm of a.east,anchor=east] (b) {Appearence};
        \node[right=2cm of a,anchor=west] (c) {Comedy};
        \node[below=1cm of c.west,anchor=west] (d) {Reality};
        \path[draw=none] (a) -- (d) coordinate[midway] (m);
        \draw (a) edge[out=0,in=90] (m)
                            (m) edge[out=270,in=180] (d);
        \draw (b) edge[out=0,in=270] (m)
                            (m) edge[out=90,in=180] (c);
\end{tikzpicture}

\end{document}

enter image description here

share|improve this answer
4  
Jeez, no need to JPEG us like that. A simple PNG would absolutely have done it ;) –  Christian Feb 26 at 16:25
    
OP here. You are awesome! You not only saved my essay, but also I will now have the opportunity to practice using tikz and using \node and \draw. THANK YOU AGAIN!!! –  Jeeves Feb 26 at 22:47
    
@HarishKumar No, Christian didn't mean that :) He's talking about the image format. –  Manuel Feb 26 at 23:11
    
Due to copy-paste tragedy: you missed the reality of appearance, hence it's comedy guess where ? :) –  texenthusiast Feb 26 at 23:21
1  
@HarishKumar Thanks for fixing it. Looks much better now :) –  Christian Feb 27 at 10:45

Since the curve has all the appearance of the kappa curve, we can plot the kappa curve with pst-plot, given its polar equation (ρ = a/ tan θ):

        \documentclass[11pt, a4paper]{article}
        \usepackage[utf8]{inputenc}
        \usepackage[T1]{fontenc}
        \usepackage{lmodern}

        \usepackage[svgnames,pdf]{pstricks}
        \usepackage{pst-plot}

        \begin{document}

        \psset{unit=0.8cm}
        \begin{pspicture}(-4,-4)(4,4)
        \sffamily
        \psset{linewidth = 1pt, linecolor = IndianRed, plotpoints=200, plotstyle=curve, polarplot, algebraic, labelsep = 0.5em}
        \psclip{\pscircle[linestyle=none]{2.5}}%
         \psplot{0.5}{3}{1.5*cos(x)/sin(x)}
         \psplot{-0.5}{-3}{1.5*cos(x)/sin(x)}
         \endpsclip
         \uput[r](2.5; 32){Comedy} \uput[r](2.5; -32){Reality}
         \uput[l](-2.5; 32){Tragedy} \uput[l](-2.5; -32){Appearance}
         \end{pspicture}

        \end{document}

This gives:

enter image description here

share|improve this answer
    
Kudos for genuine fidelity to OP's sample image. The examples that are "emphasizing the crossing" are changing the emphasized meaning of the diagram in the process. Yours preserves the original sense impeccably. –  Jonathan Van Matre Feb 26 at 16:35
    
The above comment looks a lot sillier now that nearly everyone else has come around to the notion of respecting OP's spec drawing, but at the time you were swimming against the tide. –  Jonathan Van Matre Feb 27 at 23:50

With Metapost:

prologues := 3;
outputtemplate := "%j%c.eps";

beginfig(1);
z0 = right scaled 60; 
z1 = -z3 = z0 rotated 30;
z4 = -z2 = z0 rotated -30;

path p[];
p1 = z2 {right} .. {right} z4;
p2 = z3 {right} .. {right} z1;
draw p2; undraw p1 withpen pencircle scaled 4; draw p1;

defaultfont := "phvr8r";
label.lft("Tragedy",z2);
label.lft("Appearance",z3);
label.rt("Comedy",z1);
label.rt("Reality",z4);

endfig;
end.

which tries to place an emphasis on the crossing by making one line fly over the other.

enter image description here

If you would rather keep some ambiguity and make the shape a little less chi-like, you could try bending the paths to the vertical where they cross and perhaps getting rid of the undraw, like this:

p1 = z2 {right} .. {down} origin .. {right} z4;
p2 = z3 {right} .. {up}   origin .. {right} z1;
draw p1; draw p2;

which changes the above picture to produce something more like the OP diagram

enter image description here

share|improve this answer

Done by stacking and rotating text symbols.

\documentclass{article}
\usepackage{graphicx}
\usepackage{stackengine}
\begin{document}
\def\stackalignment{r}\stackanchor[10pt]{Tragedy}{Appearance}
\abovebaseline[-10pt]{\scalebox{3}{\rotatebox{90}{$\bigcup$}\kern-.8pt\rotatebox{90}{$\bigcap$}}}
\def\stackalignment{l}\stackanchor[10pt]{Comedy}{Reality}
\end{document}

enter image description here

share|improve this answer

run with xelatex

\documentclass{article}
\usepackage{pst-node}
\begin{document}
\noindent
\makebox[3cm][r]{\rnode{ul}{Tragedy}}\hspace{3cm}\rnode{ur}{Comedy}\\[1.25cm]
\makebox[3cm][r]{\rnode{ll}{Appearence}}\hspace{3cm}\rnode{lr}{Reality}
\nccurve[nodesep=5pt,angleB=180]{ul}{lr}
\nccurve[nodesep=5pt,angleB=180,border=2pt]{ll}{ur}

\end{document}

enter image description here

share|improve this answer

Warming up with PSTricks.

Option 1

\documentclass[preview,border=12pt]{standalone}
\usepackage{pst-node}
\begin{document}
\begin{psmatrix}[colsep=3cm,nodesep=2mm,arm=1.3,linearc=1]
    [mcol=r]Tragedy & [mcol=l]Comedy\\
    [mcol=r]Appearence & [mcol=l]Appearence
    \ncdiag{1,1}{2,1}
    \ncdiag[angle=180]{1,2}{2,2}
\end{psmatrix}
\end{document}

enter image description here

Option 2

\documentclass[preview,border=12pt]{standalone}
\usepackage{pst-node}
\begin{document}
\begin{psmatrix}[colsep=3cm,nodesep=5pt,angleB=180]
    [mcol=r]Tragedy & [mcol=l]Comedy\\
    [mcol=r]Appearence & [mcol=l]Appearence
    \nccurve{1,1}{2,2}
    \nccurve[border=2pt]{2,1}{1,2}
\end{psmatrix}
\end{document}

enter image description here

Option 3

\documentclass[preview,border=12pt]{standalone}
\usepackage{pst-node}
\begin{document}
\begin{psmatrix}[colsep=3cm,nodesep=5pt,angleB=180]
    [mcol=r]Tragedy & [mcol=l]Comedy\\
    [mcol=r]Appearence & [mcol=l]Appearence
    \ncdiag{1,1}{2,2}
    \ncdiag[border=2pt]{2,1}{1,2}
\end{psmatrix}
\end{document}

enter image description here

share|improve this answer
    
Due to copy-paste tragedy: you missed the reality of appearance, hence it's comedy guess where ? :) –  texenthusiast Feb 26 at 23:22
    
@texenthusiast: It was copied from Harish Kumar's answer. See his edit history for the details. –  Who is crazy first Feb 27 at 2:56
    
yes, i know. appearance was twice and missed the reality tex.stackexchange.com/questions/162475/… –  texenthusiast Feb 27 at 3:43

You can do it with xypic:

\documentclass{article}

\usepackage[all]{xypic}
\usepackage{amsmath}

\begin{document}
\begin{equation*}\xymatrix@R=5mm@C=2cm{
        \txt{Tragedy} \ar@{- }@(r,l)[dr] & \txt{Comedy}\\
        \txt{Appearance} \ar@{- }@(r,l)[ur] & \txt{Reality}
    }\end{equation*}

\end{document}

@R=5mm and @C=2cm set the column and row sizes. @{- } removes arrow heads and @(r,l) gives the lines their curvature. You can do a lot more with xypic.

example output

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.