Ich benötige ein Makro, um Punkte mit ihrem x- und y-Wert und optional ihrem Namen auszugeben. Die Variante \PunktA hat den Nachteil, dass die Klammern nicht skaliert werden, die Variante \PunktB hat den Nachteil, dass das Kerning vor der Klammer kaputt geht (zu großer Abstand). Wie kann ich die Vorteile beider Varianten verbinden?

Öffne in Overleaf
\documentclass{article}

\newcommand*{\PunktA}[3][]{\ensuremath{#1({#2}\,|\,{#3})}}
\newcommand*{\PunktB}[3][]{\ensuremath{#1\left({#2}\,\middle|\,{#3}\right)}}

\begin{document}

\PunktA[W]{3}{5}

\PunktA[W]{3}{\frac{1}{2}}

\PunktB[W]{3}{5}

\PunktB[W]{3}{\frac{1}{2}}

\end{document}

gefragt 24 Sep '18, 16:02

Cletus's gravatar image

Cletus
1.6k45566
Akzeptiert-Rate: 75%

1

Hilft https://tex.stackexchange.com/q/2607/35864? Also \newcommand*{\PunktB}[3][]{#1\mathopen{}\mathclose{\left(#2\,\middle|\,#3\right)}}

(24 Sep '18, 16:38) moewe

Dafür gibt es ein Paket mleftright. Aus der Dokumentation

The package is a result of a thread in the newsgroup comp.text.tex with the subject spacing after right) and before left( [1]. The problem: \left and \right adjust the size of the delimiters automatically. However, TeX treats the whole expression as inner formula. In some circumstances TeX adds extra space before or after an inner formula.

Öffne in Overleaf
\documentclass{article}
\usepackage{mleftright}
\mleftright

\newcommand*{\PunktA}[3][]{\ensuremath{#1({#2}\,|\,{#3})}}
\newcommand*{\PunktB}[3][]{\ensuremath{#1\left({#2}\,\middle|\,{#3}\right)}}

\begin{document}

\PunktA[W]{3}{5}

\PunktA[W]{3}{\frac{1}{2}}

\PunktB[W]{3}{5}

\PunktB[W]{3}{\frac{1}{2}}

\end{document}

alt text

Permanenter link

beantwortet 24 Sep '18, 23:49

Henri's gravatar image

Henri
15.7k133943
Akzeptiert-Rate: 46%

bearbeitet 24 Sep '18, 23:50

Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×8
×5
×4

gestellte Frage: 24 Sep '18, 16:02

Frage wurde gesehen: 4,343 Mal

zuletzt geändert: 24 Sep '18, 23:50