Ich verwende mehrfach den befehl \cmidrule aus boktabs um spalten voneinander abzugrenzen. Dazu wollte ich mir einen eigenen Befehl definieren, welcher mit das hier abnimmt:
\cmidrule(r){1-1}\cmidrule(lr){2-2}\cmidrule(lr){3-3}\cmidrule(l){4-4}
Vollständiges, funktionierendes Minimalbeispiel:
\documentclass[listof=totoc,oneside, 12pt, a4paper, titlepage, onecolumn, parskip=half]{scrreprt}
\usepackage[ngerman]{babel}
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage{ifthen}
% Script für mehrere cmidrules
\makeatletter
\newcount\colNo
\def\addtoks#1#2#3{\toks@=\expandafter{\the\toks@\cmidrule[#3](#2){#1-#1}}}
\newcommand\smidrule[2][\lightrulewidth]{%
\ifnum#2=1
\expandafter\addtoks\expandafter{\the\colNo}{}{#1}%
\else
\toks@={\tabularnewline}%
\colNo=0\relax
\loop\ifnum\colNo<#2\relax
\advance\colNo by 1
\ifnum\colNo=1% Erste Zeile
\expandafter\addtoks\expandafter{\the\colNo}{r}{#1}%
\else%
\ifnum\colNo=#2 %Letzte Zeile
\expandafter\addtoks\expandafter{\the\colNo}{l}{#1}%
\else% Mittlere Zeile
\expandafter\addtoks\expandafter{\the\colNo}{lr}{#1}%
\fi%
\fi%
\repeat%
\the\toks@%
\fi%
}
\makeatother
\begin{document}
\begin{tabularx}{\textwidth}{XX}
\toprule{}
Col1
& Col2
\\
\smidrule[0.15em]{2}
Lorem Ipsum
& 12
\\
\bottomrule
\end{tabularx}
\end{document}

