Difference between revisions of "Public:Writing LaTeX"

m (Xy package)
m (Xy package)
Line 104: Line 104:
</code>
</code>


[https://sonoisa.github.io/xyjax-v3/xyjax-v3.html This page] at the bottom includes more example diagrams. For more details about the syntax see the original [https://www.tug.org/applications/Xy-pic/ Xy pic docummentation].
[https://sonoisa.github.io/xyjax-v3/xyjax-v3.html This page] at the bottom includes more example diagrams. For more details about the syntax see the original [https://www.tug.org/applications/Xy-pic/ Xy pic docummentation] and also these [https://www.math.arizona.edu/~swig/documentation/xypic/Xypic.pdf great slides] (by Cameron McLeman) with many more nice examples.


'''More examples:'''
'''More examples'''


Basic commutative diagrams, potentially with fancy arrows
Basic commutative diagrams, potentially with fancy arrows:
\[
\[
\xymatrix{
\xymatrix{
Line 120: Line 120:
}
}
\]
\]
Bend arrows as well as loops are also allowed!
Bend arrows as well as loops are also allowed:
\[
\[
\xymatrix@1{
\xymatrix@1{

Revision as of 23:16, 2 November 2022

\( \newcommand\Ek{\mathbb E_k} \newcommand\Pk{\mathbb P_k} \)

This page serves as an example of how to write LaTeX formulas on this wiki. Go to Edit of this page to see how it's done (especially see the top of the text where I define new macros the same way as we would do in the regular LaTeX). Internally it uses MathJax as its LaTeX engine. See this mathoveflow thread for reference.

Note that there are minor differences with LaTeX on this Wiki. Inline mathematics is typeset with \(...\), and <math> HTML tag. This means that $...$ won't work! And display style maths is written with \[...\], \begin{XXX}...\end{XXX}, where XXX can be, for example, align.


See for example this \(\Ek A\) and \(\Pk A\) and also the following:

\[ \Ek A =\ ... \] and \begin{align} \Pk A = ... \end{align}

Note that the advantage of \(...\) is that it is also valid LaTeX, so it can be then just copy-pasted into papers, when in rush :-).

Commutative diagrams

Matrices/arrays

For commutative diagrams the simplest option is to just use arrays:

\[ \begin{array}{ccc} 0 & \xrightarrow{i} & A & \xrightarrow{f} & B & \xrightarrow{q} & C & \xrightarrow{d} & 0\\ \downarrow & \searrow & \downarrow & \nearrow & \downarrow & \searrow & \downarrow & \nearrow & \downarrow\\ 0 & \xrightarrow{j} & D & \xrightarrow{g} & E & \xrightarrow{r} & F & \xrightarrow{e} & 0 \end{array}\]

or like so \[ \newcommand{\ra}[1]{\kern-1.5ex\xrightarrow{\ \ #1\ \ }\phantom{}\kern-1.5ex} \newcommand{\ras}[1]{\kern-1.5ex\xrightarrow{\ \ \smash{#1}\ \ }\phantom{}\kern-1.5ex} \newcommand{\da}[1]{\bigg\downarrow\raise.5ex\rlap{\scriptstyle#1}} \begin{array}{c} 0 & \ra{f_1} & A & \ra{f_2} & B & \ra{f_3} & C & \ra{f_4} & D & \ra{f_5} & 0 \\ \da{g_1} & & \da{g_2} & & \da{g_3} & & \da{g_4} & & \da{g_5} & & \da{g_6} \\ 0 & \ras{h_1} & 0 & \ras{h_2} & E & \ras{h_3} & F & \ras{h_4} & 0 & \ras{h_5} & 0 \\ \end{array} \] Complicated diagrams can be made by just stacking arrays/matrices in layers, e.g. \[ \matrix{ \mathbb C(A) & \xrightarrow{h_t} & B \\ {}_{\epsilon^{\mathbb C}} \downarrow & \matrix{ \nwarrow {}^{\iota_f} & & {}^g \nearrow \\ & \mkern-20mu X \xrightarrow{\quad\phi\quad} Y \mkern-20mu & \\ \swarrow {}_{f} & & {}_{\iota_g} \searrow } & \uparrow {}_{\epsilon^{\mathbb D}} \\ A & \underset{h_b}{\xleftarrow{\quad}} & \mathbb D(B) } \]

CD package

Another option is to use CD \(\require{amscd}\) \begin{CD} \mathbb{Z}/p^n\mathbb{Z} @>{\theta_{n+1,\alpha}}>> U_1/U_{n+1}\\ @VVV @VVV\\ \mathbb{Z}/p^{n-1}\mathbb{Z} @>{\theta_{n,\alpha}}>> U_1/U_n \end{CD} However, CD doesn't support diagnoal arrows [1]. Note that to use CD one has to include <math>\require{amscd}</math> somewhere in the text. Basic documentation of CD can be found here.

Xy package

And finally, with XyJax package, we can now create fancy diagrams with diagonal arrows!

\begin{xy} \xymatrix { U \ar@/_/[ddr]_y \ar@{.>}[dr]|{\langle x,y \rangle} \ar@/^/[drr]^x \\ & X \times_Z Y \ar[d]^q \ar[r]_p & X \ar[d]_f \\ & Y \ar[r]^g & Z } \end{xy}

The basic pattern is: \begin{xy} \xymatrix { ... } \end{xy} or simply within a math environment e.g. as \( \xymatrix { ... } \)

This page at the bottom includes more example diagrams. For more details about the syntax see the original Xy pic docummentation and also these great slides (by Cameron McLeman) with many more nice examples.

More examples

Basic commutative diagrams, potentially with fancy arrows: \[ \xymatrix{ A\ar[r]^f\ar[d]_h & B\ar[dl]^g \\ C } \qquad \xymatrix@1{ A\ar@{->>}[r]^f\ar@{=}[d]_h & B\ar@{=>}[d]^g \\ C\ar@{>->}[r]_h & D \ar@{-->}[lu] } \] Bend arrows as well as loops are also allowed: \[ \xymatrix@1{ A \ar@/^3pc/[r] \ar@/^2pc/[r] \ar@/^1pc/[r] \ar@/_1pc/[r] \ar@/_2pc/[r] \ar@/_3pc/[r] & B } \qquad \xymatrix{ A \ar@(ru,lu)[]_{\id_A} & B \ar@(ld,d)[l] } \]

Notice the parameter \xymatrix@1{ ... } which ensures enough spacing within nodes. The fancy bend arrows are specified by \ar@(<out>,<in>).

Collapsible sections

For writing parts of text that are collapsed and the viewer needs to click on "Expand" to see them, there is a simple trick. Just put the desired text within a div like this:

<div class="mw-collapsible mw-collapsed"> ... </div>

This is especially handy when hiding proofs, which can be done as follows:

<div class="proof mw-collapsible mw-collapsed"> (a proof goes here) </div>