TikZ,缺失数字,视为零

TikZ,缺失数字,视为零

我正在寻找创建自定义表格图的方法并发现了这个老问题:创建带有轴的表格

我正在使用我所在大学的 fithesis 包和模板,并根据我的要求更改了一个答案的解决方案。

\usetikzlibrary{matrix}

\begin{table}
    
    \caption{Typy uživatelského rozhraní v herním průmyslu.}
    
    \begin{tikzpicture}
        \matrix (T) [matrix of nodes,nodes={draw,text width=3cm,align=center,minimum height=2.5cm,inner sep=1pt,font=\footnotesize,anchor=south}]
        {
            Diegetic & Spatial \\
            Meta & Non-Diegetic \\
        };
        
        \node[yshift=12mm,font=\bfseries] at (T.north){Je součástí narativu?};
        
    *   \node[xshift=-16mm,font=\bfseries,rotate=90] at (T.west){Je v prostoru herní scény?};
        
        \matrix at (T.north west) [matrix of nodes,anchor=south west,yshift=-4mm,column sep=4pt,nodes={text width=3cm,align=center,minimum height=1.3cm,inner sep=1pt,font=\bfseries}]
    *   {
            Ano & Ne\\
        };
        
        \matrix at (T.north west) [matrix of nodes,anchor=north east,row sep=4pt,nodes={text width=2.3cm,align=right,minimum height=2.5cm,font=\bfseries}]
        {
            Ano\\
            Ne\\
        };
    \end{tikzpicture}
\end{table}

上面的代码在单独的文件中(除了\usetikzlibrary{matrix},它在主文件中\usepackage{tikz})。我使用这个单独的文件插入到主文件中\input{}

一切都呈现正常,但在标有“*”的行上(* 不是真实代码,只是错误行的可视化)我收到错误缺少数字,被视为零,导致打印崩溃。

当我在明文文件中尝试此代码时,一切正常,因此我预计此代码与 fitthesis 之间存在一些不兼容性,但我不知道可能是什么问题。感谢您的帮助。

答案1

看看下面的解决方法是否能帮助您。

主文件:

\documentclass{book}
\usepackage{standalone}
\usepackage{tikz}
\usetikzlibrary{matrix, 
                positioning}
\usepackage{caption}
\usepackage{lipsum}

\begin{document}
\lipsum[11]

    \begin{table}[ht]
    \centering
\caption{Typy uživatelského rozhraní v herním průmyslu.}
\label{tab:typy-rozhrani.tex}
\input{tab-typy-rozhrani.tex}
    \end{table}
\lipsum[12]
\end{document}

带有表格的文件,其名称可以是tab-typy-rozhrani.tex

% file: tab-typy-rozhrani.tex
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{matrix,
                positioning}

\begin{document}
    \begin{tikzpicture}[
node distance = 3mm and 3mm,
   lbl/.style = {rotate=#1, anchor=south, inner sep=1pt, font=\bfseries}
                        ]
\matrix (T) [matrix of nodes,
             nodes={draw, minimum width=3cm, align=center, minimum height=24mm,
                    font=\footnotesize, outer sep=0pt, anchor=south},
             column sep=-\pgflinewidth,
             row sep=-\pgflinewidth,
             column 1/.append style = {nodes={minimum width=2em, draw=none, font=\bfseries}},
             row 1/.append style    = {nodes={minimum height=1.2em, draw=none, font=\bfseries}}
             ]
{
    &   Ano         &   Ne              \\
Ano &   Diegetic    &   Spatial         \\
Ne  &   Meta        &   Non-Diegetic    \\
};
\node[above=of T, lbl= 0] {Je součástí narativu?};
\node[left =of T, lbl=90, xshift=-1ex] {Je v prostoru herní scény?};
    \end{tikzpicture}
\end{document}

(表格代码略有改变/简化)

主文件结果:

在此处输入图片描述

答案2

经过一番挖掘(启用和禁用软件包),我发现问题出在软件包上babel,使用解决了\usetikzlibrary{babel}。不确定问题到底是什么,但这对我有用。

相关内容