我的目标是让两个交换图彼此相邻(但都居中)并带有两个标题。
我尝试了以下代码:
\documentclass[twoside,12pt]{scrartcl}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{enumerate}
\usepackage[utf8]{inputenc}
\usepackage[thmmarks,amsmath,noconfig,amsthm]{ntheorem}
\usepackage{geometry}
\usepackage{tikz}
\usetikzlibrary{cd}
\geometry{tmargin=30mm,bmargin=40mm,lmargin=30mm,rmargin=30mm}
\setlength{\headsep}{15mm}
\begin{document}
\begin{minipage}[t]{0.5\textwidth}
\begin{figure}
\begin{tikzcd}
A \rar["B"] \dar["C"'] \& A \otimes B \\
A \rar["\mathrm{id}"'] \& B \arrow[u, "\phi"']
\end{tikzcd}
\caption{} \label{fig: MonFun2}
\end{figure}
\end{minipage}
\begin{minipage}[t]{0.5\textwidth}
\begin{figure}
\begin{tikzcd}
A \rar["B"] \dar["C"'] \& A \otimes B \\
A \rar["\mathrm{id}"'] \& B \arrow[u, "\phi"']
\end{tikzcd}
\caption{} \label{fig: MonFun3}
\end{figure}
\end{minipage}
\end{document}
(我已经按照某处的说法将“&”改为“\&”)。这给了我几个错误:
- ! LaTeX 错误:不在外部模式中。
- ! 未定义控制序列。@xfloat ...@fltovf \fi \global \setbox @currbox
- !缺失数字,视为零。
- !包 pgf 错误:没有已知名为 tikz@f@1-1-2 的形状。
最后一个错误出现了好几次。有人能帮我吗?
提前致谢!
PS 我的最小示例不是最短的,但我想将包作为几何体包含在内,因为我不确定这是否有任何影响。
答案1
加载floatrow
包似乎可以解决问题:
\documentclass[twoside,12pt]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{enumerate}
\usepackage{geometry}
\geometry{tmargin=30mm,bmargin=40mm,hmargin=30mm, headsep=15mm, showframe}
\usepackage[thmmarks,amsmath,noconfig,amsthm]{ntheorem}
\usepackage{tikz-cd}
\usepackage{caption, floatrow}
\begin{document}
\hfill
\begin{minipage}[t]{0.4\textwidth}
\centering
\begin{figure}[H]
\begin{tikzcd}[ampersand replacement=\&]
A \rar["B"] \dar["C"'] \& A \otimes B \\
A \rar["\mathrm{id}"'] \& B \arrow[u, "\phi"']
\end{tikzcd}
\caption{} \label{fig: MonFun2}
\end{figure}
\end{minipage}
\begin{minipage}[t]{0.4\textwidth}
\centering
\begin{figure}[H]
\begin{tikzcd}[ampersand replacement=\&]
A \rar["B"] \dar["C"'] \& A \otimes B \\
A \rar["\mathrm{id}"'] \& B \arrow[u, "\phi"']
\end{tikzcd}
\caption{} \label{fig: MonFun3}
\end{figure}
\end{minipage}
\hfill\null
\end{document}