Überarbeitungsverlauf[Zurück]
Klicke auf Einblenden/Ausblenden von Überarbeitungen 3

05 Mär '16, 18:57

cgnieder's gravatar image

cgnieder
22.1k253463

Bevor ich die eigentliche Frage beantworte: ich würde `\mathbb` weder umdefinieren noch überhaupt direkt einsetzen. Ohne Umdefinition würde ich stattdessen einen Befehl `\set` definieren: \newcommand*\set[1]{\mathbb{#1}} und den dann konsequent einsetzen: \[ 1\in \set{N} \subset \set{Z} \subset \set{Q} \subset \set{R} \] Vielleicht sogar: \newcommand*\set[1]{\mathbb{#1}} \newcommand*\N{\set{N}} \newcommand*\Z{\set{Z}} \newcommand*\Q{\set{Q}} \newcommand*\R{\set{R}} ... \[ 1\in \N \subset \Z \subset \Q \subset \R \] Mit dieser Vorüberlegung definiere ich nun einen Befehl `\set`, der auf `N`, `Q` und `R` testet und je nachdem `\vmathbb` oder `\mathbb` einsetzt. Dafür setze ich das Paket [`etoolbox`](http://www.ctan.org/pkg/etoolbox) ein: \documentclass[12pt]{beamer} \usepackage{libertine} \usepackage[libertine,liby,slantedGreek]{newtxmath} \usepackage{etoolbox} \newcommand*\set[1]{% \ifboolexpr{ test {\ifstrequal{#1}{N}} or test {\ifstrequal{#1}{Q}} or test {\ifstrequal{#1}{R}} } {\vmathbb{#1}} {\mathbb{#1}}% } \newcommand*\N{\set{N}} \newcommand*\Z{\set{Z}} \newcommand*\Q{\set{Q}} \newcommand*\R{\set{R}} \begin{document} \[ 1\in \N \subset \Z \subset \Q \subset \R \] \end{document} Eine bequemer erweiterbare Variante wäre, mit `etoolbox`' Listen zu arbeiten: \documentclass[12pt]{beamer} \usepackage{libertine} \usepackage[libertine,liby,slantedGreek]{newtxmath} \usepackage{etoolbox} \newcommand*\vbbsets{} \forcsvlist{\listadd\vbbsets}{N,Q,R} \newcommand*\set[1]{% \ifinlist{#1}{\vbbsets} {\vmathbb{#1}} {\mathbb{#1}}% } \newcommand*\N{\set{N}} \newcommand*\Z{\set{Z}} \newcommand*\Q{\set{Q}} \newcommand*\R{\set{R}} \begin{document} \[ 1\in \N \subset \Z \subset \Q \subset \R \] \end{document} ---------- Falls es nicht anders geht, kann man die gleiche Methode wie in Henris Antwort anwenden: \documentclass[12pt]{beamer} \usepackage{libertine} \usepackage[libertine,liby,slantedGreek]{newtxmath} \usepackage{etoolbox,letltxmacro} \LetLtxMacro\savedmathbb\mathbb \newcommand*\vbbsets{} \forcsvlist{\listadd\vbbsets}{N,Q,R} \renewcommand*\mathbb[1]{% \ifinlist{#1}{\vbbsets} {\vmathbb{#1}} {\savedmathbb{#1}}% } \newcommand*\N{\mathbb{N}} \newcommand*\Z{\mathbb{Z}} \newcommand*\Q{\mathbb{Q}} \newcommand*\R{\mathbb{R}} \begin{document} \[ 1\in \N \subset \Z \subset \Q \subset \R \] \end{document}
Klicke auf Einblenden/Ausblenden von Überarbeitungen 2

05 Mär '16, 14:27

cgnieder's gravatar image

cgnieder
22.1k253463

Bevor ich die eigentliche Frage beantworte: ich würde `\mathbb` weder umdefinieren noch überhaupt direkt einsetzen. Ohne Umdefinition würde ich stattdessen einen Befehl `\set` definieren: \newcommand*\set[1]{\mathbb{#1}} und den dann konsequent einsetzen: \[ 1\in \set{N} \subset \set{Z} \subset \set{Q} \subset \set{R} \] Vielleicht sogar: \newcommand*\set[1]{\mathbb{#1}} \newcommand*\N{\set{N}} \newcommand*\Z{\set{Z}} \newcommand*\Q{\set{Q}} \newcommand*\R{\set{R}} ... \[ 1\in \N \subset \Z \subset \Q \subset \R \] Mit dieser Vorüberlegung definiere ich nun einen Befehl `\set`, der auf `N`, `Q` und `R` testet. testet und je nachdem `\vmathbb` oder `\mathbb` einsetzt. Dafür setze ich das Paket [`etoolbox`](http://www.ctan.org/pkg/etoolbox) ein: \documentclass[12pt]{beamer} \usepackage{libertine} \usepackage[libertine,liby,slantedGreek]{newtxmath} \usepackage{etoolbox} \newcommand*\set[1]{% \ifboolexpr{ test {\ifstrequal{#1}{N}} or test {\ifstrequal{#1}{Q}} or test {\ifstrequal{#1}{R}} } {\vmathbb{#1}} {\mathbb{#1}}% } \newcommand*\N{\set{N}} \newcommand*\Z{\set{Z}} \newcommand*\Q{\set{Q}} \newcommand*\R{\set{R}} \begin{document} \[ 1\in \N \subset \Z \subset \Q \subset \R \] \end{document} Eine bequemer erweiterbare Variante wäre, mit `etoolbox`' Listen zu arbeiten: \documentclass[12pt]{beamer} \usepackage{libertine} \usepackage[libertine,liby,slantedGreek]{newtxmath} \usepackage{etoolbox} \newcommand*\vbbsets{} \forcsvlist{\listadd\vbbsets}{N,Q,R} \newcommand*\set[1]{% \ifinlist{#1}{\vbbsets} {\vmathbb{#1}} {\mathbb{#1}}% } \newcommand*\N{\set{N}} \newcommand*\Z{\set{Z}} \newcommand*\Q{\set{Q}} \newcommand*\R{\set{R}} \begin{document} \[ 1\in \N \subset \Z \subset \Q \subset \R \] \end{document}
Klicke auf Einblenden/Ausblenden von Überarbeitungen 1

05 Mär '16, 14:27

cgnieder's gravatar image

cgnieder
22.1k253463