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}
  • 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 Jun 16 at 9:05
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]
  • You should accept your own answer. – Sveinung Jun 16 at 20:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.