TeX/Latex - Etiquetas marcadoras

 
Vista:
Imágen de perfil de José

Etiquetas marcadoras

Publicado por José (3 intervenciones) el 03/07/2016 20:09:44
Hola a todos, este es mi primer post y estoy interesado en la programación de Tex/Latex.
El problema es que si bien ya manejo algunas estructuras de control, no puedo encontrar buenos manuales de programación Tex. Me refiero a que sean completos y justifiquen los comandos que usan.
Una de las cosas que no encuentro con claridad en el lenguaje, es la asignación de variables. Me encontré en bastantes problemas cuando quise marcar partes de texto o fórmulas con un asterisco numerado que después se lo pudiera referenciar, algo parecido a los comandos \label \ref, solo que el "label" tiene que dejar una marca.
Algo logré, pero algunos de los comandos que utilizo, ni siquiera se como funcionan. Aquí va el código fuente de lo que hice:

\documentclass{report}
\textheight=23cm
\textwidth=18cm
\topmargin=-1cm
\oddsidemargin=-0.5cm
\renewcommand{\baselinestretch}{1}
%*********************************************** Carga de paquetes *******************************************
\usepackage{amsmath, amssymb, latexsym}

%************************************************** Para label ***********************************************
\newcommand{\cast}[1]{\ensuremath{\circledast_{#1}}}
\newcommand{\ucast}[1]{\ensuremath{^{\circledast_{#1}}}}
\newcounter{prolabel}
\newcommand{\nombre}[1]{#1}

\makeatletter
\newcommand\defcase[1]{\@namedef{elcaso@#1}}
\newcommand\myswitch[1]{\@nameuse{elcaso@#1}}
\makeatother

\newcommand{\creacont}[1]{\defcase{#1}{\newcounter{\nombre{#1}}}}

\newcommand{\creador}[1]{\creacont{#1} \myswitch{#1}}
%********************************* labelcast y comandos útiles para su manejo ********************************
\newcommand{\labelcast}[2][-3mm]{\creacont{#2} \myswitch{#2} \addtocounter{prolabel}{1} %
\setcounter{#2}{\theprolabel}\hspace{#1}\ucast{\theprolabel}}

\newcommand{\refcast}[1]{\cast{\the\numexpr\value{#1}}}
\newcommand{\resetcast}{\setcounter{prolabel}{0}}
\newcommand{\setcast}[1]{\setcounter{prolabel}{#1}}

%*************************************************************************************************************

\begin{document}
\noindent Este texto lo marcamos con la etiqueta pru:uno \labelcast{pru:uno}\\
Este otro texto lo marcamos con la etiqueta pru:dos \labelcast{pru:dos}\\
\resetcast
Empezamos de nuevo y marcamos el texto etiquetado con pru:tres \labelcast{pru:tres}\\
\setcast{49}
Etiquetamos un texto desde cincuenta \labelcast{pru:cincuenta}\\
Ahora hacemos referencia a pru:uno \refcast{pru:uno}, a pru:dos \refcast{pru:dos}, a pru:tres \refcast{pru:tres}.\\
Tambi\'en referenciamos a pru:cincuenta \refcast{pru:cincuenta}\\
Llevamos el contador a tres y etiquetamos en modo matem\'atico.\setcast{2}\\
$ax^2+bx+c=0 \labelcast[0mm]{mat:tres} $\\
Ahora referenciamos la ecuaci\'on $ax^2+bx+c=0\;\refcast{mat:tres} $\\
desde el modo matem\'atico.
\end{document}

El resultado está en una imagen que subí, espero poder insertar la imagen en el post.
Saludos.

Labelvariable
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder