¿Cómo hacer referencias cruzadas a nuevos entornos?

¿Cómo hacer referencias cruzadas a nuevos entornos?

He hecho un lstnewenvironmenten mi documento. No puedo hacer referencias cruzadas.

Aquí está el código

\lstnewenvironment{customlistings}[3]{
\lstset{
numbers=left,
language=#3,
breaklines=true ,
keywordstyle=\color{blue}\bfseries ,
numberstyle=\tiny\color{gray} ,
commentstyle=\color{green!30!black},
stringstyle = \color{violet},
morekeywords={\begin, \label, \documentclass
, \usepackage, \caption},
label=#2
}
\refstepcounter{counterA}
\begin{center}
\textbf{\large{Listing \thecounterA: #1}} \\
\textbf{\normalsize{#2}}
\end{center}
}{}

Así es como lo he usado.

\begin{customlistings}{[LaTeX]TeX}{The listings package}{TeX}
\begin{lstlisting}
%Your code goes here

%This is usually how you present code in \LaTex, without worrying about accidentally  ..         

\end{lstlisting}

\label{trickq}
\end{customlistings}

Quiero hacer referencia a él y debería aparecer como "Listado 1", siendo 1 la referencia. Intenté muchas cosas que incluyen buscar en Google, intentar poner este código en otro entorno y luego usar \label pero luego mi etiqueta. continúa desde la etiqueta anterior, es decir, muestra 4.2 en el documento en lugar de 1. Por favor ayuda

Respuesta1

Usaría el listingpaquete en lugar de hacer las cosas manualmente.

\documentclass{article}
\usepackage{listings,listing}
\usepackage{xcolor}

\lstnewenvironment{customlisting}[2][]
 {\lstset{
    basicstyle=\ttfamily,
    columns=fullflexible,
    numbers=left,
    language=#2,
    breaklines=true,
    keywordstyle=\color{blue}\bfseries,
    numberstyle=\tiny\color{gray},
    commentstyle=\color{green!30!black},
    stringstyle = \color{violet},
    morekeywords={\begin, \label, \documentclass, \usepackage, \caption},
    #1,
  }%
 }{}

\begin{document}

\begin{listing}

\begin{customlisting}{[LaTeX]TeX}
%Your code goes here

%This is usually how you present code in \LaTex, without worrying about accidentally  ..
\end{customlisting}

\caption{The listing package}\label{TeX}

\end{listing}

\ref{TeX} is a listing

\end{document}

Puede personalizar la apariencia del título con el captionpaquete.

ingrese la descripción de la imagen aquí

información relacionada