\documentclass[12pt,titlepage]{article} \usepackage{amsmath} \usepackage{mathrsfs} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsthm} \usepackage{mathtools} \usepackage{graphicx} \usepackage{color} \usepackage{ucs} \usepackage[utf8x]{inputenc} \usepackage{xparse} \usepackage{hyperref} %----Macros---------- % % Unresolved issues: % % \righttoleftarrow % \lefttorightarrow % % \color{} with HTML colorspec % \bgcolor % \array with options (without options, it's equivalent to the matrix environment) % Of the standard HTML named colors, white, black, red, green, blue and yellow % are predefined in the color package. Here are the rest. \definecolor{aqua}{rgb}{0, 1.0, 1.0} \definecolor{fuschia}{rgb}{1.0, 0, 1.0} \definecolor{gray}{rgb}{0.502, 0.502, 0.502} \definecolor{lime}{rgb}{0, 1.0, 0} \definecolor{maroon}{rgb}{0.502, 0, 0} \definecolor{navy}{rgb}{0, 0, 0.502} \definecolor{olive}{rgb}{0.502, 0.502, 0} \definecolor{purple}{rgb}{0.502, 0, 0.502} \definecolor{silver}{rgb}{0.753, 0.753, 0.753} \definecolor{teal}{rgb}{0, 0.502, 0.502} % Because of conflicts, \space and \mathop are converted to % \itexspace and \operatorname during preprocessing. % itex: \space{ht}{dp}{wd} % % Height and baseline depth measurements are in units of tenths of an ex while % the width is measured in tenths of an em. \makeatletter \newdimen\itex@wd% \newdimen\itex@dp% \newdimen\itex@thd% \def\itexspace#1#2#3{\itex@wd=#3em% \itex@wd=0.1\itex@wd% \itex@dp=#2ex% \itex@dp=0.1\itex@dp% \itex@thd=#1ex% \itex@thd=0.1\itex@thd% \advance\itex@thd\the\itex@dp% \makebox[\the\itex@wd]{\rule[-\the\itex@dp]{0cm}{\the\itex@thd}}} \makeatother % \tensor and \multiscript \makeatletter \newif\if@sup \newtoks\@sups \def\append@sup#1{\edef\act{\noexpand\@sups={\the\@sups #1}}\act}% \def\reset@sup{\@supfalse\@sups={}}% \def\mk@scripts#1#2{\if #2/ \if@sup ^{\the\@sups}\fi \else% \ifx #1_ \if@sup ^{\the\@sups}\reset@sup \fi {}_{#2}% \else \append@sup#2 \@suptrue \fi% \expandafter\mk@scripts\fi} \def\tensor#1#2{\reset@sup#1\mk@scripts#2_/} \def\multiscripts#1#2#3{\reset@sup{}\mk@scripts#1_/#2% \reset@sup\mk@scripts#3_/} \makeatother % \slash \makeatletter \newbox\slashbox \setbox\slashbox=\hbox{$/$} \def\itex@pslash#1{\setbox\@tempboxa=\hbox{$#1$} \@tempdima=0.5\wd\slashbox \advance\@tempdima 0.5\wd\@tempboxa \copy\slashbox \kern-\@tempdima \box\@tempboxa} \def\slash{\protect\itex@pslash} \makeatother % math-mode versions of \rlap, etc % from Alexander Perlis, "A complement to \smash, \llap, and lap" % http://math.arizona.edu/~aprl/publications/mathclap/ \def\clap#1{\hbox to 0pt{\hss#1\hss}} \def\mathllap{\mathpalette\mathllapinternal} \def\mathrlap{\mathpalette\mathrlapinternal} \def\mathclap{\mathpalette\mathclapinternal} \def\mathllapinternal#1#2{\llap{$\mathsurround=0pt#1{#2}$}} \def\mathrlapinternal#1#2{\rlap{$\mathsurround=0pt#1{#2}$}} \def\mathclapinternal#1#2{\clap{$\mathsurround=0pt#1{#2}$}} % Renames \sqrt as \oldsqrt and redefine root to result in \sqrt[#1]{#2} \let\oldroot\root \def\root#1#2{\oldroot #1 \of{#2}} \renewcommand{\sqrt}[2][]{\oldroot #1 \of{#2}} % Manually declare the txfonts symbolsC font \DeclareSymbolFont{symbolsC}{U}{txsyc}{m}{n} \SetSymbolFont{symbolsC}{bold}{U}{txsyc}{bx}{n} \DeclareFontSubstitution{U}{txsyc}{m}{n} % Manually declare the stmaryrd font \DeclareSymbolFont{stmry}{U}{stmry}{m}{n} \SetSymbolFont{stmry}{bold}{U}{stmry}{b}{n} % Manually declare the MnSymbolE font \DeclareFontFamily{OMX}{MnSymbolE}{} \DeclareSymbolFont{mnomx}{OMX}{MnSymbolE}{m}{n} \SetSymbolFont{mnomx}{bold}{OMX}{MnSymbolE}{b}{n} \DeclareFontShape{OMX}{MnSymbolE}{m}{n}{ <-6> MnSymbolE5 <6-7> MnSymbolE6 <7-8> MnSymbolE7 <8-9> MnSymbolE8 <9-10> MnSymbolE9 <10-12> MnSymbolE10 <12-> MnSymbolE12}{} % Declare specific arrows from txfonts without loading the full package \makeatletter \def\re@DeclareMathSymbol#1#2#3#4{% \let#1=\undefined \DeclareMathSymbol{#1}{#2}{#3}{#4}} \re@DeclareMathSymbol{\neArrow}{\mathrel}{symbolsC}{116} \re@DeclareMathSymbol{\neArr}{\mathrel}{symbolsC}{116} \re@DeclareMathSymbol{\seArrow}{\mathrel}{symbolsC}{117} \re@DeclareMathSymbol{\seArr}{\mathrel}{symbolsC}{117} \re@DeclareMathSymbol{\nwArrow}{\mathrel}{symbolsC}{118} \re@DeclareMathSymbol{\nwArr}{\mathrel}{symbolsC}{118} \re@DeclareMathSymbol{\swArrow}{\mathrel}{symbolsC}{119} \re@DeclareMathSymbol{\swArr}{\mathrel}{symbolsC}{119} \re@DeclareMathSymbol{\nequiv}{\mathrel}{symbolsC}{46} \re@DeclareMathSymbol{\Perp}{\mathrel}{symbolsC}{121} \re@DeclareMathSymbol{\Vbar}{\mathrel}{symbolsC}{121} \re@DeclareMathSymbol{\sslash}{\mathrel}{stmry}{12} \re@DeclareMathSymbol{\bigsqcap}{\mathop}{stmry}{"64} \re@DeclareMathSymbol{\biginterleave}{\mathop}{stmry}{"6} \re@DeclareMathSymbol{\invamp}{\mathrel}{symbolsC}{77} \re@DeclareMathSymbol{\parr}{\mathrel}{symbolsC}{77} \makeatother % \llangle, \rrangle, \lmoustache and \rmoustache from MnSymbolE \makeatletter \def\Decl@Mn@Delim#1#2#3#4{% \if\relax\noexpand#1% \let#1\undefined \fi \DeclareMathDelimiter{#1}{#2}{#3}{#4}{#3}{#4}} \def\Decl@Mn@Open#1#2#3{\Decl@Mn@Delim{#1}{\mathopen}{#2}{#3}} \def\Decl@Mn@Close#1#2#3{\Decl@Mn@Delim{#1}{\mathclose}{#2}{#3}} \Decl@Mn@Open{\llangle}{mnomx}{'164} \Decl@Mn@Close{\rrangle}{mnomx}{'171} \Decl@Mn@Open{\lmoustache}{mnomx}{'245} \Decl@Mn@Close{\rmoustache}{mnomx}{'244} \makeatother % Widecheck \makeatletter \DeclareRobustCommand\widecheck[1]{{\mathpalette\@widecheck{#1}}} \def\@widecheck#1#2{% \setbox\z@\hbox{\m@th$#1#2$}% \setbox\tw@\hbox{\m@th$#1% \widehat{% \vrule\@width\z@\@height\ht\z@ \vrule\@height\z@\@width\wd\z@}$}% \dp\tw@-\ht\z@ \@tempdima\ht\z@ \advance\@tempdima2\ht\tw@ \divide\@tempdima\thr@@ \setbox\tw@\hbox{% \raise\@tempdima\hbox{\scalebox{1}[-1]{\lower\@tempdima\box \tw@}}}% {\ooalign{\box\tw@ \cr \box\z@}}} \makeatother % \mathraisebox{voffset}[height][depth]{something} \makeatletter \NewDocumentCommand\mathraisebox{moom}{% \IfNoValueTF{#2}{\def\@temp##1##2{\raisebox{#1}{$\m@th##1##2$}}}{% \IfNoValueTF{#3}{\def\@temp##1##2{\raisebox{#1}[#2]{$\m@th##1##2$}}% }{\def\@temp##1##2{\raisebox{#1}[#2][#3]{$\m@th##1##2$}}}}% \mathpalette\@temp{#4}} \makeatletter % udots (taken from yhmath) \makeatletter \def\udots{\mathinner{\mkern2mu\raise\p@\hbox{.} \mkern2mu\raise4\p@\hbox{.}\mkern1mu \raise7\p@\vbox{\kern7\p@\hbox{.}}\mkern1mu}} \makeatother %% Fix array \newcommand{\itexarray}[1]{\begin{matrix}#1\end{matrix}} %% \itexnum is a noop \newcommand{\itexnum}[1]{#1} %% Renaming existing commands \newcommand{\underoverset}[3]{\underset{#1}{\overset{#2}{#3}}} \newcommand{\widevec}{\overrightarrow} \newcommand{\darr}{\downarrow} \newcommand{\nearr}{\nearrow} \newcommand{\nwarr}{\nwarrow} \newcommand{\searr}{\searrow} \newcommand{\swarr}{\swarrow} \newcommand{\curvearrowbotright}{\curvearrowright} \newcommand{\uparr}{\uparrow} \newcommand{\downuparrow}{\updownarrow} \newcommand{\duparr}{\updownarrow} \newcommand{\updarr}{\updownarrow} \newcommand{\gt}{>} \newcommand{\lt}{<} \newcommand{\map}{\mapsto} \newcommand{\embedsin}{\hookrightarrow} \newcommand{\Alpha}{A} \newcommand{\Beta}{B} \newcommand{\Zeta}{Z} \newcommand{\Eta}{H} \newcommand{\Iota}{I} \newcommand{\Kappa}{K} \newcommand{\Mu}{M} \newcommand{\Nu}{N} \newcommand{\Rho}{P} \newcommand{\Tau}{T} \newcommand{\Upsi}{\Upsilon} \newcommand{\omicron}{o} \newcommand{\lang}{\langle} \newcommand{\rang}{\rangle} \newcommand{\Union}{\bigcup} \newcommand{\Intersection}{\bigcap} \newcommand{\Oplus}{\bigoplus} \newcommand{\Otimes}{\bigotimes} \newcommand{\Wedge}{\bigwedge} \newcommand{\Vee}{\bigvee} \newcommand{\coproduct}{\coprod} \newcommand{\product}{\prod} \newcommand{\closure}{\overline} \newcommand{\integral}{\int} \newcommand{\doubleintegral}{\iint} \newcommand{\tripleintegral}{\iiint} \newcommand{\quadrupleintegral}{\iiiint} \newcommand{\conint}{\oint} \newcommand{\contourintegral}{\oint} \newcommand{\infinity}{\infty} \newcommand{\bottom}{\bot} \newcommand{\minusb}{\boxminus} \newcommand{\plusb}{\boxplus} \newcommand{\timesb}{\boxtimes} \newcommand{\intersection}{\cap} \newcommand{\union}{\cup} \newcommand{\Del}{\nabla} \newcommand{\odash}{\circleddash} \newcommand{\negspace}{\!} \newcommand{\widebar}{\overline} \newcommand{\textsize}{\normalsize} \renewcommand{\scriptsize}{\scriptstyle} \newcommand{\scriptscriptsize}{\scriptscriptstyle} \newcommand{\mathfr}{\mathfrak} \newcommand{\statusline}[2]{#2} \newcommand{\tooltip}[2]{#2} \newcommand{\toggle}[2]{#2} % Theorem Environments \theoremstyle{plain} \newtheorem{theorem}{Theorem} \newtheorem{lemma}{Lemma} \newtheorem{prop}{Proposition} \newtheorem{cor}{Corollary} \newtheorem*{utheorem}{Theorem} \newtheorem*{ulemma}{Lemma} \newtheorem*{uprop}{Proposition} \newtheorem*{ucor}{Corollary} \theoremstyle{definition} \newtheorem{defn}{Definition} \newtheorem{example}{Example} \newtheorem*{udefn}{Definition} \newtheorem*{uexample}{Example} \theoremstyle{remark} \newtheorem{remark}{Remark} \newtheorem{note}{Note} \newtheorem*{uremark}{Remark} \newtheorem*{unote}{Note} %------------------------------------------------------------------- \begin{document} %------------------------------------------------------------------- \section*{How to get started} \hypertarget{contents}{}\subsubsection*{{Contents}}\label{contents} \hypertarget{contents_2}{}\subsubsection*{{Contents}}\label{contents_2} [[!include contents]] \hypertarget{how_to_get_started}{}\section*{{How to get started}}\label{how_to_get_started} \noindent\hyperlink{introduction}{Introduction}\dotfill \pageref*{introduction} \linebreak \noindent\hyperlink{dont_worry_too_much}{Don't worry too much!}\dotfill \pageref*{dont_worry_too_much} \linebreak \noindent\hyperlink{forwarding_your_blog_comment_to_the_lab}{Forwarding your blog comment to the $n$Lab}\dotfill \pageref*{forwarding_your_blog_comment_to_the_lab} \linebreak \noindent\hyperlink{copying_material_from_elsewhere_on_the_web_into_the_lab}{Copying material from elsewhere on the web into the $n$Lab}\dotfill \pageref*{copying_material_from_elsewhere_on_the_web_into_the_lab} \linebreak \noindent\hyperlink{optional__how_to_place_your_material_in_context}{OPTIONAL -- how to place your material in context}\dotfill \pageref*{optional__how_to_place_your_material_in_context} \linebreak \noindent\hyperlink{use_google_to_check_for_existing_content}{Use Google to check for existing content}\dotfill \pageref*{use_google_to_check_for_existing_content} \linebreak \noindent\hyperlink{create_a_new_entry_by_creating_a_link_to_it}{Create a new entry by creating a link to it}\dotfill \pageref*{create_a_new_entry_by_creating_a_link_to_it} \linebreak \noindent\hyperlink{crosslink_your_material}{Cross-link your material}\dotfill \pageref*{crosslink_your_material} \linebreak \noindent\hyperlink{insert_a_link_to_the_caf_discussion}{Insert a link to the $n$-Caf\'e{} discussion}\dotfill \pageref*{insert_a_link_to_the_caf_discussion} \linebreak \noindent\hyperlink{log_your_changes}{Log your changes}\dotfill \pageref*{log_your_changes} \linebreak \noindent\hyperlink{pat_yourself_on_the_back}{Pat yourself on the back}\dotfill \pageref*{pat_yourself_on_the_back} \linebreak \hypertarget{introduction}{}\subsection*{{Introduction}}\label{introduction} If you have any material you'd like to add to the [[HomePage|nLab]], be it \begin{itemize}% \item a tiny correction, \item a major correction, \item a missing aspect, \item a missing topic, \item a missing reference, \end{itemize} or whatever, \emph{please do it}. It's quick and easy. The following gives you a quick idea of how to proceed. If you feel you can most easily start by modifying an example, look at the [[template page]]. If you feel you want more details, there is more information on the main [[HowTo]] page. \hypertarget{dont_worry_too_much}{}\subsection*{{Don't worry too much!}}\label{dont_worry_too_much} First a remark on what \textbf{not to worry} about. \begin{uremark} Don't worry if things don't come out quite the way you would like them at the first go -- the important point is that we have your material in some form - the [[lab elves]] will eventually go over the entry and polish it, if necessary, expand it, if necessary, etc. \end{uremark} \begin{uremark} Never worry about ``breaking'' or ``ruining'' anything. Each and every revision is stored and we can always ``Rollback'' to an earlier version if you make some mistake, e.g. delete material on accident. To see a list of revisions for any page, hit the ``History'' link at the bottom of any page. \end{uremark} \begin{uremark} A good way to learn about how to format $n$Lab pages is to look at the source of another page. Near the bottom of each page is a list of ``views'' (these are different displays of the page) one of which is ``source''. This shows the raw code that generates that page and can be cut-and-pasted into another page. See the \href{http://www.math.ntnu.no/~stacey/Mathforge/nForum/?CategoryID=5}{latest changes} to get an impression for what other contributors are working on currently. \end{uremark} \hypertarget{forwarding_your_blog_comment_to_the_lab}{}\subsection*{{Forwarding your blog comment to the $n$Lab}}\label{forwarding_your_blog_comment_to_the_lab} You might already be familiar with discussions and with posting comments at the \href{http://golem.ph.utexas.edu/category/}{n-Cafe}. This section describes how you forward material from a blog comment to the $n$Lab. After you typed your blog comment into the \href{http://golem.ph.utexas.edu/category/}{n-Cafe} comment edit box and \textbf{before} you hit submit copy the \textbf{source code} of the comment: the text that you just typed. To paste that into an $n$Lab page, note the ``Edit'' link at the bottom of each $n$Lab page. Clicking on this will bring up the edit box. From here, you simply paste your copied content into the edit box and hit the ``Submit'' button at the bottom. Putting your name in the text box next to the ``Submit'' button is optional but recommended. This works best if your original comment was composed using the text filter (see the pulldown menu atop the blog comment edit box) called \emph{Markdown with itex to MathML}. If you're writing a lot on the Caf\'e{} and want to write on the Lab too, then it may be wise to use that filter by default. \hypertarget{copying_material_from_elsewhere_on_the_web_into_the_lab}{}\subsection*{{Copying material from elsewhere on the web into the $n$Lab}}\label{copying_material_from_elsewhere_on_the_web_into_the_lab} If you wish to copy into the $n$Lab a blog comment \emph{after} it has been posted -- or if you wish to copy other material from elsewhere on the web --, you proceed as above but should be aware of two dangers: \begin{itemize}% \item cutting-and-pasting from what is on the \emph{screen} will result in much of the formatting being lost, \item and what happens to any non-standard characters will depend on a variety of factors (they may come out as unicode characters, they may get converted to the nearest alternatives in your charset). \end{itemize} Slightly better is to copy the {\colorbox[rgb]{1.00,0.93,1.00}{\tt XHTML\char43MathML}} source (in \emph{Firefox} : ``View'' followed by ``Page Source'') except that then you are pasting raw {\colorbox[rgb]{1.00,0.93,1.00}{\tt XHTML}} into the $n$Lab. Whilst this will work, it makes it harder to others to edit afterwards. (But a [[lab elf]] will probably come by to clean it up afterwards, so don't worry about this too much.) \hypertarget{optional__how_to_place_your_material_in_context}{}\subsection*{{OPTIONAL -- how to place your material in context}}\label{optional__how_to_place_your_material_in_context} If you do feel like going a bit further, here are some remarks on how to make your material interplay nicely with the whole structure. \hypertarget{use_google_to_check_for_existing_content}{}\subsubsection*{{Use Google to check for existing content}}\label{use_google_to_check_for_existing_content} If you don't know where to put your material, Google for ``nLab your keywords'' to see which entries exist. Better yet, you can Google \begin{itemize}% \item \href{http://www.google.com/search?q=your+keywords+site%3Ahttp%3A%2F%2Fncatlab.org%2Fnlab}{your keywords site:http://ncatlab.org/nlab} \end{itemize} and it will look for only keywords on the $n$Lab. (Most other search engines can do similar tricks.) \hypertarget{create_a_new_entry_by_creating_a_link_to_it}{}\subsubsection*{{Create a new entry by creating a link to it}}\label{create_a_new_entry_by_creating_a_link_to_it} If the entry with the title that you are looking for does not yet exist, find some entry that is somehow related, go to the edit window as described above and add a line ``see also ''. Then after hitting submit the will appear with a clickable question mark. Click on that question mark to create the desired entry. \hypertarget{crosslink_your_material}{}\subsubsection*{{Cross-link your material}}\label{crosslink_your_material} Add links back and forth between other [[HomePage|nLab]] entries: enclose important keywords in your material in double square brackets . That equips them with links to the corresponding other $n$Lab entries. Conversely, go to related $n$Lab entries and add pointers to the entry you just created. \hypertarget{insert_a_link_to_the_caf_discussion}{}\subsubsection*{{Insert a link to the $n$-Caf\'e{} discussion}}\label{insert_a_link_to_the_caf_discussion} Depending on the kind of material you included, you may feel like adding a reference back to the $n$Caf\'e{} discussion. The first thing to do that is to get a copy of the $n$Caf\'e{} link, which may be obtained via ``permalink'' at the bottom of the comment. The link to this comment on the $n$Caf\'e{} is: \begin{verbatim}http://golem.ph.utexas.edu/category/2009/07/the_monads_hurt_my_head_but_no.html#c025514\end{verbatim} To add a link with the label ``Link to the $n$Caf\'e{}'', you need a combination of square brackets and parentheses as indicated below: \begin{verbatim}[Link to the n-Cafe](http://golem.ph.utexas.edu/category/2009/07/the_monads_hurt_my_head_but_no.html#c025514)\end{verbatim} This results in a \href{http://golem.ph.utexas.edu/category/2009/07/the_monads_hurt_my_head_but_no.html#c025514}{Link to the n-Cafe}. \hypertarget{log_your_changes}{}\subsubsection*{{Log your changes}}\label{log_your_changes} In order that the rest of the $n$Lab crew has a chance of becoming aware of your changes, drop a note about what you did at \href{http://www.math.ntnu.no/~stacey/Mathforge/nForum/?CategoryID=5}{latest changes}. Click on ``Start a new discussion,'' enter a descriptive title, and then describe the changes you made. Please include a link to the page(s) you edited; the same link syntax {\colorbox[rgb]{1.00,0.93,1.00}{\tt \char91\char91page\char32name\char93\char93}} to nlab pages works on the ``latest changes'' forum. You'll have to either create an account at the forum, or reply to a captcha in order to post as a guest. For more detailed instructions, see the sticky post at the top of the link. \hypertarget{pat_yourself_on_the_back}{}\subsubsection*{{Pat yourself on the back}}\label{pat_yourself_on_the_back} Congratulations! By helping the $n$Lab, you have done your good deed for the day. All glory comes from daring to begin. \vspace{.5em} \hrule \vspace{.5em} For more information, try the [[nlab:HowTo|HowTo]] page. [[!redirects How to Copy and Paste Material from the n-Cafe and Include Links Back and Forth]] [[!redirects How to Copy and Paste Material from the n-Cafe and Include L]] category: meta \end{document}