答案1
在有人带着 Ti 来之前钾Z 溶液:-)
...
\documentclass{article}
% \usepackage{amsmath}
\makeatletter
\newcommand*{\foo}[1]{{\mathpalette\foo@{#1}}}
\newcommand*{\foo@}[2]{%
\@tempdima=.5\fontdimen5
\ifx#1\displaystyle\textfont\else
\ifx#1\textstyle\textfont\else
\ifx#1\scriptstyle\scriptfont\else
\scriptscriptfont\fi\fi\fi\tw@
\@tempdimb=\fontdimen8
\ifx#1\displaystyle\textfont\else
\ifx#1\textstyle\textfont\else
\ifx#1\scriptstyle\scriptfont\else
\scriptscriptfont\fi\fi\fi\thr@@
\setbox\z@=\vtop{\hbox{$\m@th#1#2$}\kern\@tempdima}%
\setbox\tw@=\vbox{\hrule\@width\@tempdima\@height\@tempdimb\kern\ht\z@\kern\@tempdima}%
\vtop{\hbox{\vrule\@width\@tempdimb\copy\tw@\copy\z@\copy\tw@\vrule\@width\@tempdimb}\hrule\@height\@tempdimb}%
}
\makeatother
\begin{document}
$\foo{a,b}$
$\scriptstyle\foo{a,b}$
$\scriptscriptstyle\foo{a,b}$
\medskip
$\displaystyle\foo{-\frac{a}{2},\frac{a}{2}}$
$\foo{-\frac{a}{2},\frac{a}{2}}$
$\scriptstyle\foo{-\frac{a}{2},\frac{a}{2}}$
$\scriptscriptstyle\foo{-\frac{a}{2},\frac{a}{2}}$
\end{document}
这两个长度根据当前的数学样式进行缩放:\@tempdimb
是分数规则的厚度,而是\@tempdima
一半ex
(后者可以不借助于而固定\fontdimen
)。
如果取消注释amsmath
,结果将略有不同\scriptscriptstyle
,您将获得
使用较短的代码
\newcommand*{\foo@}[2]{%
\@tempdima=.5\fontdimen5
\ifx#1\displaystyle\textfont\else
\ifx#1\textstyle\textfont\else
\ifx#1\scriptstyle\scriptfont\else
\scriptscriptfont\fi\fi\fi\tw@
\setbox\z@=\vtop{\hbox{$\m@th#1#2$}\kern\@tempdima}%
\setbox\tw@=\vbox{\hrule\@width\@tempdima\kern\ht\z@\kern\@tempdima}%
\vtop{\hbox{\vrule\copy\tw@\copy\z@\copy\tw@\vrule\@width\@tempdimb}\hrule}%
}
0.4pt
在每种样式中,“盒子”都有默认的厚度。
答案2
如果你的符号没有过多的深度(例如没有分数),你可以使用
\documentclass{article}
\usepackage{amsmath,array}
\makeatletter
\newcommand{\segment}[1]{%
\big\lceil\colas@segment{#1}\big\rceil
}
\newcommand{\colas@segment}[1]{%
\mspace{-4.85mu}%
\underline{\mspace{5mu}#1\vphantom{j}\mspace{5mu}}%
\mspace{-4.85mu}%
}
\makeatother
\begin{document}
\Huge
\indent\rlap{\vrule height0pt depth0.1pt width 4cm}%
$\segment{a,b}=\{ta+(1-t)b: t\in[0,1]\}$
\indent\rlap{\vrule height0pt depth0.1pt width 4cm}%
$\segment{p,q}=\{tp+(1-t)q: t\in[0,1]\}$
\end{document}