Mit Takten gekennzeichnete Intervalle

Mit Takten gekennzeichnete Intervalle

Ist es möglich, in Latex Überlinien mit vertikalen Balken an den Enden für geschlossene Intervalle zu reproduzieren? Siehe das Bild unten.

Bildbeschreibung hier eingeben

Antwort1

Hier ist eine Reihe von Makros, die das tun sollten. Das Makro \intervalhat ein optionales Argument mit zwei Buchstaben. Wenn es weggelassen wird, wird „open“ impliziert. Die Angabe von nur „ oor“ cist dasselbe wie oo„und“ 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}

Bildbeschreibung hier eingeben

verwandte Informationen