在 ncatlab.org 上,可以找到包含数学形式主义的网页。通过双击(至少使用 Firefox),可以获取通常在 Latex 上运行的代码。
图表除外:复制其相关代码不会在 Latex 中生成图表。
例如,产品的交换图编码为:
\array{ && Q \\ & \swarrow &\downarrow^{\mathrlap{\exists !}}& \searrow \\ X_1 &\overset{p_1}{\longleftarrow}& X_1 \times X_2 &\overset{p_2}{\longrightarrow}& X_2 } \
这是什么语言?
是否可以调整代码使其在 Latex 上运行?
这样可以节省大量关于范畴论的写作时间,而且所有图表都将以同质方式编写。此外,我个人喜欢它们在网站上的显示方式。
答案1
nLab 用于itex2MML
渲染数学。因此,您复制的代码不是直接的 LaTeX:
The case of a binary products it is also denoted by "$(-)\times(-)$":
$$
\array{
&& Q
\\
& \swarrow &\downarrow^{\mathrlap{\exists !}}& \searrow
\\
X_1 &\overset{p_1}{\longleftarrow}& X_1 \times X_2 &\overset{p_2}{\longrightarrow}& X_2
}
\,.
$$
最值得注意的是:\array
是一个命令,而不是一个环境。
但是你可以将整个页面转换为 LaTeX(每页末尾都有一个按钮),结果如下:
The case of a binary products it is also denoted by ``$(-)\times(-)$'':
\begin{displaymath}
\itexarray{
&& Q
\\
& \swarrow &\downarrow^{\mathrlap{\exists !}}& \searrow
\\
X_1 &\overset{p_1}{\longleftarrow}& X_1 \times X_2 &\overset{p_2}{\longrightarrow}& X_2
}
\,.
\end{displaymath}
如您所见,\array
被翻译为\itexarray
。这不会编译,因为您缺少\itexarray
和的定义\mathrlap
。您可以在生成文件的前言中找到它们。将各部分放在一起将得到:
\documentclass{article}
\usepackage{amsmath}
\newcommand{\itexarray}[1]{\begin{matrix}#1\end{matrix}}
% 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}$}}
\begin{document}
The case of a binary products it is also denoted by ``$(-)\times(-)$'':
\begin{displaymath}
\itexarray{
&& Q
\\
& \swarrow &\downarrow^{\mathrlap{\exists !}}& \searrow
\\
X_1 &\overset{p_1}{\longleftarrow}& X_1 \times X_2 &\overset{p_2}{\longrightarrow}& X_2
}
\,.
\end{displaymath}
\end{document}
总结
您可以下载每个页面的代码并从那里复制 LaTeX(不是 itex)代码(您可能还需要序言中的一些内容):
答案2
答案3
我仅使用简单的命令创建了一个代码(参见矩阵)。很明显,预览与用户@DG'的答案相似。我已经看到了你的评论“这绝对是我所寻找的,谢谢!“并且我一直在寻找另一种替代方案,希望您的项目能够将其编入法典。
\documentclass[a4paper,12pt]{article}
\usepackage{amsmath,amssymb}
\begin{document}
\[\begin{matrix}
& & Q &&\\
& \swarrow & \quad \downarrow \exists ! & \searrow & \\
X_1 & \xleftarrow{p_1} & X_1 \times X_2 & \xrightarrow{p_2}& X_2
\end{matrix} .\]
\end{document}