1

I'm having issues getting my calstable to center on the page. I saw this thread here and tried the solution, but my table gets malformated.

Is there another way to solve this issue? Here is my table:

\documentclass[a4paper,12pt]{scrreprt}
\usepackage[margin=0.7in]{geometry}
\usepackage[parfill]{parskip}
\usepackage[utf8]{inputenc}
\usepackage{cals}

% Related to math
\usepackage{amsmath,amssymb,amsfonts,amsthm}
\usepackage[table,xcdraw]{xcolor}

\let\nc=\nullcell                                                  % Shortcuts
\let\sc=\spancontent

\definecolor{darkGreen}{HTML}{C0E5C6}
\definecolor{lightGreen}{HTML}{E2EFD9}

\begin{document}
    \begin{center}

    \begin{calstable}
    \centering
    % Defining 3 column relativ to each other and relativ to the margins
    \colwidths{{\dimexpr(\columnwidth/16*4)\relax}
        {\dimexpr(\columnwidth/16*3)\relax}
        {\dimexpr(\columnwidth/16*3)\relax}
    }
    % The tabular fills 5/8 of the text area

    % Set up the tabular
    \makeatletter
    \def\cals@framers@width{0.4pt}   % Outside frame horizontal rules
    \def\cals@framecs@width{0.4pt}   % Outside frame horizontal rules, reduce
    % thickness if you find them too heavy
    \cals@setpadding{Ag}
    \cals@setcellprevdepth{Al}
    \def\cals@cs@width{0.4pt}        % Inside rules, reduce if the rule is too heavy
    \def\cals@rs@width{0.4pt}
    \def\cals@bgcolor{}              % Define cals@bgcolor to empty

    \def\green{\ifx\cals@bgcolor\empty      % Colour switch (on-off)
        \def\cals@bgcolor{darkGreen}
        \else \def\cals@bgcolor{} \fi}

    \def\lgreen{\ifx\cals@bgcolor\empty     % Colour switch (on-off)
        \def\cals@bgcolor{lightGreen}
        \else \def\cals@bgcolor{} \fi}

    \def\tb{\ifx\cals@borderT\relax     % Top border switch (off-on)
        \def\cals@borderT{0pt}
        \else \let\cals@borderT\relax\fi}

    \def\bb{\ifx\cals@borderB\relax     % Botton border switch (off-on)
        \def\cals@borderB{0pt}
        \else \let\cals@borderB\relax\fi}

    \def\rb{\ifx\cals@borderR\relax     % Right border switch (off-on)
        \def\cals@borderR{0pt}
        \else \let\cals@borderR\relax\fi}

    % R1 Body
    \brow
    \green\alignC\cell{Modell-Überkategorien}\green
    \tb\rb\nc{lt}
    \nc{rt}\tb\rb
    \erow
    % R2 Body
    \brow
    \cell{statisch}
    \rb\nc{l}
    \nc{r}\rb
    \erow
    % R3 Body
    \brow
    \cell{zufällig (Monte-Carlo)}
    \rb\nc{lb}
    \nc{rb}\sc{}\rb
    \erow
    % R4 Body
    \brow
    \lgreen\nc{lrt}
    \cell{Kontinuirlich}
    \nc{lrt}
    \erow
    % R5 Body
    \brow
    \nc{lr}
    \cell{Hybrid}
    \nc{lr}
    \erow
    % R6 Body
    \brow
    \nc{lrb}\sc{\vfil dynamisch}
    \cell{Diskret}
    \nc{lrb}\sc{\vfil Raum/Zeit}
    \erow
    % R7 Body
    \brow
    \cell{(Multi)-Agenten basiert}\lgreen
    \rb\bb\nc{ltb}
    \nc{rtb}\sc{}\bb\rb
    \erow
    \makeatletter
\end{calstable}\par % \par needed to align the tabular
\end{center}

\end{document}
1
  • As long as your table is not supposed to be longer than a single page, you can try to put a minipage environment between center and calstable. (Unrelated to the issue, but you might also want to correct the typo (missing "e") in "Kontinuierlich")
    – leandriis
    Commented Jun 16, 2019 at 9:05

1 Answer 1

4

I seem to have been kinda blind. Found the answer on the first page of the calstable description. Adding the attribute c like this solved the issue.

\begin{calstable}[c]
1
  • You should accept your own answer.
    – Sveinung
    Commented Jun 16, 2019 at 20:05

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .