6

I'm trying to draw a diagram my teacher drew on the blackboard to summarize divisibility relationships and I just can't get it right. Here is my best attempt:

\documentclass[a4paper]{report}
\usepackage[all]{xy}
\usepackage{amsmath,amsfonts,amssymb,graphicx,color}

\begin{document}
\begin{gather*}
|S^G|=|G:\operatorname{Stab}_G(S)|=|G:N_G(S)|. \\
\xymatrix{
G \ar@{{}*\composite{\hbox{\scalebox{2}{$\underset{\Big\{}{\scriptscriptstyle\text{\color{white}A}}$}}}}@<-3ex>[dd]_{p'\quad}\ar@{{}*\composite{\hbox{\scalebox{1}[2]{\}}}}{}}@<1.5ex>[d]^{p'}\ar@{-}[d] \\
N_G(S) \ar@{-}[d] \\
S \ar@{-}[d] \\
1
}
\end{gather*}
\end{document}

Result:

enter image description here

OK, there is an extra line in the code, and I should use a single equation for an isolated matrix. Anyways, the problem is obvious: those long braces just won't properly extend. I need the big brace to extend from close to the G to close to the S. I tried lots of variants, but the brace invariably starts either far from the G or above (!!) the G, and always ends close to the N_G(S). The little brace is also somewhat problematic, but I guess I can leave it as is, and besides when (and if) I fix the big one the little one will probably be easy to fix. So how do I fix that big brace?

  • Looks like a diagram to be made with tikz-cd. – Sigur Jul 19 '15 at 18:13
  • If there is really no alternative I'll learn how to use tikz-cd and make that diagram with it. But my time might not be much. I have to deal with the notes of a teacher who didn't prepare his lessons (I mean the exercise teacher for the course whose theory teacher drew the diagram), and wading through those might take even longer than I fear. For example one of those unprepred lesson took me some 8+h to complete. So I really don't know what to expect from that and I'd rather avoid learning to use a new package from scratch. But then if there really is no alternative... – MickG Jul 19 '15 at 18:52
  • see an option below. – Sigur Jul 19 '15 at 19:23
2

Here is a tikz solution. The baces are drawn using the decorations library.

enter image description here

\documentclass[preview]{standalone}
\usepackage{amsmath}

\usepackage{tikz}
\usetikzlibrary{positioning}
\usetikzlibrary{decorations.pathreplacing}

\begin{document}

\begin{gather*}
|S^G|=|G:\operatorname{Stab}_G(S)|=|G:N_G(S)|.
\end{gather*}

\begin{center}
\begin{tikzpicture}[
    % brace style
    bl/.style={decorate,decoration={brace,amplitude=10pt,raise=4pt,mirror},very thick},
    br/.style={decorate,decoration={brace,amplitude=7pt,raise=4pt}}]

    % spacing between the nodes and the braces
    \def\s{13pt}
    \def\t{19pt}

    % nodes
    \node (n1) at (0,0)      {$G$};
    \node [below=of n1] (n2) {$N_G(S)$};
    \node [below=of n2] (n3) {$S$};
    \node [below=of n3] (n4) {$1$};

    % arrows
    \path[->]
        (n1) edge node {} (n2)
        (n2) edge node {} (n3)
        (n3) edge node {} (n4);

    % left brace
    \draw [bl] ([xshift=-\s]n1.center) -- ([xshift=-\s]n3.center)
        node [black,midway,xshift=-\t] {\footnotesize$p'$};

    % right brace
    \draw [br] ([xshift=\s]n1.center) -- ([xshift=\s]n2.center)
        node [black,midway,xshift=\t] {\footnotesize$p'$};

\end{tikzpicture}

\end{center}

\end{document}
  • I'll keep in mind that I can mimic an xy diagram with tikz nodes so that if I meet a similar case I switch to tikz. And sooner or later, I'll try my luck with tikz-cd too. But probably not before next year :). – MickG Jul 19 '15 at 20:37
3

If you find time and appetite for changing to , this would look like the following (most stuff taken from @sergej)

% arara: pdflatex

\documentclass{article}
\usepackage{tikz-cd}
\usetikzlibrary{decorations.pathreplacing, positioning}
\usepackage{mathtools}

\begin{document}
\begin{gather*}
|S^G|=|G:\operatorname{Stab}_G(S)|=|G:N_G(S)|\\
\begin{tikzcd}[every arrow/.append style=dash]
G 
\ar[thick, start anchor=center, end anchor=center, xshift=-1.7em, decorate,decoration={brace,amplitude=8pt,mirror}]{dd}[left=8pt]{p}
\ar[thick, start anchor=center, end anchor=center, xshift=1.7em, decorate,decoration={brace,amplitude=4pt}]{d}[right= 4pt]{p}
\ar{d} \\
N_G(S) \ar{d} \\
S \ar{d} \\
1
\end{tikzcd}
\end{gather*}
\end{document}

enter image description here

  • 1
    p' in fact :P. Seems pretty straightforward. Maybe it's just the idea of using a new package that's putting me off. I've adopted the tikz solution because I'm already using tikz, or at least loading it, and I have some experience with it. Maybe one day I'll feel like taking a break and will tackle the tikz-cd documentation and finally doff xypic. Until then, +1 :). – MickG Jul 19 '15 at 20:44
  • @MickG Yes, noted that a second after uploading the image... Doesn't matter, too lazy :-) Those labels should get a little bit more distance I guess and I believe, positioning is not needed... but I leave it as it is, as you got the idea. tikz-cd loads TikZ internally so there is not much more overhead. – LaRiFaRi Jul 19 '15 at 20:46
  • Indeed it doesn't matter :). What does "arara" mean? – MickG Jul 19 '15 at 21:01
  • Oh. arara. Much like TeXShop's %TEX TS-Program = pdflatex (or whatever it is precisely). – MickG Jul 19 '15 at 21:24
  • @MickG Yes, this arara. Very handy tool. I always leave the directives in my MWE as they show quite understandable which compilation routine is needed (has been used). – LaRiFaRi Jul 20 '15 at 7:16
2

Is this enough to you?

\[
\xymatrix{
  G      \ar@{-}[d]    \ar@{-} `l[d] `[dd]_{p'} [dd]  \\
  N_G(S) \ar@{-}[d] \\
  S      \ar@{-}[d] \\
  1
}
\qquad
\xymatrix@C=1ex{% 1ex = space between collumns
 & G      \ar@{-}[d]   \ar@{-} `l/0pt[ld] `[dd]_{p'} [dd] \ar@{-} `r[dr] `[d]^{p'} [d] & \\
 & N_G(S) \ar@{-}[d] & \\
 & S      \ar@{-}[d] \\
 & 1
}
\]

enter image description here

  • I'm not sure if it's OK to switch from braces to brackets or pseudo-parentheses. If it is, then this is good. But the right brace is missing :). – MickG Jul 19 '15 at 20:30
  • 1
    I accepted the tikz solution because of the unsureness. Upvoted this answer though. – MickG Jul 19 '15 at 20:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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