
Estoy intentando cambiar \overline
el comando por \uc
completo. 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 \overline
invoca \uc
y 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 \uc
y/o redefina \overline
en 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}