Einzelne horizontale Linie in Tabelle formattieren Thema ist als GELÖST markiert

Tabellen und Grafiken erstellen und anordnen


Permutation
Forum-Anfänger
Forum-Anfänger
Beiträge: 24
Registriert: Mi 12. Jan 2022, 19:01

Einzelne horizontale Linie in Tabelle formattieren

Beitrag von Permutation »

Hallo zusammen,

ich würde gern in einer Tabelle einzelne horizontale Linien "editieren", d.h. Höhe und Farbe ändern. Ich schaffe es zwar das eine oder das andere zu ändern, beides zusammen geht leider nicht.
\documentclass[a4paper]{report}
\usepackage{array}
\usepackage{longtable}
\usepackage[longtable]{multirow}
\usepackage{multicol}
\usepackage[dvipsnames, table]{xcolor}

\definecolor{color_0_0_0}{RGB}{0, 0, 0}
\definecolor{color_242_242_242}{RGB}{242, 242, 242}
\definecolor{color_120_120_120}{RGB}{120, 120, 120}
\definecolor{color_100_100_100}{RGB}{100, 100, 100}

\newcolumntype{D}[1]{>{\raggedright\arraybackslash}m{#1}}
\newcommand{\vl}[2]{\color{#1}{\vrule width #2}}
\newcommand{\hl}[2]{\noalign{\hrule height #2}}
\setlength{\extrarowheight}{.5em}

\begin{document}
\chapter[Tables]{Tables}
\begin{tabular}{!{\vl{color_0_0_0}{.35278mm}}D{89.25337mm}!{\vl{color_0_0_0}{.35278mm}}D{89.25337mm}!{\vl{color_0_0_0}{.35278mm}}}

%\color{color_120_120_120}\noalign{\hrule height 4pt} %<--- Hier kommt immer ein Fehler mit noalign
\noalign{\hrule height 4pt}

\rowcolor{color_242_242_242}% Cell 1 1
\multicolumn{2}{!{\vl{color_0_0_0}{.35278mm}}D{182.72421mm}!{\vl{color_0_0_0}{.35278mm}}}
{
NameNameNameNameNameNameNameNameNameNameNameNameNameName
}
\\*% Cell 2 1
\hline
\rowcolor{color_242_242_242}\multicolumn{2}{!{\vl{color_0_0_0}{.35278mm}}D{182.72421mm}!{\vl{color_0_0_0}{.35278mm}}}
{
DescriptionDescriptionDescriptionDescriptionDescription
}
\\*% Cell 3 1
\hline
\rowcolor{color_242_242_242}Hex Limits: \textit{0x0 ... 0x10}
&% Cell 3 2
Phys Limits: \textit{12 ... 20}
\\*% Cell 4 1
\hline
\rowcolor{color_242_242_242}Unit: \textit{s}
&% Cell 4 2
DataType: \textit{byte}
\\*% Cell 5 1
\hline
\rowcolor{color_242_242_242}Quantization: \textit{1.0}
&% Cell 5 2
Nv-RAM: \textit{NV}
\\*% Cell 6 1
\hline
\end{tabular}
\end{document}
Da ich es gern für jede einzelne Linie ändern wollen würde, hätte ich gern ein "newcommand" definiert. Doch leider klappt dies auch nicht:
\newcommand{\hl}[2]{\noalign{\color{#1}\hrule height #2}}
Hier kommt auch die noalign Fehlermeldung.

Daher meine Frage, wie kann ich ein "newcommand" definieren, dass beides ändern kann?

Schöne Grüße
Permutation

Permutation
Forum-Anfänger
Forum-Anfänger
Beiträge: 24
Registriert: Mi 12. Jan 2022, 19:01

Re: Einzelne horizontale Linie in Tabelle formattieren

Beitrag von Permutation »

Nach fast zwei Tagen der Suche habe ich endlich die Lösung gefunden:
\newcommand{\hl}[2]{\noalign{{\color{#1}\hrule height #2}}}
siehe https://tex.stackexchange.com/a/311996

Die Lösung waren das extra "{}" Paar.

Schöne Grüße
Permutation

Antworten