PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit eigenem Matrix-Befehl



whistler
25-03-2010, 17:28
Hallo Leute!
Ich habe mir einen eigenen Befehl geschrieben indem ich den TeX-Befehl \matrix aus der Datei plain.tex modifiziert habe. Der Befehl soll eine Tabelle bzw. Matrix erzeugen in der alle Werte unabhängig von der Anzahl der Nach- und Vorkommastellen am Komma orientiert untereinander setzt. Diese Anforderung erfüllt der Befehl auch, aber ich bekomme zusätzlich eine Fehlermeldung mit der ich nichts anzufangen weiß.

Minimalbeispiel:


\def\KBmatrix#1{\null\,\vcenter{\normalbaselines
\ialign{\hfil$##$&&$,$&&\quad\hfil$##$\crcr
\mathstrut\crcr\noalign{\kern-\baselineskip}
#1\crcr\mathstrut\crcr\noalign{\kern-\baselineskip}}}\,}

\begin{document}

$\KBmatrix{153&&23 & 2543&&155 & 13&&233 & 25&&1\cr
1&&231123 & 258&&17 & 3451&&523 & 254&&178\cr
13&&213 & 25523&&14356 & 1&&2563 & 067525&&71\cr
1&&231123 & 258&&17 & 3451&&523 & 254&&178\cr
153&&23 & 2543&&155 & 13&&233 & 25&&1\cr}$

\end{document}


liefert folgende Fehlermeldung:
"! Missing # inserted in alignment preamble."

Ich weiß dass Pakete für mein Problem existieren aber diese möchte ich nicht verwenden.
Danke für eure Mühen im Vorraus.

mechanicus
25-03-2010, 20:06
Hi,

wie wäre es hiermit:

\documentclass{minimal}
\makeatletter
\def\KBmatrix#1{\null\,\vcenter{\normalbaselines\m @th
\ialign{%
\hfil$##$&$,##$\hfil&&\quad\hfil$##$&$,##$\crcr%
\mathstrut\crcr\noalign{\kern-\baselineskip}%
#1\crcr\mathstrut\crcr\noalign{\kern-\baselineskip}}}\,}
\makeatother
\begin{document}

$\KBmatrix{153 & 23 & 2543 & 155 & 13 & 233 & 25 & 1 \cr
1 & 231123 & 258 & 17 & 3451 & 523 & 254 & 178 \cr
13 & 213 & 25523 & 14356 & 1 & 2563 & 067525 & 71 \cr
1 & 231123 & 258 & 17 & 3451 & 523 & 254 & 178 \cr
153 & 23 & 2543 & 155 & 13 & 233 & 25 & 1 \cr}$
\end{document}

Gruß
Marco

whistler
25-03-2010, 21:44
Hallo mechanicus!
Danke für deine Antwort.
Ich bin mit dem Resultat zufrieden habe nur noch eine kleine Abstandskorrektur nach dem Komma vorgenommen. Hier nochmal der Befehl mit entsprechenden Beispiel:


\documentclass{minimal}
\makeatletter

\def\KBmatrix#1{\null\,\vcenter{\normalbaselines\m @th
\ialign{%
\hfil$##$&$,\!##$\hfil&&\quad\hfil$##$&$,\!##$\crcr%
\mathstrut\crcr\noalign{\kern-\baselineskip}%
#1\crcr\mathstrut\crcr\noalign{\kern-\baselineskip}}}\,}

\makeatother
\begin{document}

$\KBmatrix{153&23 & 2543&155 & 13&233 & 25&1 \cr
1&231123 & 258&17 & 3451&523 & 254&178 \cr
13&213 & 25523&14356 & 1&2563 & 067525&71 \cr
1&231123 & 258&17 & 3451&523 & 254&178 \cr
153&23 & 2543&155 & 13&233 & 25&1 \cr}$

\end{document}