I've got an own environment for requirements.
In my document I want to reference each requirement and get its text. If I use \namref
I get only the name of the corresponding section. Can someone help me?
Here is a short example
\documentclass[12pt,ngerman,a4paper,oneside]{scrbook}
\usepackage[paper=a4paper,left=25mm,right=25mm,top=20mm,bottom=20mm,includeheadfoot]{geometry}
\usepackage{hyperref}
%% Requirement environment
\newcounter{requirement}
\renewcommand\therequirement{A\arabic{requirement}}
\newcommand{\reqref}[1]{\ref{#1}}
\newenvironment{req}[1][]{
\refstepcounter{requirement}
\begin{list}{\textbf{A\arabic{requirement}}\label{#1}}{%
\setlength{\labelsep}{10pt}\setlength{\leftmargin}{35pt}%
\setlength{\labelwidth}{40pt}\setlength{\listparindent}{0pt}%
}\em\item}%
{\end{list}}
\begin{document}
\chapter{My Chapter}
\section{My Section}
\begin{req}[A10]
Text First requirement...
\end{req}
\begin{req}[A20]
Text First requirement...
\end{req}
\begin{req}[A30]
Text First requirement...
\end{req}
Now I want to reference the requirement and the its text. \\
\nameref{A10} \\
\nameref{A20} \\
\nameref{A30} \\
\end{document}
\edef\@currentlablename{...}
after\refstepcounter
and before\label
in order to get{...}
from\nameref
. You will need\makeatletter ... \makeatother
.\nameref{A10}
should returnText First requirement...
, correct? Will you always want to use\nameref
after therequirement
environment you reference (never before)? Are you open to using a different interface? That is, not\label
-\nameref
?\nameref{A10}
should returnText First requirement...
. I would use\nameref
only for this environment and I am open to use a different interface. I only need sometimes to reference the number of the requirement. For this i use\ref
. In the above example\ref{A10}
should returnA10
.