我的问题是,当垂直线在代码中定义后无法打印出来时,我该如何插入它们?问题是关于右侧的两条垂直线,它们与左侧的两条垂直线完全一样定义,但没有在 PDF 中打印出来。我正在使用 NiceTabular,因为否则垂直线会被每条水平线打断。除了第一个问题之外,还有一个问题:如何将数字 3、6、8 和 9 的单元格垂直居中?
\documentclass[a4paper,12pt]{scrreprt}
\usepackage[left= 2.5cm,right = 2cm, bottom = 4 cm]{geometry}
\usepackage{hyperref}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{graphicx, subfig}
\graphicspath{{img/}}
\usepackage{fancyhdr}
\usepackage{lmodern}
\usepackage[color={1 0 .5}]{attachfile2}
\usepackage{color}
\usepackage{transparent}
\graphicspath{{img/}}
\usepackage{textgreek}
\usepackage{tikz}
\usetikzlibrary{arrows,shapes,shadows,calc,matrix}
\usepackage{pgfplots}
\usepackage{siunitx}
\sisetup{locale=DE}
\usepackage{amsbsy}
\usepackage{amssymb}
\usepackage[printonlyused]{acronym}
\usepackage{amsfonts}
\usepackage{amsmath}
\usepackage{booktabs}
\usepackage{longtable,multirow}
\usepackage{nicematrix}
\usepackage{enumitem}
\usepackage{array}
\usepackage{romannum}
\usepackage{rotating}
\usepackage{adjustbox}
\usepackage{colortbl}
\usepackage{xcolor}
\usepackage{hhline}
\usepackage{pdfpages}
\usepackage{multicol}
\usepackage{diagbox}
\newcommand\tabrotate[1]{\rotatebox{90}{#1\hspace{\tabcolsep}}}
\newcommand{\frontmatter}{
\cleardoublepage
\pagenumbering{Roman}
}
\newcommand{\mainmatter}{
\cleardoublepage
\pagenumbering{arabic}
\setcounter{page}{1}
}
\pagestyle{fancy}
%
\lhead{}
\chead{}
\rhead{\slshape \leftmark}
%%
\lfoot{}
\cfoot{\thepage}
\rfoot{}
%%
\renewcommand{\headrulewidth}{0.4pt}
\renewcommand{\footrulewidth}{0pt}
\hyphenation{De-zi-mal-tren-nung}
\begin{document}
\pagestyle{fancy}
\newpage
%Abkürzungsverzeichnis
\addchap{Abkürzungsverzeichnis}
\label{sec:abkuerzungsverzeichnis}
\begin{acronym}[LV]
\acro{LV}{Lösungsvariante}
\end{acronym}
\begin{table}
\centering
\begin{NiceTabular*}{\textwidth}{@{\extracolsep{\fill}}|ccccccc|lllclllllll|l|}
\toprule
\multirow{7}{*}{\raisebox{-25.2\height }{\rotatebox[origin=r]{90}{\ac{LV} eintragen}} }
& \multirow{7}{*}{\raisebox{-22.85\height }{\rotatebox[origin=r]{90}{ Mit Aufgabenstellung verträglich}}}
& \multirow{7}{*}{\raisebox{-8\height }{\rotatebox[origin=r]{90}{Forderungen der Anforderungsliste erfüllt}}}
& \multirow{7}{*}{\raisebox{-1.45\height }{\rotatebox[origin=r]{90}{Grundsätzliche Realisierungschancen gegeben}}}
& \multirow{7}{*}{\raisebox{-20.65\height }{\rotatebox[origin=r]{90}{Akzeptabler Bearbeitungsaufwand}}}
& \multirow{7}{*}{\raisebox{-15.55\height }{\rotatebox[origin=r]{90}{Kein Störeinfluss auf das Experiment}}}
& \multirow{7}{*}{\raisebox{-29\height }{\rotatebox[origin=r]{90}{Im eigenen Bereich bevorzugt}} } & & & \textbf{Auswahlliste} & \multirow{7}{*}{\raisebox{-57.45\height }{\rotatebox[origin=r]{90}{Entscheidung}}} & & & & & & & &
\\
& & & & & & & & \multicolumn{2}{p{15em}}{ \rule{0pt}{85pt}Beurteilen der \ac{LV}:} & & & & & & & & & \\
\cmidrule{8-10}
& & & & & & & & \multicolumn{1}{p{1.5em}}{(+)} & \multicolumn{1}{p{13.5em}}{Auswahlkriterium erfüllt / \ac{LV} weiter verfolgen} & & & & & & & & &
\\
\cmidrule{8-10}
& & & & & & & & \multicolumn{1}{p{1.5em}}{(-)} & \multicolumn{1}{p{13.5em}}{Auswahlkriterium nicht erfüllt / \ac{LV} scheidet aus} & & & & & & & & &
\\
\cmidrule{8-10}
& & & & & & & & \multicolumn{1}{p{1.5em}}{(?)} & \multicolumn{1}{p{13.5em}}{Informationsmangel} & & & & & & & & &
\\
\cmidrule{8-10}
& & & & & & & & \multicolumn{1}{p{1.5em}}{(!)} & \multicolumn{1}{p{13.5em}}{Anforderungsliste überprüfen } & & & & & & & & &
\\
\cmidrule{8-10}
& & & & & & & \multicolumn{3}{l}{\rule{0pt}{20pt}Bemerkungen} & & & & & & & & &
\\
\midrule
1 & + & + & + & + & + & + & \multicolumn{3}{l}{} & \textbf{+} & & & & & & & &
\\
\midrule
2 & + & + & - & & & & \multicolumn{3}{p{21em}}{Bauraum der verfügbaren Aktoren ist zu groß} & \textbf{-} & & & & & & & &
\\
\midrule
3 & + & + & - & & & & \multicolumn{3}{p{21em}}{Die Kraft des Aktors ist für die Festkörpermechanik zu gering} & \textbf{-} & & & & & & & &
\\
\midrule
4 & + & + & + & + & + & + & \multicolumn{3}{p{21em}}{} & \textbf{+} & & & & & & & &
\\
\midrule
5 & + & + & + & + & + & + & \multicolumn{3}{p{21em}}{} & \textbf{+} & & & & & & & &
\\
\midrule
6 & + & + & + & + & - & & \multicolumn{3}{p{21em}}{Aggregat ist bauraumintensiv bringt Vibrationen in das Experiment} & \textbf{-} & & & & & & & &
\\
\midrule
7 & + & + & - & & & & \multicolumn{3}{p{21em}}{Aktorkraft ist zu gering} & \textbf{-} & & & & & & & &
\\
\midrule
8 & + & + & (-) & + & (-) & + & \multicolumn{3}{p{21em}}{ Schrittweite, die ohne überzurutschen gefahren werden kann ist für einen dynamischen Scann zu gering und die Aktorkraft ist gering} & \textbf{-} & & & & & & & &
\\
\midrule
9 & + & + & (-) & + & - & & \multicolumn{3}{p{21em}}{Thermische Aktoren beeinflussen zu stark die Experimentumgebung} & \textbf{-} & & & & & & & &
\\
\midrule
10 & + & + & + & + & + & + & \multicolumn{3}{p{21em}}{ } & \textbf{+} & & & & & & & &
\\
\midrule
11 & + & + & + & + & + & + & \multicolumn{3}{p{21em}}{} & \textbf{+} & & & & & & & &
\\
\bottomrule
\end{NiceTabular*}
\caption[Auswahlliste]{Auswahlliste um die Vorauswahl der zu präzisierenden Konzepte zu reduzieren}
\label{tab:Auswahlliste}
\end{table}
\end{document}
我很高兴收到任何暗示并提前致谢。
答案1
你想要这样的东西吗?
代码:
\documentclass[a4paper,12pt]{scrreprt}
\usepackage[left= 2.5cm,right = 2cm, bottom = 4 cm]{geometry}
\usepackage{hyperref}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{graphicx, subfig}
\graphicspath{{img/}}
\usepackage{fancyhdr}
\usepackage{lmodern}
\usepackage[color={1 0 .5}]{attachfile2}
\usepackage{color}
\usepackage{transparent}
\graphicspath{{img/}}
\usepackage{textgreek}
\usepackage{tikz}
\usetikzlibrary{arrows,shapes,shadows,calc,matrix}
\usepackage{pgfplots}
\usepackage{siunitx}
\sisetup{locale=DE}
\usepackage{amsbsy}
\usepackage{amssymb}
\usepackage[printonlyused]{acronym}
\usepackage{amsfonts}
\usepackage{amsmath}
\usepackage{booktabs}
\usepackage{longtable,multirow}
\usepackage{nicematrix}
\usepackage{enumitem}
\usepackage{array}
\usepackage{romannum}
\usepackage{rotating}
\usepackage{adjustbox}
\usepackage{colortbl}
\usepackage{xcolor}
\usepackage{hhline}
\usepackage{pdfpages}
\usepackage{multicol}
\usepackage{diagbox}
\newcommand\tabrotate[1]{\rotatebox{90}{#1\hspace{\tabcolsep}}}
\newcommand{\frontmatter}{
\cleardoublepage
\pagenumbering{Roman}
}
\newcommand{\mainmatter}{
\cleardoublepage
\pagenumbering{arabic}
\setcounter{page}{1}
}
\pagestyle{fancy}
%
\lhead{}
\chead{}
\rhead{\slshape \leftmark}
%%
\lfoot{}
\cfoot{\thepage}
\rfoot{}
%%
\renewcommand{\headrulewidth}{0.4pt}
\renewcommand{\footrulewidth}{0pt}
\hyphenation{De-zi-mal-tren-nung}
\begin{document}
\pagestyle{fancy}
\newpage
%Abkürzungsverzeichnis
\addchap{Abkürzungsverzeichnis}
\label{sec:abkuerzungsverzeichnis}
\begin{acronym}[LV]
\acro{LV}{Lösungsvariante}
\end{acronym}
\begin{table}
\centering
\begin{NiceTabular*}{\textwidth}{@{\extracolsep{\fill}}|*{7}{c}|*{3}{l}|c|}
\toprule
\multirow{7}{*}{\raisebox{-25.2\height }{\rotatebox[origin=r]{90}{\ac{LV} eintragen}} }
& \multirow{7}{*}{\raisebox{-22.85\height }{\rotatebox[origin=r]{90}{ Mit Aufgabenstellung verträglich}}}
& \multirow{7}{*}{\raisebox{-8\height }{\rotatebox[origin=r]{90}{Forderungen der Anforderungsliste erfüllt}}}
& \multirow{7}{*}{\raisebox{-1.45\height }{\rotatebox[origin=r]{90}{Grundsätzliche Realisierungschancen gegeben}}}
& \multirow{7}{*}{\raisebox{-20.65\height }{\rotatebox[origin=r]{90}{Akzeptabler Bearbeitungsaufwand}}}
& \multirow{7}{*}{\raisebox{-15.55\height }{\rotatebox[origin=r]{90}{Kein Störeinfluss auf das Experiment}}}
& \multirow{7}{*}{\raisebox{-29\height }{\rotatebox[origin=r]{90}{Im eigenen Bereich bevorzugt}} } & & & \textbf{Auswahlliste} & \multirow{7}{*}{\raisebox{-57.45\height }{\rotatebox[origin=r]{90}{Entscheidung}}}
\\
& & & & & & & & \multicolumn{2}{p{15em}}{ \rule{0pt}{85pt}Beurteilen der \ac{LV}:} &
\\
\cmidrule{8-10}
& & & & & & & & \multicolumn{1}{p{1.5em}}{(+)} & \multicolumn{1}{p{13.5em}}{Auswahlkriterium erfüllt / \ac{LV} weiter verfolgen} &
\\
\cmidrule{8-10}
& & & & & & & & \multicolumn{1}{p{1.5em}}{(-)} & \multicolumn{1}{p{13.5em}}{Auswahlkriterium nicht erfüllt / \ac{LV} scheidet aus} &
\\
\cmidrule{8-10}
& & & & & & & & \multicolumn{1}{p{1.5em}}{(?)} & \multicolumn{1}{p{13.5em}}{Informationsmangel} &
\\
\cmidrule{8-10}
& & & & & & & & \multicolumn{1}{p{1.5em}}{(!)} & \multicolumn{1}{p{13.5em}}{Anforderungsliste überprüfen } &
\\
\cmidrule{8-10}
& & & & & & & \multicolumn{3}{l}{\rule{0pt}{20pt}Bemerkungen} &
\\
\midrule
1 & + & + & + & + & + & + & \multicolumn{3}{l}{} & \textbf{+}
\\
\midrule
2 & + & + & - & & & & \multicolumn{3}{p{21em}}{Bauraum der verfügbaren Aktoren ist zu groß} & \textbf{-}
\\
\midrule
3 & + & + & - & & & & \multicolumn{3}{m{21em}}{Die Kraft des Aktors ist für die Festkörpermechanik zu gering} & \textbf{-}
\\
\midrule
4 & + & + & + & + & + & + & \multicolumn{3}{p{21em}}{} & \textbf{+}
\\
\midrule
5 & + & + & + & + & + & + & \multicolumn{3}{p{21em}}{} & \textbf{+}
\\
\midrule
6 & + & + & + & + & - & & \multicolumn{3}{m{21em}}{Aggregat ist bauraumintensiv bringt Vibrationen in das Experiment} & \textbf{-}
\\
\midrule
7 & + & + & - & & & & \multicolumn{3}{p{21em}}{Aktorkraft ist zu gering} & \textbf{-}
\\
\midrule
8 & + & + & (-) & + & (-) & + & \multicolumn{3}{m{21em}}{ Schrittweite, die ohne überzurutschen gefahren werden kann ist für einen dynamischen Scann zu gering und die Aktorkraft ist gering} & \textbf{-}
\\
\midrule
9 & + & + & (-) & + & - & & \multicolumn{3}{m{21em}}{Thermische Aktoren beeinflussen zu stark die Experimentumgebung} & \textbf{-}
\\
\midrule
10 & + & + & + & + & + & + & \multicolumn{3}{p{21em}}{ } & \textbf{+}
\\
\midrule
11 & + & + & + & + & + & + & \multicolumn{3}{p{21em}}{} & \textbf{+}
\\
\bottomrule
\end{NiceTabular*}
\caption[Auswahlliste]{Auswahlliste um die Vorauswahl der zu präzisierenden Konzepte zu reduzieren}
\label{tab:Auswahlliste}
\end{table}
\end{document}
我删除了所有最后 8 个左对齐列。为了垂直对齐问题中提到的行,m
使用了 type column 而不是p
type。
注意:您提到您使用了和 垂直规则nicematrix
之间的兼容性booktabs
。但是,此包中还有许多其他功能。例如,您可以使用命令\Block
代替\multirow
。您可以查看软件包文档。前 20 页足以容纳您的表格。第 17 节中还有一些示例。
答案2
您需要的、使用的和指定的列数有些不匹配。此外,表代码也没有必要那么复杂。由于我不太熟悉nicematrix
如何向您展示如何改进 MWE,我建议使用tabularray
包。将它与makecell
包一起使用,您的表代码会变得更短更简单。
在 MWE(最小工作示例)中,序言中只加载了表中必要的包。它们之间有三个新的(用 表示% <--- new
)。顺便说一句,我建议您在序言中替换代码行
\usepackage{color}
\usepackage{colortbl}
\usepackage{xcolor}
带单
\usepackage[table]{xcolor}
它结合、扩展color
和colortbl
打包。
建议的 MWE 为:
\documentclass[a4paper,12pt]{scrreprt}
\usepackage[left=2.5cm, right=2cm, bottom=4cm]{geometry}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{lmodern}
\usepackage{microtype} % <--- new
\usepackage{makecell} % <--- new
\usepackage{rotating}
\usepackage[printonlyused]{acronym}
\usepackage{tabularray} % <--- new
\begin{document}
\begin{table}[ht]
\centering
\small
\settowidth\rotheadsize{ Realisierungschancen erfüllt } % from makecell
\begin{tblr}{hline{1,Z}=1pt, hline{2-Y} = {solid}, vlines,
colspec ={*{9}{l,m} Q[c,m,$]},
colsep=3pt,
vspan=evenly
}
\SetCell[r=7]{cmd=\rotcell} \ac{LV} eintragen
& \SetCell[r=7]{cmd=\rotcell} Mit Aufgabenstellung verträglich
& \SetCell[r=7]{cmd=\rotcell} Forderungen der Anforderungsliste erfüllt
& \SetCell[r=7]{cmd=\rotcell} Grundsätzliche Realisierungschancen gegeben
& \SetCell[r=7]{cmd=\rotcell} Akzeptabler Bearbeitungsaufwand
& \SetCell[r=7]{cmd=\rotcell} Kein Störeinfluss auf das Experiment
& \SetCell[r=7]{cmd=\rotcell} Im eigenen Bereich bevorzugt
& \SetCell[c=2]{c} \textbf{Auswahlliste}
& & \SetCell[r=7]{cmd=\rotcell, font=\normalfont} Entscheidung \\
& & & & & & & \SetCell[c=2]{c} Beurteilen der \ac{LV}:
& &
\\
& & & & & & & (+) & {Auswahlkriterium erfüllt/\ac{LV}\\
weiter verfolgen}
& \\
& & & & & & & (--) & {Auswahlkriterium nicht erfüllt/ \ac{LV}\\
scheidet aus}
& \\
& & & & & & & (?) & Informationsmangel
& \\
& & & & & & & (!) & Anforderungsliste überprüfen
& \\
& & & & & & & \SetCell[c=2]{c} Bemerkungen
& & \\
1 & + & + & + & + & + & + & \SetCell[c=2]{c}
& & + \\
2 & + & + & --& & & & \SetCell[c=2]{j,wd=18em}
Bauraum der verfügbaren Aktoren ist zu groß
& & - \\
3 & + & + & --& & & & \SetCell[c=2]{j,wd=18em}
Die Kraft des Aktors ist für die Festkörpermechanik zu gering
& & - \\
4 & + & + & + & + & + & + & \SetCell[c=2]{c}
& & + \\
5 & + & + & + & + & + & + & \SetCell[c=2]{j,wd=18em}
& & + \\
6 & + & + & + & + & --& & \SetCell[c=2]{j,wd=18em}
Aggregat ist bauraumintensiv bringt Vibrationen in das Experiment
& & - \\
7 & + & + & --& & & & \SetCell[c=2]{j,wd=18em}
Aktorkraft ist zu gering
& & - \\
8 & + & + &(--)&+&(--)& + & \SetCell[c=2]{j,wd=18em}
Schrittweite, die ohne überzurutschen gefahren werden kann ist für einen dynamischen Scann zu gering und die Aktorkraft ist gering
& & - \\
9 & + & + &(--)& + & --& & \SetCell[c=2]{j,wd=18em}
Thermische Aktoren beeinflussen zu stark die Experimentumgebung
& & - \\
10 & + & + & + & + & + & + & \SetCell[c=2]{c}
& & + \\
11 & + & + & + & + & + & + & \SetCell[c=2]{c}
& & + \\
\end{tblr}
\end{table}
\end{document}
在我看来,这可以得到比使用表格代码更佳、更一致的结果。
笔记:该包装tabularray
是一个相当新的包装,并且nicematrix
与包装配合良好booktabs
(消除垂直表线中的中断)。
如果tabularray
您希望在由包帮助编写的表中使用来自的规则booktabs
,则需要将其作为tabularray
库加载:
\UseTblrLibrary{booktabs}
但是,许多功能booktabs
已经存在于tabularray
代码中,例如水平线上/下的垂直距离、选定线条的简单定义粗细等。利用后一个功能,没有理由使用booktabs
规则。因此,它们在上述 MWE 中被省略。
这两个软件包仍处于快速开发阶段,并且都引入了用于指定表格元素的新命令。因此,它们需要一些学习努力和查阅软件包文档。