这是我尽力排版的 1+1=2 的证明数学原理:
\documentclass[10pt]{article}
\usepackage{amssymb}
\usepackage{amsmath}
\pagestyle{empty} \begin{document}
\noindent $\mathbf{*54\cdot43.} \vdash:.\alpha,\beta\in1.\supset:\alpha\cap\beta=\Lambda.\equiv.\alpha\cup\beta\in2$\\
\indent\emph{Dem.}
\begin{flalign}\nonumber
\vdash .*54\cdot26.\supset\vdash:.\alpha=\iota'x.\beta=\iota'y.\supset:\alpha\cup\beta\in2.&\equiv.x\neq y.\\\nonumber
[*51\cdot 231]\hspace{4.7cm}\hspace{1cm} & \equiv.t'x\cap\iota'y=\Lambda.\\
[*13\cdot 12]\hspace{4.88cm}\hspace{1cm} & \equiv.\alpha\cap\beta=\Lambda \\\nonumber
\vdash.(1).*11\cdot11\cdot35.\supset\hspace{2.88cm}\hspace{1cm}\\
\vdash:.(\exists x,y).\alpha=\iota'x.\beta=\iota'y.\supset:\alpha\cup\beta\in2.&\equiv.\alpha\cap\beta=\Lambda\\\nonumber
\vdash.(2).*11\cdot54.*52\cdot1.\supset\vdash.Prop\hspace{1.09cm}\hspace{1cm}\end{flalign}
\indent From this proposition it will follow, when arithmetical addition has been defined, that $1 + 1 = 2$.
\end{document}
结果如下:
原文如下:
我不喜欢的事情:
- 大量的手册
hspace
;如何强制方程式左对齐? - 我认为这个
\supset
符号并不是最合适表达含义的符号,而且它稍微偏离了水平对齐。 \iota
( )后面的符号'
和原来的符号不太一样。- 我也不确定这种用法
\cdot
是否最合适。
期待 TeX 向导的改进 ;-)
答案1
下面的示例尝试模仿许多符号和间距:
- 定义宏
\leftalign
,使用列宽,根据之前的环境测量结果计算得出align
。然后宏可以将其参数放在左侧。 - 标点符号的逻辑解释如下《数学原理》中的符号。
- 标点符号的形状是正方形而不是圆形。
- 断言符号 ⊦ (U+22A6) 的宽度是其高度的一半,因此它小于
\vdash
。 - 数字前的星号更像是一个八辐星号 ✳ (U+2733),而不是星号。它也是一个普通的数学符号。
- 数字之间的点比 稍高
\cdot
。 - ≠ 没有斜线。
- 存在符号是旋转的大写字母 E。
- …
\documentclass[10pt,fleqn]{article}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{graphicx}
\usepackage{pifont}
\pagestyle{empty}
\setlength{\mathindent}{2\parindent}
\thickmuskip=\medmuskip
\makeatletter
\newcommand*{\leftalign}[1]{%
\ifmeasuring@
#1%
\else
\begingroup
\advance\column@ by\@ne
\hbox to \expandafter\maxcol@width\column@{$#1\m@th$\hfill}%
\endgroup
\fi
}
\DeclareRobustCommand*{\pmstar}{%
\text{%
\resizebox{!}{.75\height}{\ding{107}}%
}%
}
\newcommand*{\pmcdot}{%
\mathpalette{\pm@cdot}{}%
}
\newcommand*{\pm@cdot}[2]{%
\sbox0{$\m@th#1\cdot$}%
\sbox2{$#11$}%
\raise.6\dimexpr\ht2-\ht0\relax\copy0 %
}
\newcommand*{\pmand}{\mathbin{\pmdot{.}}}
\newcommand*{\pmgrave}{\text{\bfseries`}}
\newcommand*{\pmimplies}{\boldsymbol{\supset}}
\newcommand*{\pmcup}{%
\mathbin{%
\mathchoice
{\scriptstyle\boldsymbol{\cup}}%
{\scriptstyle\boldsymbol{\cup}}%
{\scriptscriptstyle\boldsymbol{\cup}}%
{\boldsymbol{\cup}}%
}%
}
\newcommand*{\pmcap}{%
\mathbin{%
\mathchoice
{\scriptstyle\boldsymbol{\cap}}%
{\scriptstyle\boldsymbol{\cap}}%
{\scriptscriptstyle\boldsymbol{\cap}}%
{\boldsymbol{\cap}}%
}%
}
\newcommand*{\pmvdash}{\mathord{\@pmvdash\,}\mathopen{}}
\newcommand*{\@pmvdash}{%
\mathpalette{\pm@vdash}{}%
}
\newcommand*{\pm@vdash}[2]{%
\sbox0{$\m@th#11\Lambda\mid$}%
\sbox0{\vrule height\ht0 width.5pt}%
\copy0
\sbox2{\vbox to 0pt{\vss\hbox to.5\ht0{}\hrule height.5pt\vss}}%
\raise.5\ht0\copy2 %
}
\newcommand*{\pmneq}{%
\mathrel{\mathpalette{\pm@neq}{}}%
}
\newcommand*{\pm@neq}[2]{%
\sbox0{$\m@th#1=$}%
\hbox to \wd0{%
\hss$\m@th#1\mid$\hss
}%
\kern-\wd0 %
\copy0 %
}
\newcommand*{\pmexists}{%
\mathord{\mathpalette{\pm@exists}{}}%
}
\newcommand*{\pm@exists}[2]{%
\sbox0{$#1y$}%
\raisebox{\dimexpr-\dp0+\depth\relax}{%
\rotatebox{180}{$\m@th#1\mathrm{E}$}%
}%
}
\catcode`\:=\active
\catcode`\.=\active
\newcommand*{\pmdot}[1]{%
\mathinner{%
\mathcode`\.="8000 %
\mathcode`\:="8000 %
\let.=\@pmdot
\let:=\@pmcolon
#1%
}%
}
\@makeother\:
\@makeother\.
\newcommand*{\@pmcolon}{%
\mathpalette\pm@colon{}%
}
\newcommand*{\@pmdot}{%
\mathpalette\pm@dot{}%
}
\newcommand*{\pm@dot}[2]{%
\sbox0{$\m@th#1\mathchar`\.$}%
\hbox to 1.15\wd0{\hfill\vrule width1.35\ht0 height1.35\ht0 \hfill}%
}
\newcommand*{\pm@colon}[2]{%
\sbox0{\pm@dot{#1}{}}%
\sbox2{$\m@th#1\pm@vdash{#1}{}$}%
\rlap{%
\raisebox{.5\dimexpr\ht2-\ht0\relax}{\copy0}%
}%
\copy0 %
}
\makeatother
\begin{document}
\setlength{\abovedisplayskip}{0pt}
\setlength{\belowdisplayskip}{0pt}
\paragraph{\boldmath$\pmstar54\pmcdot43$.}
$\pmvdash
\pmdot{:.}\alpha,\beta\in1\pmdot{.}
\pmimplies
\pmdot{:}\alpha\pmcap\beta=\Lambda\pmdot{.}
\equiv
\pmdot{.}\alpha\pmcup\beta\in2$\\
\indent\emph{Dem.}
\begin{align}
\nonumber
\pmvdash
\pmdot{.}\pmstar54\pmcdot26\pmdot{.}
\pmimplies
\pmvdash
\pmdot{:.}\alpha=\iota\pmgrave y\pmand
\beta=\iota\pmgrave y\pmdot{.}
\pmimplies
\pmdot{:}\alpha\pmcup\beta\in2\pmdot{.}
&
\equiv
\pmdot{.}x\pmneq y\pmdot{.}
\\
\nonumber
\leftalign{[\pmstar51\pmcdot231]}
&
\equiv
\pmdot{.}t\pmgrave x\pmcap\iota\pmgrave y=\Lambda\pmdot{.}
\\
\leftalign{[\pmstar13{\pmcdot}12]}
&
\equiv
\pmdot{.}\alpha\pmcap\beta=\Lambda
\\
\nonumber
\leftalign{%
\pmvdash
\pmdot{.}(1)\pmand\pmstar11\pmcdot11\pmcdot35\pmdot{.}
\pmimplies
}
\\
\pmvdash
\pmdot{:.}(\pmexists x,y)\pmand\alpha=\iota\pmgrave x\pmand\beta
=\iota\pmgrave y\pmdot{.}\pmimplies\pmdot{:}\alpha\pmcup\beta\in2\pmdot{.}
& \equiv\pmdot{.}\alpha\pmcap\beta=\Lambda
\\
\nonumber
\leftalign{%
\pmvdash\pmdot{.}(2)\pmand
\pmstar11\pmcdot54\pmand
\pmstar52\pmcdot1\pmdot{.}
\pmimplies\pmvdash\pmdot{.}\text{Prop}
}
\end{align}
\indent From this proposition it will follow, when arithmetical addition
has been defined, that $1 + 1 = 2$.
\end{document}
答案2
也许这更接近原文,但使用的间距数学原理与真实数学中使用的完全不同。
\documentclass[10pt]{article}
\usepackage{textcomp}
\usepackage{amssymb}
\usepackage{amsmath}
\DeclareMathSymbol{`}{\mathord}{operators}{``}
\newcommand{\prop}[3]{%
\par\addvspace{\topsep}\noindent
#1\textbf{#2}\textperiodcentered\textbf{#3}. \ignorespaces
}
\newenvironment{dem}
{\par\emph{Dem.}\abovedisplayskip=0pt \belowdisplayskip=0pt }
{\par\addvspace{\topsep}}
\pagestyle{empty}
\begin{document}
\prop{*}{54}{43}
${\vdash}{:}.\alpha,\beta\in1.\supset:\alpha\cap\beta=\Lambda.\equiv.\alpha\cup\beta\in2$
\begin{dem}
\begin{alignat}{2}
\nonumber
&{\vdash} .{*}54{\cdot}26.\supset{\vdash}:.\alpha=\iota`y.\supset:\alpha\cup\beta\in2.
&& \equiv.x\neq y.\\
\nonumber
&[{*}51{\cdot}231] && \equiv.t`x\cap\iota`y=\Lambda.\\
&[{*}13{\cdot}12] && \equiv.\alpha\cap\beta=\Lambda \\
\nonumber
&{\vdash}.(1).{*}11{\cdot}11{\cdot}35.\supset{}\\
&{\vdash}:.(\exists x,y).\alpha=\iota`x.\beta=\iota`y.\supset:\alpha\cup\beta\in2.
&&\equiv.\alpha\cap\beta=\Lambda\\
\nonumber
&{\vdash}.(2).{*}11{\cdot}54.{*}51{\cdot}1.\supset{\vdash}.\textit{Prop}
\end{alignat}
\end{dem}
From this proposition it will follow, when arithmetical addition has been defined,
that $1 + 1 = 2$.
\end{document}