PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : mathtt nicht wirklich monospaced



dernickel
28-11-2007, 13:03
Hallo,

ich möchte viele Vorzeichenpatterns bestehend aus 0,+,- im Mathemodus untereinanderschreiben. Dummerweise ist bei \mathtt die Null schmaler als + und -.

Ich formuliere es mal als Minimalbeispiel:


\documentclass{article}
\newcommand{\signvector}[1]{\mathtt{#1}}
\begin{document}
\noindent
$\signvector{+-++++-+-}$\\
$\signvector{0+000-00+}$
\end{document}


Hat jemand eine Idee für eine alternative Definition des Befehls \signvector, so dass die Zeichenketten wirklich monospaced untereinander stehen und der math font benutzt wird? Ich möchte nicht den texttt-Befehl benutzen.

Danke für jede Idee
Robert

voss
28-11-2007, 19:20
Hallo,

ich möchte viele Vorzeichenpatterns bestehend aus 0,+,- im Mathemodus untereinanderschreiben. Dummerweise ist bei \mathtt die Null schmaler als + und -.

Ich formuliere es mal als Minimalbeispiel:


\documentclass{article}
\newcommand{\signvector}[1]{\mathtt{#1}}
\begin{document}
\noindent
$\signvector{+-++++-+-}$\\
$\signvector{0+000-00+}$
\end{document}


Hat jemand eine Idee für eine alternative Definition des Befehls \signvector, so dass die Zeichenketten wirklich monospaced untereinander stehen und der math font benutzt wird? Ich möchte nicht den texttt-Befehl benutzen.


dazu müsstest du die +/- umdefinieren und dann hast du dasselbe wie mit \texttt

Herbert

Nicolas2
28-11-2007, 21:56
Hallo Robert,

da es ja eigentlich eine tabellarische Zuordnung ist, biete sich für das Problem eher eine Tabelle ("array") als eine Definition der Schriftbreite an.

Nicolas

dernickel
29-11-2007, 12:00
dazu müsstest du die +/- umdefinieren und dann hast du dasselbe wie mit \texttt


Kann ich nicht lokal die +/- umdefinieren, so dass das gleiche Zeichen mit verringertem Abstand links/rechts verwendet wird?

voss
29-11-2007, 12:42
Kann ich nicht lokal die +/- umdefinieren, so dass das gleiche Zeichen mit verringertem Abstand links/rechts verwendet wird?

das ist ein ziemlicher Aufwand, da die Zeichen völlig neu definieren musst.
Es geht nicht nur um den Abstand, + - sind im Mathemodus auch breiter,
als die Ziffern, die auch im Normalfall gleiche Breite haben.

Herbert

dernickel
29-11-2007, 13:12
Hallo Robert,

da es ja eigentlich eine tabellarische Zuordnung ist, biete sich für das Problem eher eine Tabelle ("array") als eine Definition der Schriftbreite an.

Nicolas

Nun ja, aber das genau wollte ich gern umgehen, da ich wirklich viele solcher Vorzeichenvektoren auflisten will. Sie erscheinen teilweise auch im Text und ich fände es schön, wenn ich in beiden Varianten einheitliche Fonts und Spacing hätte. Dies ist im Moment nur mit \texttt möglich, was aber wie ich finde nicht schön aussieht.

dernickel
30-11-2007, 12:48
Mit \DeclareMathSymbol kann ich doch Symbole umdefinieren. Geht das auch lokal in einem Makro (\mit \newcommand)?

Kann ich lokal irgendwie festlegen, dass +/- keine Operatoren sein sollen? Da kommt latex nämlich ziemlich durcheinander, wenn ich viele davon hintereinanderschreibe.

marius79
30-11-2007, 15:17
Hallo,

Kann ich lokal irgendwie festlegen, dass +/- keine Operatoren sein sollen? Da kommt latex nämlich ziemlich durcheinander, wenn ich viele davon hintereinanderschreibe.
vielleicht so?

\documentclass{scrartcl}

\newcommand{\myplus}{\ensuremath{\mathord{+}}}
\newcommand{\myminus}{\ensuremath{\mathord{-}}}

\begin{document}
\noindent
$++++----$\\
$\myplus\myplus\myplus\myplus\myminus\myminus\mymi nus\myminus$
\end{document}
Das löst Dein Problem mit der Breite der Zahlen aber leider auch nicht.

Grüße
marius