PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Probleme mit \hdotsfor



Marian
22-12-2010, 16:34
Hallo!

Ich habe ein Problem mit den Matrizen, die ich mit manchen farbigen Elementen versehen wollte.

Ich benutze den folgenden Code:



\documentclass{article}
\usepackage{amsmath,amsfonts,amssymb}
\usepackage{xcolor}
%%%%
\makeatletter
\def\env@matrix{\hskip -\arraycolsep
\let\@ifnextchar\new@ifnextchar
\array{*\c@MaxMatrixCols r}}
\makeatother
%%%%
\usepackage{graphicx}
\begin{document}
\[
\setcounter{MaxMatrixCols}{11}%
\begin{pmatrix}
a_{1,1} & a_{1,2} & a_{1,3} & \hdotsfor[2]{7} & a_{1,n}\\
%--------------
\hdotsfor[2]{11}\\
%--------------
a &
b &
c &
d &
e &
f &
{\color{red}\hdotsfor[2]{4}} &
{\color{red}a_{r,n}}\\
%--------------
\hdotsfor[2]{11}
\end{pmatrix}
\]
\end{document}


Diesen Code bearbeite ich mit

=====================
latex file.tex
dvips -Ppdf -o file.ps file.dvi
ps2pdf file.ps
=====================

oder mit

=====================
pdflatex file.tex
=====================


Aber beim "latex file.tex" bekomme ich diese Fehlermeldung:



! Misplaced \omit
\multispan -> \omit
\@multispan


Ich habe schon festgestellt, dass die problematische Stelle in meinem Code der Teil mit

=====================
{\color{red}\hdotsfor[2]{4}}
=====================

ist.


Und endlich meine Bitte und Frage an die Spezialisten dieses Forums. Wie kann man eine farbige Variante des Kommandos \hdotsfor in den Latex-Code einarbeiten? Die oben angeführte Möglichkeit funktioniert bei mir nicht.

Leider bin ich nicht imstande ein neues Kommando zu definieren, z.B. \colorhdotsfor[#1]{#2}{#3}, wo #3 die Bezeichnung der Farbe wäre.

Wenn ich von euch Tipps oder Lösungen zu diesem Problem bekommen könnte, würde mich das natürlich sehr freuen.

Danke im voraus.

mechanicus
22-12-2010, 17:19
Hi,


\documentclass{article}
\usepackage{amsmath,amsfonts,amssymb}
\usepackage{xcolor}
%%%%
\makeatletter
\def\env@matrix{\hskip -\arraycolsep
\let\@ifnextchar\new@ifnextchar
\array{*\c@MaxMatrixCols r}}
\def\hdots@for#1#2#3{\multicolumn{#2}c%
{\color{#3}\m@th\dotsspace@1.5mu\mkern-#1\dotsspace@
\xleaders\hbox{$\m@th\mkern#1\dotsspace@.\mkern#1\ dotsspace@$}%
\hfill
\mkern-#1\dotsspace@}%
}
\makeatother
%%%%
\usepackage{graphicx}
\begin{document}
\[
\setcounter{MaxMatrixCols}{11}%
\begin{pmatrix}
a_{1,1} & a_{1,2} & a_{1,3} & \hdotsfor[2]{7}{red} & a_{1,n}\\
%--------------
\hdotsfor[2]{11}{red} \\
%--------------
a &
b &
c &
d &
e &
f &
\hdotsfor[2]{4}{red} &
{a_{r,n}}\\
%--------------
\hdotsfor[2]{11}{blue}
\end{pmatrix}
\]
\end{document}

Gruß
Marco

rais
22-12-2010, 17:39
Moin moin,
als Alternative, wobei \hdotsfor erhalten bleibt


\documentclass{article}
\usepackage{amsmath,amsfonts,amssymb}
\usepackage{xcolor}
%%%%
\makeatletter
\def\env@matrix{\hskip -\arraycolsep
\let\@ifnextchar\new@ifnextchar
\array{*\c@MaxMatrixCols r}}
\newcommand{\coloredhdotsfor}[1]{%
\ifx[#1\@xp\coloredshdots@for\else\coloredhdots@for\@ne {#1}\fi}
\def\coloredshdots@for#1]{\coloredhdots@for{#1}}
\def\coloredhdots@for#1#2#3{\multicolumn{#2}c%
{\color{#3}\m@th\dotsspace@1.5mu\mkern-#1\dotsspace@
\xleaders\hbox{$\m@th\mkern#1\dotsspace@.\mkern#1\ dotsspace@$}%
\hfill
\mkern-#1\dotsspace@}%
}
\makeatother
%%%%
\usepackage{graphicx}
\begin{document}
%\show\hdotsfor
\[
\setcounter{MaxMatrixCols}{11}%
\begin{pmatrix}
a & b & c & d & e & f & g & h & i & j & k\\
a_{1,1} & a_{1,2} & a_{1,3} & \hdotsfor[2]{7} & a_{1,n}\\
%--------------
\hdotsfor[2]{11}\\
%--------------
a &
b &
c &
d &
e &
f &
\coloredhdotsfor[2]{4}{red} &
{\color{red}a_{r,n}}\\
%--------------
\hdotsfor[2]{11}
\end{pmatrix}
\]
\end{document}

MfG

Marian
22-12-2010, 18:22
Ich danke euch beiden; ihr habt mir wirklich geholfen.

Marian