Error de subfigura al usar Tikz

Error de subfigura al usar Tikz

Estaba leyendo estocorreoy encontré un error al intentar compilar el siguiente código:

\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}

Intenté editar partes del código y parece que la raíz del problema es que un '>' en el código tikz finaliza el entorno subfloat. ¿Hay alguna manera de solucionar esto?

Respuesta1

Como dijo @leandriis en su comentario, su pregunta está relacionada conestey la solución está ahí. Una solución adicional es utilizar \shorthandoff{<>}para babel en español cuando se utiliza figureel entorno. Eso es:

\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}

Producción: ingrese la descripción de la imagen aquí

información relacionada