4

Someone is able to help me writing this diagram on tikz?

enter image description here

I would be very grateful

Jonny
  • 43

3 Answers3

5

Credits to @David Carlisle for the old typewriter font (Use LaTeX to simulate old typewriter written texts).

Here another alternative always with tikz-cd package.

\documentclass[a4paper,12pt]{article}
\usepackage{amsmath,amssymb}
\usepackage{geometry}
\usepackage{tikz-cd}
\usepackage{luaotfload}
\font\cmuntt = cmuntt at 12pt \cmuntt
\edef\cmunttid{\fontid\cmuntt}

\expandafter\let\expandafter%\csname @percentchar\endcsname \directlua{ local cbl = luatexbase.callback_descriptions('define_font') % print('\string\n======' .. cbl[1] .. '===\string\n') original_fontloader = luatexbase.remove_from_callback('define_font', cbl[1]) luatexbase.add_to_callback( 'define_font', function(name, size, i) if (name=='cmtt10x') then % this works in my dev version but for older setups % make sure cmuntt.otf has been loaded before we mess % up the font loader. % f = original_fontloader('cmuntt.otf',size) f = font.getfont(\cmunttid) f.name = 'cmtt10x' f.type = 'virtual' f.fonts = {{name = 'cmuntt', size = size}} for j, v in pairs(f.characters) do local gr = 0.4math.random() local gr2 = 0.4math.random() v.commands = { { 'lua', 'r1 = 0.01*math.random(-10, 10) pdf.print(string.format( " q %f %f %f %f 0 0 cm ", math.cos(r1), - math.sin(r1), math.sin(r1), math.cos(r1) ))' }, {'special', 'pdf: ' .. gr2 .. ' g'}, {'push'}, {'right', math.random(-20000,20000)}, {'down', math.random(-20000,20000)}, {'char', j}, {'pop'}, {'lua', 'pdf.print(" Q ")'}, {'down', math.random(-20000,20000)}, {'special', 'pdf: ' .. gr .. ' g'}, {'char', j}, {'special', 'pdf: 0 g'} } end % end of for return f else return original_fontloader(name, size, i) end % end of if end, % end of function 'define font' ) % end of add_to_callback }

\def\sqrt#1{^^^^221a\overline{#1}}

\begin{document} $\relax$ \font\myfont= cmtt10x at 12pt \myfont \font\myfonts= cmtt10x at 7pt \let\selectfont\relax

\textfont0=\myfont \scriptfont0=\myfonts \scriptscriptfont0=\myfonts \textfont1=\myfont \textfont2=\myfont \textfont3=\myfont

[\begin{tikzcd}[column sep=-4pt,every arrow/.append style={<->}] & \begin{array}{c} topos, (or, topological, space\ or, semi$-$simplical, complex)\ modulo, n$-$homotopy
\end{array} & \ \begin{array}{c} n$-$,groupoids\ (up, to, n$-$equivalence) \end{array} \arrow[rr] \arrow[ru] & & \begin{array}{c} \mbox{\textquotedbl} special\mbox{\textquotedbl}, n$-$categories\ (up, to, n$-$equivalence) \end{array} \arrow[lu] \end{tikzcd}] \end{document}

enter image description here

Sebastiano
  • 54,118
4

You could use tikz-cd.

\documentclass{article}
\usepackage{tikz-cd}
\begin{document}
\[\begin{tikzcd}[column sep=-3em,every arrow/.append style={<->}]
 & \begin{tabular}{@{}c@{}}
    topos (or topological space\\
    or semi-simplical complex)\\
    \textit{modulo} $n$-homotopy
   \end{tabular}
   \arrow[dl]\arrow[dr]&\\
 \begin{tabular}{@{}l@{}}
    $n$-groupoids\\
    (up to $n$-equivalence)
   \end{tabular}
   \arrow[rr]&
 & \begin{tabular}{@{}l@{}}
    ``special'' $n$-categories\\
    (up to $n$-equivalence)
   \end{tabular}\\
\end{tikzcd}
\]
\end{document}

enter image description here

2

With tikz-cd package (as other answers) for node placements, makecell package for multiline text and use \ttfamily fonts in nodes:

\documentclass[border=3.141592]{standalone}
\usepackage{makecell}
\usepackage{tikz-cd}

\begin{document} \begin{tikzcd}[column sep=-2em, row sep=5ex, cells={nodes={ font=\ttfamily\linespread{0.92}\selectfont, align=center} }, ] & \makecell{topos (or topological space\ or semi-simplical complex)\ \textit{modulo} $n$-homotopy} \ar[dl, <->] \ar[dr, <->] & \ \makecell{$n$-groupoids (up\
to $n$-equivalence)} \ar[rr,<->]
& & \makecell{``special'' $n$-categories\ (up to $n$-equivalence)} \ \end{tikzcd} \end{document}

enter image description here

Zarko
  • 296,517
  • 1
    Excellent. For my humble opinion I will put "n" not in math-mode as the image of the user. – Sebastiano Oct 25 '21 at 20:53
  • 2
    @Sebastiano, you may be right, but so far I consider it as variable, which are usually written slanted. Well, deleted all $ in MWE is not big deal ... – Zarko Oct 25 '21 at 22:19