Cambie el comando `\overline` con `\uc`

Cambie el comando `\overline` con `\uc`

Estoy intentando cambiar \overlineel comando por \uccompleto. Pero pdflatex da el siguiente error:

! TeX capacity exceeded

El código:

\documentclass[10pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{mathpazo}
\newcommand{\uc}[1]{\mkern 1.5mu\overline{\mkern-1mu#1\mkern-0.3mu}\mkern 0mu}
\let\overline\uc
\renewcommand*{\uc}[1]{\overline[#1]}

\begin{document}
\noindent X $\uc{X}$ X\\
Y $\uc{Y}$ Y
\end{document}

¿Qué tengo que hacer?

Respuesta1

No estoy completamente seguro de tu objetivo, pero tu lógica es autorreferencial en eso \overlineinvoca \ucy viceversa. De este modo has creado un bucle infinito. La forma estándar de afrontar este tipo de situaciones es guardar primero una copia de la macro existente, en este caso \let\svoverline\overline. Luego, defina \ucy/o redefina \overlineen términos de la versión guardada.

\documentclass[10pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{mathpazo}
\let\svoverline\overline
\newcommand{\uc}[1]{\mkern 1.5mu\svoverline{\mkern-1mu#1\mkern-0.3mu}\mkern 0mu}
\let\overline\uc
%\renewcommand*{\uc}[1]{\svoverline[#1]}

\begin{document}
\noindent X $\uc{X}$ X\\
Y $\uc{Y}$ Y
\end{document}

información relacionada