用于将数字(例如 123)装箱的 LaTeX 命令是什么:
|1|2|3|
我在一本书中看到过它,但在我使用的 TeXnicCenter 中却找不到它。
答案1
我不知道有任何软件包可以提供这样的宏,但是这可以很容易地完成:
\documentclass{article}
\newcommand*{\boxednumber}[1]{%
\expandafter\readdigit\the\numexpr#1\relax\relax
}
\newcommand*{\readdigit}[1]{%
\ifx\relax#1\else
\boxeddigit{#1}%
\expandafter\readdigit
\fi
}
% Format macro used for every digit, adjust to your liking:
\newcommand*{\boxeddigit}[1]{\fbox{#1}\hspace{-\fboxrule}}
\begin{document}
\boxednumber{123}
\boxednumber{\thepage}
\end{document}
也可以看看制作 \textcircled 数字的好方法?有关数字格式的一些提示。但是它实际上适用于圆圈而不是方框。
答案2
\documentclass[12pt,a4paper]{scrartcl}
\usepackage[T1]{fontenc}
\makeatletter
\def\BoxNumbers#1{|\BoxNumbers@i#1|\@nil}
\def\BoxNumbers@i#1#2|\@nil{%
#1|\ifx\relax#2\relax\else\BoxNumbers@i#2|\@nil\fi}
\makeatother
\begin{document}
\BoxNumbers{123} \BoxNumbers{123789}
\end{document}
答案3
马丁主题的变奏:
\makeatletter
\def\boxnumber#1{\mbox{\toks@={\@gobble}\@boxnumber#1\relax\the\toks@}}
\def\@boxnumber#1{\ifx#1\relax % end
\else
\toks@=\expandafter{\the\toks@\@numbersep#1}%
\expandafter\@boxnumber
\fi}
\def\@numbersep{\kern1pt\vrule\kern1pt}
\makeatother
这里\boxnumber{123}
将给出(大约)
1|2|3