下面的代码
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\begin{document}
\[
\left[\underline{x},\bar{x}\right]
\]
\[
\left[\underline{t},\bar{t}\right]
\]
\end{document}
产生以下结果:
我想“修复”\underline{x}
长度,它大于 \bar{x}
,并且\bar{t}
与的部分重叠(几乎!)与\right]
相比,\underline{t}
与看起来不错\left[
。
使用pdfLaTeX
。
答案1
无需额外的软件包。这些宏可修正带有倾斜入口的框的宽度。
\documentclass{article}
\begin{document}
\newdimen\slantmathcorr
\def\oversl#1{%assuming that mathslant=0.25
\setbox0=\hbox{$#1$}
\slantmathcorr=\wd0
\hskip 0.2\slantmathcorr \overline{\hbox to 0.8\wd0{%
\vphantom{\hbox{$#1$}}}}
\hskip-\wd0\hbox{$#1$}
}
\def\undersl#1{%assuming that mathslant=0.25
\setbox0=\hbox{$#1$}
\slantmathcorr=\wd0
\underline{\hbox to 0.8\wd0{%
\vphantom{\hbox{$#1$}}}}
\hskip-0.8\wd0\hbox{$#1$}
}
\[
\left[\underline{x},\bar{x}\right]
\]
\[
\left[\underline{t},\bar{t}\right]
\]
Corrected:
\[
\left[\undersl{x},\oversl{x}\right]
\]
\[
\left[\undersl{t},\oversl{t}\right]
\]
\end{document}
再次重申 OP 要求的版本。它可能会产生一些副作用。
\documentclass{article}
\begin{document}
\let\oldbar\bar
\let\oldunderline\underline
\let\oldoverline\overline
\newdimen\slantmathcorr
\def\oversl#1{%assuming that mathslant=0.25
\setbox0=\hbox{$#1$}
\slantmathcorr=\wd0
%\hskip 0.2\slantmathcorr \overline{\hbox to 0.8\wd0{%
\hskip 0.2\slantmathcorr \oldoverline{\hbox to 0.8\wd0{%
\vphantom{\hbox{$#1$}}}}
\hskip-\wd0\hbox{$#1$}
}
\def\undersl#1{%assuming that mathslant=0.25
\setbox0=\hbox{$#1$}
\slantmathcorr=\wd0
%\underline{\hbox to 0.8\wd0{%
\oldunderline{\hbox to 0.8\wd0{%
\vphantom{\hbox{$#1$}}}}
\hskip-0.8\wd0\hbox{$#1$}
}
\[
\left[\underline{x},\bar{x}\right]
\]
\[
\left[\underline{t},\bar{t}\right]
\]
Corrected:
\[
\left[\undersl{x},\oversl{x}\right]
\]
\[
\left[\undersl{t},\oversl{t}\right]
\]
\let\bar\oversl
\let\underline\undersl
\[
\left[\underline{x},\bar{x}\right]
\]
\[
\left[\underline{t},\bar{t}\right]
\]
\end{document}
答案2
您可以使用accents
下划线包;对于间隔,最好定义您自己的命令:
\documentclass{article}
\usepackage{accents}
\newcommand{\ubar}[1]{\underaccent{\bar}{#1}}
\newcommand{\interval}[2]{[\,#1,#2\,]}
\begin{document}
\[
\interval{\ubar{x}}{\bar{x}}
\]
\[
\interval{\ubar{t}}{\bar{t}}
\]
\end{document}
答案3
\ushort
要在数学模式下获得“短”下划线,可以使用短\bar{t}
包。为了避免和之间发生近乎或完全碰撞]
,您可以插入一个\,
(“薄空间”)垫片。
在下面的示例中,修改后的代码在左边,而原始代码在右边。
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage{ushort}
\begin{document}
\[
[\ushort{x},\bar{x}] \mbox{ vs. } [\underline{x},\bar{x}]
\]
\[
[\ushort{t},\bar{t}\,] \mbox{ vs. } [\underline{t},\bar{t}]
\]
\end{document}