1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
|
\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst}
\documentclass[english,ngerman]{tudscrartcl}
\usepackage{tudscrtutorial}
\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}}
\usepackage[T1]{fontenc}
\lstset{%
inputencoding=utf8,extendedchars=true,
literate=%
{ä}{{\"a}}1 {ö}{{\"o}}1 {ü}{{\"u}}1
{Ä}{{\"A}}1 {Ö}{{\"O}}1 {Ü}{{\"U}}1
{~}{{\textasciitilde}}1 {ß}{{\ss}}1
}
\usepackage{mathswap}
\usepackage{bookmark}
\begin{document}
\begin{Bundle}{\Package{mathswap}}
\date{20.11.2015}
\author{Falk Hanisch\thanks{\noexpand\scriptsize\noexpand\Email{\tudscrmail}}}
\title{Änderung der Trennzeichen im Mathematikmodus}
\makeatletter
\begingroup%
\def\and{, }%
\let\thanks\@gobble%
\let\footnote\@gobble%
\hypersetup{%
pdfauthor = {\@author},%
pdftitle = {\@title},%
pdfsubject = {Mathematiksatz in \hologo{LaTeXe}},%
pdfkeywords = {LaTeX, \TUDScript, Tutorial, Mathematiksatz},%
}%
\endgroup%
\markright{\@title}
\makeatother
\StartTutorial
%
\begin{Preamble}
\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst}
\documentclass[english,ngerman]{tudscrartcl}% andere Klassen sind möglich
\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{microtype}
\end{Preamble}
%
Zusätzlich wird das Paket \Package{mathswap}'manual' aus dem \TUDScript-Bundle
geladen, welches die Änderung der Gruppierungs- und Dezimaltrennzeichen von
Zahlen im Mathematikmodus ermöglicht.
%
\begin{Preamble}
\usepackage{mathswap}
\end{Preamble}
%
Werden in einer wissenschaftlichen Abhandlung vielerlei Daten importiert und
beispielsweise tabellarisch dargestellt, kann es durchaus sein, dass diese
importierten Daten nicht dem Zahlenformat entsprechen, welches für die
verwendete Dokumentsprache normalerweise notwendig wäre. Um sich die manuelle
Konvertierung der Daten zu ersparen, kann alternativ dazu die Möglichkeit
genutzt werden, dies mit Hilfe von \hologo{LaTeXe} selbst zu erledigen. In
diesem Tutorial wird hierfür das Paket \Package{mathswap}'manual' genutzt.
Alternativ dazu kann auch das Paket \Package{ionumbers}()'manual' verwendet
werden.
Ohne die Verwendung eines speziellen Paketes zur Zahlenformatierung wird eine
Zahl im mathematischen Modus durch \hologo{LaTeXe} normalerweise so
ausgegeben:
%
\CodePreamble{%
Ausgabe mit deutscher Zifferngruppierung ohne \Package{mathswap}'manual'%
}
\begin{Trunk*}
\mathswapoff
\(4.523,58\)
\mathswapon
\end{Trunk*}
%
Da in der Präambel dieses Dokumentes das Paket \Package{mathswap}'manual'
bereits geladen wurde, musste mit \Macro{mathswapoff}'manual' auf das
Standardverhalten von \hologo{LaTeXe} geschaltet werden. Der Befehl
\Macro{mathswapon}'manual' aktiviert wiederum die Funktionalität von
\Package{mathswap}'manual'.
Für diese Tutorial wird angenommen, dass die wissenschaftlichen Abhandlung in
deutscher Sprache verfasst wird. Ist nun eine Zahl im deutschen Zahlenformat
gegeben, kann diese einfach im Mathematikmodus angegeben werden. Diese wird
den hierzulande existierenden Konventionen entsprechend gruppiert ausgegeben:
%
\CodePreamble{%
Ausgabe mit deutscher Zifferngruppierung und Sprache \PValue{ngerman}%
}
\begin{Trunk*}
\(4.523,58\)
\end{Trunk*}
%
Sollte die gleiche Zahl in englischer Formatierung gegeben sein, funktioniert
dies nicht mehr:
%
\CodePreamble{%
Ausgabe mit englischer Zifferngruppierung und Sprache \PValue{ngerman}%
}
\begin{Trunk*}
\(4,523.58\)
\end{Trunk*}
%
Mit der Nutzung der Befehle \Macro{commaswap}[\PParameter{\Macro*{,}}]'manual'
sowie \Macro{dotswap}[\PParameter{,}]'manual' können die Substitutionen für
Komma und Punkt im Mathematikmodus geändert:
%
\CodePreamble{%
Ausgabe mit englischer Zifferngruppierung und geänderten Trennzeichen%
}
\begin{Trunk*}
\begingroup
\commaswap{\,}
\dotswap{,}
\(4,523.58\)
\endgroup
\end{Trunk*}
%
Die Verwendung von \Macro*{begingroup} und \Macro*{endgroup} führt hierbei
dazu, dass die Änderungen der beiden Trennzeichen nur lokal innerhalb dieser
Gruppe erfolgt.
Wird das Paket \Package{mathswap}'manual' zusammen mit einer \TUDScript-Klasse
verwendet, werden die Dezimaltrennzeichen im Mathematikmodus sprachabhängig
definiert. Wird die Dokumentsprache auf \PValue{english} gesetzt, so werden die
Dezimaltrennzeichen standardmäßig für die englischsprachige Zifferngruppierung
definiert. In diesem Fall müssen Zahlen, welche im deutschsprachigen Format
gruppiert sind, angepasst werden:
%
\CodePreamble{%
Ausgabe bei \PValue{english} als gewählter Sprache%
}
\begin{Trunk*}
\begingroup
\selectlanguage{english}%
\(4,523.58\)\\
\(4.523,58\)\\
\commaswap{.}
\dotswap{\,}
\(4.523,58\)
\endgroup
\end{Trunk*}
%
\FinishTutorial
\ListOfToDo
\end{Bundle}
\end{document}
|