Anzeige:
Ergebnis 1 bis 4 von 4

Thema: Probleme mit \hdotsfor

  1. #1
    Registrierter Benutzer
    Registriert seit
    26.05.2007
    Ort
    Tschechien
    Beiträge
    9

    Probleme mit \hdotsfor

    Hallo!

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

    Ich benutze den folgenden Code:

    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:

    Code:
    ! 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.
    Geändert von Marian (22-12-2010 um 15:37 Uhr)

  2. #2
    Registrierter Benutzer Avatar von mechanicus
    Registriert seit
    10.07.2008
    Ort
    Hamburg
    Beiträge
    3.944
    Hi,

    Code:
    \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

  3. #3
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.862
    Moin moin,
    als Alternative, wobei \hdotsfor erhalten bleibt
    Code:
    \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
    Rainer
    There's nothing a good whack with a hammer won't fix!

  4. #4
    Registrierter Benutzer
    Registriert seit
    26.05.2007
    Ort
    Tschechien
    Beiträge
    9
    Ich danke euch beiden; ihr habt mir wirklich geholfen.

    Marian

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •