Discussion:
:= in latex...
(zu alt für eine Antwort)
stefan grath
2006-07-20 11:20:18 UTC
Permalink
hi there!

ich bekomme einfach kein vernünftiges "definiert-zeichen" hin.

:= sieht sche*** aus, $:=$ ist zwar vertikal zentrierter, aber auch
nicht wirklich schön.
ein spezielles mathesymbol habe ich bislang nicht auftreiben können :(

gibt es da irgendwas spezielles für?
Daniel Oehry
2006-07-20 11:34:18 UTC
Permalink
Post by stefan grath
hi there!
ich bekomme einfach kein vernünftiges "definiert-zeichen" hin.
:= sieht sche*** aus, $:=$ ist zwar vertikal zentrierter, aber auch
nicht wirklich schön.
ein spezielles mathesymbol habe ich bislang nicht auftreiben können :(
gibt es da irgendwas spezielles für?
siehe DE-TeX-FAQ:

8.1.12 Das Zeichen := sieht schlecht aus, wie kann ich erreichen, daß der
Doppelpunkt in seiner Höhe zum Gleichheitszeichen paßt?

http://www.dante.de/faq/de-tex-faq/

Daniel
stefan grath
2006-07-20 12:14:42 UTC
Permalink
Post by Daniel Oehry
8.1.12 Das Zeichen := sieht schlecht aus, wie kann ich erreichen, daß der
Doppelpunkt in seiner Höhe zum Gleichheitszeichen paßt?
http://www.dante.de/faq/de-tex-faq/
danke für den tipp!

leider funktioniert das beschriebene makro

\mathchardef\ordinarycolon\mathcode`\:
\mathcode`\:=\string"8000
\begingroup \catcode`\:=\active
\gdef:{\mathrel{\mathop\ordinarycolon}}
\endgroup

bei mir gar nicht... es erzielt GAR KEINEN effekt :(

frage zur einbindug solcher makros: die kommen doch in den "head" des
dokuments, also von "\begin{document}", oder?

habe in den faqs dazu nix gefunden...
Uwe Siart
2006-07-20 12:33:25 UTC
Permalink
Post by stefan grath
leider funktioniert das beschriebene makro
bei mir gar nicht... es erzielt GAR KEINEN effekt :(
So eine Aussage hilft halt gar nix, weil man nicht weiß, was du gemacht
hast.

Das hier geht bei mir:

% ---------------------------------------
\documentclass{article}
\mathchardef\ordinarycolon\mathcode`\:
\mathcode`\:=\string"8000
\begingroup \catcode`\:=\active
\gdef:{\mathrel{\mathop\ordinarycolon}}
\endgroup
\begin{document}
\begin{equation}
a := b
\end{equation}
\end{document}
% ---------------------------------------

Was passiert da bei dir?
--
Uwe
stefan grath
2006-07-21 11:27:17 UTC
Permalink
Post by Uwe Siart
% ---------------------------------------
\documentclass{article}
\mathcode`\:=\string"8000
\begingroup \catcode`\:=\active
\gdef:{\mathrel{\mathop\ordinarycolon}}
\endgroup
\begin{document}
\begin{equation}
a := b
\end{equation}
\end{document}
% ---------------------------------------
Was passiert da bei dir?
hmm... also bei mir passiert da nicht viel :(

sieht genauso aus wie wenn ich das ohne das makro mache



also:

% ---------------------------------------
\documentclass{article}
\mathchardef\ordinarycolon\mathcode`\:
\mathcode`\:=\string"8000
\begingroup \catcode`\:=\active
\gdef:{\mathrel{\mathop\ordinarycolon}}
\endgroup
\begin{document}
a := b
\end{document}
% ---------------------------------------

liefert bei mir dieselbe ausgabe wie

% ---------------------------------------
\documentclass{article}
\mathchardef\ordinarycolon\mathcode`\:
\mathcode`\:=\string"8000
\begingroup \catcode`\:=\active
\gdef:{\mathrel{\mathop\ordinarycolon}}
\endgroup
\begin{document}
a $:=$ b
\end{document}
% ---------------------------------------

und wie

% ---------------------------------------
\documentclass{article}
\begin{document}
a $:=$ b
\end{document}
% ---------------------------------------


dabei sollte die linien des "=" doch jeweils auf gleicher höhe sein wie
die punkte des ":" ?!!!
Heiko Oberdiek
2006-07-21 12:32:44 UTC
Permalink
Post by stefan grath
Post by Uwe Siart
% ---------------------------------------
\documentclass{article}
\mathcode`\:=\string"8000
\begingroup \catcode`\:=\active
\gdef:{\mathrel{\mathop\ordinarycolon}}
\endgroup
\begin{document}
\begin{equation}
a := b
\end{equation}
\end{document}
% ---------------------------------------
Was passiert da bei dir?
hmm... also bei mir passiert da nicht viel :(
sieht genauso aus wie wenn ich das ohne das makro mache
Eine Änderung des Typs eines Mathe-Atoms kann zwar eine
Verhaltensänderung bewirken (beispielsweise den horizontalen
Abstand davor oder danach ändern), aber eine vertikale Zentrierung
dieses Atoms kann man damit meines Wissens nicht bewirken.
Dafür ist \vcenter zuständig.

Lösungsvorschlag:

\documentclass[12pt]{article}

\makeatletter
\newcommand*{\assign}{%
\ensuremath{%
\mathrel{%
{%
\mathpalette\@***@text{:}%
}%
{=}%
}%
}%
}
\def\@***@text#1#2{%
\vcenter{%
\***@th
\hbox{$#1#2$}%
}%
}
\makeatother

\begin{document}
\huge\noindent
$ a \assign b $\\
$ \displaystyle
a \assign b\qquad
\frac{a \assign b}
{a \assign b_{a \assign b^{a \assign b}}} $
\end{document}

Viele Grüße
Heiko <***@uni-freiburg.de>
Uwe Siart
2006-07-21 12:45:02 UTC
Permalink
Post by stefan grath
sieht genauso aus wie wenn ich das ohne das makro mache
Nein, bei mir nicht. Der : wird auf der Mittelachse des = zentriert,
ohne das Makro hängt er deutlich nach unten durch. Vielleicht musst du
mal ein bisschen draufvergrößern, um es zu sehen.
Post by stefan grath
dabei sollte die linien des "=" doch jeweils auf gleicher höhe sein wie
die punkte des ":" ?!!!
Nein, das Makro verändert nicht die Glyphen : und/oder = (das wäre
nötig, denn die Abstände der Punkte sind schon im Zeichen verschieden
vom Abstand der =-Striche) sondern es zentriert lediglich den
Doppelpunkt auf der mathematischen Achse. Das ist zwar noch nicht so gut
wie ein eigens entworfenes Zeichen, sieht aber schon besser aus, als
wenn man gar nichts macht.
--
Uwe
Fabian Kurz
2006-07-20 11:36:31 UTC
Permalink
Post by stefan grath
ich bekomme einfach kein vernünftiges "definiert-zeichen" hin.
[...]
Post by stefan grath
gibt es da irgendwas spezielles für?
z.B. \coloneq aus dem Paket mathabx.

Siehe auch:
http://www.ctan.org/tex-archive/info/symbols/comprehensive/symbols-a4.pdf

Grusz,
--
Fabian Kurz, DJ1YFK * Dresden, Germany * http://fkurz.net/
Loading...