
답변1
수행해야 할 매크로 세트는 다음과 같습니다. 매크로에는 \interval
두 글자의 선택적 인수가 있습니다. 생략하면 열림이 암시됩니다. o
or 만 지정하는 것은 각각 및 c
와 같습니다 .oo
cc
\documentclass{article}
\usepackage{amsmath}
\usepackage{stmaryrd}
\makeatletter
\newcommand{\interval}[2][oo]{%
\mathord{\vbox{\offinterlineskip\m@th
\ialign{##\cr
\csname @interval#1\endcsname\cr
$#2$\cr
}%
}}%
}
\newcommand{\leaderbar}{%
\mkern-7mu
\cleaders\hbox{$\scriptscriptstyle\mkern-2mu{\relbar}\mkern-2mu$}\hfill
\mkern-7mu
}
\newcommand{\@intervaloo}{%
$\scriptscriptstyle{\relbar}\leaderbar{\relbar}$%
}
\newcommand{\@intervalco}{%
$\scriptscriptstyle{\mapstochar\relbar}\leaderbar{\relbar}$%
}
\newcommand{\@intervaloc}{%
$\scriptscriptstyle{\relbar}\leaderbar{\relbar\mkern-1mu\mapsfromchar}$%
}
\newcommand{\@intervalcc}{%
$\scriptscriptstyle{\mapstochar\relbar}\leaderbar{\relbar\mkern-1mu\mapsfromchar}$%
}
\let\@intervalc\@intervalcc
\let\@intervalo\@intervaloo
\makeatother
\begin{document}
\emph{Intervals} are denoted by bars: $\interval{a,b}$ is an open,
$\interval[cc]{a,b}$ is a closed interval; half-open intervals are
denoted by $\interval[oc]{a,b}$ and $\interval[co]{a,b}$.
\medskip
\noindent
\begin{tabular}{@{}ll@{}}
\verb|\interval{a,b}| & $\interval{a,b}$ \\
\verb|\interval[o]{a,b}| & $\interval[o]{a,b}$ \\
\verb|\interval[oo]{a,b}| & $\interval[oo]{a,b}$ \\
\verb|\interval[c]{a,b}| & $\interval[c]{a,b}$ \\
\verb|\interval[cc]{a,b}| & $\interval[cc]{a,b}$ \\
\verb|\interval[oc]{a,b}| & $\interval[oc]{a,b}$ \\
\verb|\interval[co]{a,b}| & $\interval[co]{a,b}$
\end{tabular}
\end{document}