使用 Tikz 時出現 Subfig 錯誤

使用 Tikz 時出現 Subfig 錯誤

我正在讀這個郵政並在嘗試編譯以下程式碼時遇到錯誤:

\documentclass[12pt,letterpaper]{article}
\usepackage[utf8]{inputenc}
\usepackage[spanish]{babel}
\usepackage{amsmath,amsfonts,amssymb}

\usepackage{tikz}
\usetikzlibrary{babel}

\usepackage{subfig}

\begin{document}
\begin{figure}
\centering
\subfloat[]{\label{fig:fig1a}
\begin{tikzpicture}[scale=0.7]
\draw (0,0) circle (2cm);
\end{tikzpicture}
}\
\subfloat[]{\label{fig:fig1b}
\begin{tikzpicture}[scale=1.4]
\draw[->,very thick] (0,0) -- (1.9,0);
\end{tikzpicture}
}
\caption{}
\label{fig:fig1}
\end{figure}
\end{document}

我嘗試編輯部分程式碼,問題的根源似乎是 tikz 程式碼中的“>”結束了 subfloat 環境。有辦法解決這個問題嗎?

答案1

正如@leandriis 在他的評論中所說,你的問題與解決方案就在那裡。額外的解決方案是在使用環境時使用\shorthandoff{<>}西班牙語 babel 。figure那是:

\documentclass[12pt,letterpaper]{article}
\usepackage[utf8]{inputenc}
\usepackage[spanish]{babel}
\usepackage{amsmath,amsfonts,amssymb}

\usepackage{tikz}
\usetikzlibrary{babel}

\usepackage{subfig}

\begin{document}
\shorthandoff{<>} %<-------------Add-------------
\begin{figure}
\centering
\subfloat[]{\label{fig:fig1a}
\begin{tikzpicture}[scale=0.7]
\draw (0,0) circle (2cm);
\end{tikzpicture}
}\
\subfloat[]{\label{fig:fig1b}
\begin{tikzpicture}[scale=1.4]
\draw[-latex,very thick] (0,0) -- (1.9,0);
\end{tikzpicture}
}
\caption{}
\label{fig:fig1}
\end{figure}
\end{document}

輸出: 在此輸入影像描述

相關內容