
Ich versuche, dieses Symbol zu erstellen:
Ich habe versucht, dies zu verwenden:
\documentclass{article}
\usepackage{mathtools}
\makeatletter
\newcommand{\superimpose}[2]{%
{\ooalign{$#1\@firstoftwo#2$\cr\hfil$#1\@secondoftwo#2$\hfil\cr}}}
\makeatother
\newcommand{\MyTry}{\mathpalette\superimpose{{\sum}{\vert}}}
\begin{document}
$\MyTry$
\end{document}
Aber es funktioniert nicht richtig und ich bin mir auch nicht sicher, wie ich die Trennzeichen setzen soll. Danke.
Antwort1
Hier ist eine Mischung aus \ooalign
und picture
Modus.
\documentclass{article}
\usepackage{amsmath,pict2e}
\makeatletter
\newcommand{\barredsum}{%
\DOTSB\mathop{\mathpalette\@barredsum\relax}\slimits@
}
\newcommand{\@barredsum}[2]{%
\begingroup
\sbox\z@{$#1\sum$}%
\setlength{\unitlength}{\dimexpr2pt+\ht\z@+\dp\z@\relax}%
\@barredsumthickness{#1}%
\vphantom{\@barredsumbar}%
\ooalign{$\m@th#1\sum$\cr\hidewidth$#1\@barredsumbar$\hidewidth\cr}%
\endgroup
}
\newcommand{\@barredsumbar}{%
\vcenter{\hbox{\begin{picture}(0,1)\roundcap\Line(0,0)(0,1)\end{picture}}}%
}
\newcommand{\@barredsumthickness}[1]{% see https://tex.stackexchange.com/a/477200/
\linethickness{%
1.25\fontdimen8
\ifx#1\displaystyle\textfont\else
\ifx#1\textstyle\textfont\else
\ifx#1\scriptstyle\scriptfont\else
\scriptscriptfont\fi\fi\fi 3
}%
}
\makeatother
\begin{document}
\[
\barredsum_{i=1}^N x_i
\]
\begin{center}
$\barredsum_{i=1}^N x_{\barredsum_{i=1}^N x_{\barredsum_{i=1}^N x_i}}$
\end{center}
\end{document}
Mögliche Verbesserung, bei der der Überschuss variabel ist und das Symbol die gleiche vertikale Ausdehnung hat wie \sum
:
\documentclass{article}
\usepackage{amsmath,pict2e,picture}
\makeatletter
\newcommand{\barredsum}{%
\DOTSB\mathop{\mathpalette\@barredsum\relax}\slimits@
}
\newcommand{\@barredsum}[2]{%
\begingroup
\sbox\z@{$#1\sum$}%
\setlength{\unitlength}{%
\dimexpr
\ifx#1\displaystyle1\else3\fi\dimexpr\@barredsumthickness{#1}\relax+
\ht\z@+\dp\z@
\relax
}%
\linethickness{\@barredsumthickness{#1}}%
\vphantom{\sum}%
\smash{\ooalign{$\m@th#1\sum$\cr\hidewidth$#1\@barredsumbar$\hidewidth\cr}}%
\endgroup
}
\newcommand{\@barredsumbar}{%
\vcenter{\hbox{\begin{picture}(0,1)\roundcap\Line(0,0)(0,1)\end{picture}}}%
}
\newcommand{\@barredsumthickness}[1]{% see https://tex.stackexchange.com/a/477200/
1.25\fontdimen8
\ifx#1\displaystyle\textfont\else
\ifx#1\textstyle\textfont\else
\ifx#1\scriptstyle\scriptfont\else
\scriptscriptfont\fi\fi\fi 3
}
\makeatother
\begin{document}
\[
\sum_{i=1}^N x_i \ne \barredsum_{i=1}^N x_i
\]
\begin{center}
$\barredsum_{i=1}^N x_{\barredsum_{i=1}^N x_{\barredsum_{i=1}^N x_i}}$
\end{center}
\end{document}
Antwort2
Der Versuch, eine von egregs Antworten zu verbessern, ist eine Übung, die sowohl Spaß macht als auch lehrreich ist – und außerdem kann man damit angeben. (;-) In diesem Fall bin ich der Meinung, dass die akzeptierte Lösung in Bezug auf die Effizienz suboptimal ist, und zwar aus den folgenden zwei Gründen:
Während des Zeichnensz.B, eine Hexe benötigt die volle Flexibilität der
picture
Umgebung, diese Flexibilität ist nicht nötig, um eine einfache Linie zu ziehen.Die Lösung verwendet
\vphantom
inside\mathpalette
, was auf das Verschachteln von\mathchoice
Knoten hinausläuft, wobei jede der sechzehn resultierenden Kombinationen einepicture
Umgebung enthält.
Dies bedeutet insbesondere, dass das \@barredsumbar
Makro bei jedem Aufruf des \barredsum
Befehls 20 Mal ausgeführt wird. Menschen wie ich, die die heroische Ära miterlebt haben, als LaTeX für die Erstellung einer Abschlussarbeit mehr als eine halbe Stunde brauchte, reagieren besonders empfindlich auf dieses Argument.
Der folgende Code führt das \@rodriguez@overprint@bar
Makro nur viermal für jeden Aufruf von \barredsum
aus und verlässt sich nur auf die primitiven Regelbefehle von TeX, um die Linie zu zeichnen. Als Bonus definiert er auch den \barredprod
Befehl, wodurch eine gesperrte Version von entsteht \prod
: Dies zeigt, wie die Konstruktion verallgemeinert werden kann.
% My standard header for TeX.SX answers:
\documentclass[a4paper]{article} % To avoid confusion, let us explicitly
% declare the paper format.
\usepackage[T1]{fontenc} % Not always necessary, but recommended.
% End of standard header. What follows pertains to the problem at hand.
\usepackage{amsmath} % the code below assumes this
\makeatletter
\newcommand*\barredsum{%
\DOTSB\mathop{%
\@rodriguez@mathpalette \@rodriguez@overprint@bar \sum
}\slimits@
}
\newcommand*\barredprod{%
\DOTSB\mathop{%
\@rodriguez@mathpalette \@rodriguez@overprint@bar \prod
}\slimits@
}
% A home-brewed version of "\mathpalette" that also supplies the font
% selector (e.g., "\textfont"):
\newcommand*\@rodriguez@mathpalette[2]{%
% #1 := macro doing the actual job, which expects as its own arguments
% - #1, a style selector (e.g., "\displaystyle")
% - #2, a font selector (e.g., "\textfont")
% - #3, a custom argument (not truly necessary, here!)
% #2 := custom argument that should be passed as #3 to macro #1
\mathchoice
{#1\displaystyle \textfont {#2}}%
{#1\textstyle \textfont {#2}}%
{#1\scriptstyle \scriptfont {#2}}%
{#1\scriptscriptstyle \scriptscriptfont {#2}}%
}
\newcommand*\@rodriguez@overprint@bar[3]{%
% #1 := style selector (e.g., "\displaystyle")
% #2 := font selector (e.g., "\textfont")
% #3 := base symbol
\sbox\z@{$#1#3$}%
\dimen@ = \ht\z@ \advance \dimen@ \p@
\dimen@ii = \dp\z@ \advance \dimen@ii \p@
\dimen4 = 1.25\fontdimen 8 #2\thr@@ \relax
\ooalign{% the resulting box has the same...
\@rodriguez@bar \dimen@ \z@ \cr % ... height as the first row
$\m@th #1#3$\cr
\@rodriguez@bar \z@ \dimen@ii \cr % ... depth as the last row
}%
}
\newcommand*\@rodriguez@bar[2]{%
\hidewidth \vrule \@width \dimen4 \@height #1\@depth #2\hidewidth
}
\makeatother
\begin{document}
In display:
\[
\barredsum_{i=1}^{N} x_{i} \neq \sum_{i=1}^{N} x_{i}
\]
In-line:
\begin{center}
\( \barredsum_{i=1}^{N} x_{i} \neq \sum_{i=1}^{N} x_{i} \),
\quad
\( A_{\barredsum_{i=1}^{N} x_{i}} \neq A_{\sum_{i=1}^{N} x_{i}} \),
\quad
\( A_{B^{\barredsum_{i=1}^{N} x_{i}}} \neq A_{B^{\sum_{i=1}^{N} x_{i}}} \).
\end{center}
The barred product:
\[
\barredprod_{i=1}^{N} x_{i} \neq \prod_{i=1}^{N} x_{i}
\]
Etc.\ etc.
\end{document}
Zugegeben, bei dieser Lösung fehlen die runden Kappen an den beiden Enden der senkrechten Stange…
Bearbeiten: Ich wollte ein Bild mit der Ausgabe einfügen, habe das aber offensichtlich vergessen: Das korrigiere ich jetzt.