Seite 1 von 1

Einen eigenen Befehl für math. Menge erstellen.

Verfasst: Mo 12. Mär 2018, 20:32
von mysterix
Hallo,
Ich will einen eigenen Befehl erstellen, um mathematische Mengen direkt einfacher zu schreiben, mit angepassten Klammern/ Mittelstrich. Aber der Mittelstrich ist für einen Fall immer nicht ganz optimal.

\documentclass[11pt]{scrartcl}

\usepackage{amsmath}
\usepackage{amssymb}

\newcommand{\menge}[2]{\left\{ #1 ~\middle\vert~ #2 \right\}}
\newcommand{\mengeB}[2]{\left\{ #1 \bigm\vert #2 \right\}}

\begin{document}
	~\\using middle:
	\[ S^3 = \menge{(z,w)\in \mathbb{C}^2}{\frac{|z|^2}{|w|^2} = 2} \]
	\[ \menge{(z,w)}{|z|=|w|=1} .\]
	using big:
	\[ S^3 = \mengeB{(z,w)\in \mathbb{C}^2}{\frac{|z|^2}{|w|^2} = 2} \]
	\[ \mengeB{(z,w)}{|z|=|w|=1} .\]
\end{document}
Im ersten Fall ist mir der untere zu klein, im zweiten Fall der obere. Hat da noch jemand eine Idee?
Danke und Gruß

Verfasst: Di 13. Mär 2018, 07:52
von markusv
Hallo und willkommen im Forum. Du könntest eine Minimalgröße festlegen, bspw. durch \strut (https://texwelt.de/wissen/fragen/1315/w ... fehl-strut) bzw. als \rule{0pt}{<höhe>}.

Beides u.a. aus https://tex.stackexchange.com/a/364282:
\documentclass{scrartcl}
\usepackage{amsmath}
\usepackage{amssymb}
\newcommand{\menge}[2]{\left\{\strut #1 ~\middle\vert~ #2 \right\}} %https://tex.stackexchange.com/a/364282

\begin{document}
   \[ S^3 = \menge{(z,w)\in \mathbb{C}^2}{\frac{|z|^2}{|w|^2} = 2} \]
   \[ \menge{(z,w)}{|z|=|w|=1} .\]
\end{document}

Verfasst: Di 13. Mär 2018, 08:23
von Gast
\left, \right und \middle werden von den Experten übrigens generell etwas kritisch gesehen. Meist sind die automatisch gewählten Größen eher irgendwie passend als ideal. Will man auf Nummer sicher gehen, muss man die Größe selbst wählen:
\documentclass{scrartcl}
\usepackage{amsmath}
\usepackage{amssymb}
\newcommand{\menge}[3][]{%
  \IfArgIsEmpty{#1}{%
    \ensuremath{\left\{\strut #2 ~\middle\vert~ #3 \right\}}%
  }{%
    \ensuremath{#1\{#2 ~#1\vert~ #3 #1\}}%
  }%
}

\begin{document}
   \[ S^3 = \menge{(z,w)\in \mathbb{C}^2}{\frac{|z|^2}{|w|^2} = 2} \]
   \[ \menge{(z,w)}{|z|=|w|=1} .\]
   \[ S^3 = \menge[\Bigg]{(z,w)\in \mathbb{C}^2}{\frac{|z|^2}{|w|^2} = 2} \]
   \[ \menge[\big]{(z,w)}{|z|=|w|=1} .\]
\end{document}

Verfasst: Di 13. Mär 2018, 09:24
von Gast
Bin etwas erstaunt, dass noch niemand mathtools vorgeschlagen hat.

Sieh Dir mal jeweils alle Antworten zu https://tex.stackexchange.com/q/209863/35864 und https://tex.stackexchange.com/q/150498/35864 an. Dort werden einige Möglichkeiten mit [d]mathtools[/d] und ein paar Alternativen diskutiert.

Ähnliche und verwandte Fragen bei TeX.SX: https://tex.stackexchange.com/a/13637/35864 https://tex.stackexchange.com/q/253077/35864 https://tex.stackexchange.com/q/25398/35864

Mit \DeclarePairedDelimiter kann man auch ganz fein Normen und Beträge setzen.

Verfasst: Di 13. Mär 2018, 10:15
von mysterix
Vielen Dank, die Antworten sehen super aus. Da kann ich mir eine für jeden Fall passende Lösung draus basteln.