Für eine Tabelle in meiner Abschlussarbeit möchte ich eine vertikale Linie anzeigen, die sich nur über 3 von 5 Spalten erstreckt.
Meine aktuelle Tabelle ist:
\begin{table}[h]
\centering
\captionsetup{singlelinecheck=false}
\caption[Temperatur-Zyklus-Konditionen für präperative PCR-Reaktionen]{\textbf{Temperatur-Zyklus-Konditionen für präperative PCR-Reaktionen}}
\label{t:praeppcrcycler}
\centering
\begin{tabular}{lll}
\midrule
Temperatur & Zeit & \\
\midrule
98 \si{\degreeCelsius} & 3 min & \\
& & \\
98 \si{\degreeCelsius} & 30 s & \\
58 \si{\degreeCelsius} & 20-30 s & 30-35x \\
72 \si{\degreeCelsius} & 20-60 s & \\
& & \\
72 \si{\degreeCelsius} & 3 min & \\
4 \si{\degreeCelsius} & $\infty$ & \\
\end{tabular}
\end{table}
Ich möchte jedoch eine vertikale Linie hinzufügen, die Spalte 3, Zeile 3 bis 5 überspannt, wie in diesem Bild
Jede Hilfe ist willkommen!
Antwort1
Hier ist es. Ich habe Ihren Code etwas vereinfacht und verbessert:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{booktabs, caption, multirow, siunitx}
\begin{document}
\begin{table}[!htb]
\captionsetup{singlelinecheck=false, justification=RaggedRight}
\sisetup{range-phrase=--, range-units=single}
\caption[Temperatur-Zyklus-Konditionen für präperative PCR-Reaktionen]{\textbf{Temperatur-Zyklus-Konditionen für präperative PCR-Reaktionen}}
\label{t:praeppcrcycler}
\centering
\begin{tabular}{lll}
\midrule
Temperatur & Zeit & \\
\midrule
\SI {98}{\celsius} & \phantom{0}\SI{3}{min} & \\
& & \\
\SI{98}{\celsius} & \SI{30}{s} & \multicolumn{1}{|c}{} \\
\SI{58}{\celsius} & \SIrange{20}{30}{s} & \multicolumn{1}|c}{30–35$\times$} \\
\SI{72}{\celsius} & \SIrange{20}{60}{s} & \multicolumn{1}{|c}{} \\
& & \\
\SI{72}{\celsius}& \phantom{0}\SI{3}{min} & \\
\phantom{0}\SI{4}{\celsius} & \phantom{0}$\infty$ & \\
\midrule
\end{tabular}
\end{table}
\end{document}
Antwort2
Das Folgende könnte das sein, wonach Sie suchen.
\documentclass[ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel,booktabs,siunitx}
\usepackage[skip=0.333\baselineskip,textfont=bf,
singlelinecheck=false]{caption}
\begin{document}
\begin{table}[h]
\centering
\caption{Temperatur-Zyklus-Konditionen für präperative PCR-Reaktionen}
\label{t:praeppcrcycler}
\centering
\begin{tabular}{@{}lll@{}}
\midrule
Temperatur & Zeit & \\
\midrule
\SI{98}{\degreeCelsius} & 3\,min & \\[2ex]
\SI{98}{\degreeCelsius} & 30\,s &
\smash{\begin{tabular}[t]{|l@{}}
\\ 30--35$\times$ \\ \\
\end{tabular}} \\
\SI{58}{\degreeCelsius} & 20--30\,s & \\
\SI{72}{\degreeCelsius} & 20--60\,s & \\[2ex]
\SI{72}{\degreeCelsius} & 3\,min & \\
\SI{4}{\degreeCelsius} & $\infty$ & \\
\bottomrule
\end{tabular}
\end{table}
\end{document}
Antwort3
Hier ist eine Lösung mit {NiceTabular}
von . Diese Umgebung ist der klassischen Umgebung (von ) nicematrix
ähnlich, erstellt aber PGF/Tikz-Knoten unter den Zeilen, Spalten und Zellen. Es ist also möglich, mit Tikz jede beliebige Regel nach dem Hauptarray zu zeichnen, indem Sie eine Anweisung in ( ) einfügen.{tabular}
array
\CodeAfter
\tikz \draw (4-|3) -- (7-|3) ;
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{ragged2e}
\usepackage{booktabs, caption, siunitx}
\usepackage{nicematrix}
\usepackage{tikz}
\begin{document}
\begin{table}[!htb]
\captionsetup{singlelinecheck=false, justification=RaggedRight}
\sisetup{range-phrase=--, range-units=single}
\caption[Temperatur-Zyklus-Konditionen für präperative PCR-Reaktionen]{\textbf{Temperatur-Zyklus-Konditionen für präperative PCR-Reaktionen}}
\label{t:praeppcrcycler}
\centering
\begin{NiceTabular}{lll}
\midrule
Temperatur & Zeit & \\
\midrule
\qty{98}{\celsius} & \phantom{0}\qty{3}{min} \\
& & \\
\qty{98}{\celsius} & \qty{30}{s} \\
\qty{58}{\celsius} & \qtyrange{20}{30}{s} & 30–35$\times$ \\
\qty{72}{\celsius} & \qtyrange{20}{60}{s} \\
& & \\
\qty{72}{\celsius}& \phantom{0}\qty{3}{min} \\
\phantom{0}\qty{4}{\celsius} & \phantom{0}$\infty$ \\
\midrule
\CodeAfter \tikz \draw (4-|3) -- (7-|3) ;
\end{NiceTabular}
\end{table}
\end{document}
\Block
Es ist auch möglich, den Befehl (integriert in {NiceTabular}
) und seinen Schlüssel zu verwenden borders
.
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{ragged2e}
\usepackage{booktabs, caption, siunitx}
\usepackage{nicematrix}
\usepackage{tikz}
\begin{document}
\begin{table}[!htb]
\captionsetup{singlelinecheck=false, justification=RaggedRight}
\sisetup{range-phrase=--, range-units=single}
\caption[Temperatur-Zyklus-Konditionen für präperative PCR-Reaktionen]{\textbf{Temperatur-Zyklus-Konditionen für präperative PCR-Reaktionen}}
\label{t:praeppcrcycler}
\centering
\begin{NiceTabular}{lll}
\midrule
Temperatur & Zeit & \\
\midrule
\qty{98}{\celsius} & \phantom{0}\qty{3}{min} \\
& & \\
\qty{98}{\celsius} & \Block[borders=right]{3-1}{} \qty{30}{s} \\
\qty{58}{\celsius} & \qtyrange{20}{30}{s} & 30–35$\times$ \\
\qty{72}{\celsius} & \qtyrange{20}{60}{s} \\
& & \\
\qty{72}{\celsius}& \phantom{0}\qty{3}{min} \\
\phantom{0}\qty{4}{\celsius} & \phantom{0}$\infty$ \\
\midrule
\end{NiceTabular}
\end{table}
\end{document}
Die Ausgabe ist die gleiche.