7

I want to enlarge a xy-diagram. Using the \invisible command, I got some strange spacing. That's why I decided to redraw the complete diagram using the \only and the \phantom command. But there is an arrow, which does not react on \phantom and which I need for correct spacing.

In my picture it is the arrow with label \Psi. How can I hide it?

Here is my - not so minimal - example:

\documentclass{beamer}  
\usetheme{Copenhagen}  
%Packages  
\usepackage{amsmath}  
\usepackage{amssymb,bbm,amsthm}  
\usepackage[ngerman]{babel}  
\usepackage[all,knot,color]{xy}  
\xyoption{arc}    
%Some personal commands, that should not matter  
\newcommand{\C}{\mathbbm{C}}  
\renewcommand{\H}{\mathbbm{H}}  
\newcommand{\Exp}{\operatorname{Exp}}  
\newcommand{\QL}[2]  
{{\left.\raisebox{-.1em}{\ensuremath{#1}}\middle\backslash\raisebox{.1em}{\ensuremath{#2}}\right.}}     
% Arrow for a bijective mapping  
\newcommand{\bijar}[1][]{%  
 \ar[#1]  
 \ar@<0.4ex>@{}[#1]|-*=0[@]{\sim}}   
\let\varpi\pi  
\newcommand{\ggruppe}{{<\!\! g \!\! >}}    
\begin{document}  
\begin{frame}   
\only<1>{\[  
\xymatrix@R=13pt@C=12pt{  
\H\times\C \ar @{>>} [rr]^{\Exp} \ar @{>>} [rd]_{\varpi_1}   
\ar @{>>}[dd]_{\varepsilon_N}&  & D^\times\times\C^\times  \\  
& \QL{G_1}{\H\times\C} \ar @{>>}[dl]^{\varepsilon_{N,1}} \bijar [ur]_-{\Phi_1}& &   {\phantom{\QL{\ggruppe}{D^\times\times\C^\times}}}  
\ar @/^5pc/ @{-->>} [dlll]^{\Psi}  \\  
E^0(N) & & {\phantom{\QL{G_2}{\H\times\C}}}   
}  
\]}  
\only<2>{\[  
\xymatrix@R=13pt@C=12pt{  
\H\times\C \ar @{>>} [rr]^{\Exp} \ar @{>>} [rd]_{\varpi_1}   
\ar @{>>}[dd]_{\varepsilon_N}&  & D^\times\times\C^\times \ar @{>>} [dr]_-{p_g} \\  
& \QL{G_1}{\H\times\C} \ar @{>>}[dl]^{\varepsilon_{N,1}} \ar @{>>} [dr]_{\varpi_2} \bijar [ur]_-{\Phi_1}& & \QL{\ggruppe}{D^\times\times\C^\times}   
\ar @/^5pc/ @{-->>} [dlll]^{\Psi}  \\  
E^0(N) & & \QL{G_2}{\H\times\C} \ar @{>>} [ll]^{\varepsilon_{N,2}} \bijar [ur]_{\Phi_2}  
}  
\]}  
\end{frame}  
\end{document}
3
  • I'm reading your diagram. Why are you using the command \QL with raisebox? It's so ugly.
    – Sigur
    Apr 30, 2013 at 22:52
  • 1
    @Sigur: Actually, I kind of like the effect that Greyfox achieves here for taking quotients on the left. Normally, when I see something typeset like G \ H x C, I find it confusing to translate this to "take H x C and mod out by G acting on the right." When something like this is handwritten, the G is often lowered slightly to emphasize that the "main noun of the noun phrase" is H x C. May 2, 2013 at 12:49
  • @CharlesStaats This is exactly the idea of the raiseboxes. I just want to add, that it avoids a lot of brackets, since one should write G \ (H x C) for beeing exact - I usually have (G x Z)(H x C). Also I have a few double qoutients, e.g. I show that C(B\A) and (C\B)\A are isomorphic. When A,B,C are products I find it easier to read, if I have a fraction-like quotient.
    – Greyfox
    May 2, 2013 at 18:15

1 Answer 1

6

I changed a little bit. For example, I inserted the \sim for bijection directly on the arrow.

Is it necessary to use that raise box for some commands? Also, why not use \langle \rangle instead of < >?

\begin{frame}[t] %% note the option [t] here
\only<1>{\[  
\xymatrix@R=13pt@C=12pt{  
\H\times\C \ar @{->>}[rr]^{\Exp} \ar@{->>}[rd]_{\varpi_1}\ar@{->>}[dd]_{\varepsilon_N} &  & D^\times\times\C^\times \ar@{->>}[dr]_-{p_g}  \\  
 & \QL{G_1}{\H\times\C}\ar@{->>}[dl]^{\varepsilon_{N,1}} \ar[ur]_-{\Phi_1}^{\sim}\ar[dr]_{\pi_2} & &  \QL{\ggruppe}{D^\times\times\C^\times} \\  
 E^0(N) & & \QL{G_2}{\H\times\C} \ar@{->>}[ll]^{\varepsilon_{N,2}} \ar[ur]_{\Phi_2}^{\sim}
}  
\]} 

\only<2->{\[  %% I changed the overlay specification here
\xymatrix@R=13pt@C=12pt{  
\H\times\C \ar @{->>}[rr]^{\Exp} \ar@{->>}[rd]_{\varpi_1}\ar@{->>}[dd]_{\varepsilon_N} &  & D^\times\times\C^\times \ar@{->>}[dr]_-{p_g}  \\  
 & \QL{G_1}{\H\times\C}\ar@{->>}[dl]^{\varepsilon_{N,1}} \ar[ur]_-{\Phi_1}^{\sim}\ar[dr]_{\pi_2} & &  \QL{\ggruppe}{D^\times\times\C^\times} \ar @/^5pc/ @{-->>} [dlll]^{\Psi} \\  
 E^0(N) & & \QL{G_2}{\H\times\C} \ar@{->>}[ll]^{\varepsilon_{N,2}} \ar[ur]_{\Phi_2}^{\sim} 
}
\]}  

\only<3->{text to appear starting from 3rd slide}
\end{frame}  

enter image description here

5
  • As far as I see, you just left the arrow away in the first diagram. As a result the diagram needs less space. When I add the arrow in the second diagram, LaTeX moves the position a bit, especialy if I have text above the diagram. I search for a way to "phantomise" the arrow first, so that the first part of the diagram stays exactly, where it is and the second part just appears later. I tried \phantom{\ar ...}, but without any success.
    – Greyfox
    May 1, 2013 at 17:08
  • Thx for the advice of using \langle. When I found out about these commands I changed them nearly everywhere in my files. Obviously I forgot here.
    – Greyfox
    May 1, 2013 at 17:10
  • @Greyfox, yes, you are right. I had noticed that. In this case, I suggest you to use a frame only for the diagram and use an option to vertical align on the top, that is, \begin{frame}[t].
    – Sigur
    May 2, 2013 at 12:28
  • @Greyfox, please, see the edited code above.
    – Sigur
    May 2, 2013 at 12:32
  • 1
    Now, I understand and I can do, as you wrote. Actually in my case, there is text above the diagram. But your solution should still work, I think. Until now, I solved the problem in an ugly way, by adding a vspace below the diagram, which I adjusted by hand. Thx a lot, for your ideas!
    – Greyfox
    May 2, 2013 at 18:19

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .