Someone is able to help me writing this diagram on tikz?
I would be very grateful
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}
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}
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}
$ in MWE is not big deal ...
– Zarko
Oct 25 '21 at 22:19