Der Labelinhalt sind im vorliegenden Fall ganze Zahlen von 1-9999. Im Text soll die Referenz stets vierstellig erscheinen, ggf. mit vorausgstellten Nullen (0007). Was bei Zählerformatierung gelingt, gelingt hier leider nicht. Wer biegt das für mich gerade?

Open in Online-Editor
\documentclass[12pt, oneside,numbers=endperiod]{scrbook}
\usepackage[x-iso-8859-1]{inputenx}% Codierung des Online-Editors
\usepackage[ngerman]{babel}
\usepackage[ngerman]{varioref} % Referenzen
\usepackage[T1]{fontenc}% Optionen ohne Pakete gibt es nicht, vermutlich ist hier das gemeint.
\usepackage{hyperref, cmap}
\usepackage{mwe}

\newcounter{angnr}          %eigener Zähler
\setcounter{angnr}{7}   %Startwert
\newcommand{\Bng}[1]{#1\refstepcounter{angnr} Angabe \theangnr}

\newcommand{\refv}[1]{\ref{#1} (Referenz: %
                        \ifnum\ref{#1}<1000 0\fi
                        \ifnum\ref{#1}<100  0\fi  
                        \ifnum\ref{#1}<10   0\fi\ref{#1})}

\begin{document}

\chapter{Vierstellige Referenzen}
\Bng{enthält nur den Text (n)}\label{angnr:1}.\par
\Bng{enthält den Folgetext (n+1)}\label{angnr:2}\par
\bigskip

Refs:\par
\ref{angnr:1}\par
\ref{angnr:2}\par

Das Gleiche vierstellig:
\refv{angnr:1} und  \refv{angnr:2}

\end{document}

gefragt 09 Dez '15, 13:54

kabel's gravatar image

kabel
25982632
Akzeptiert-Rate: 33%

bearbeitet 09 Dez '15, 13:55

Soll das nur beim Referenzieren so sein, oder auch in \Bng?

(09 Dez '15, 14:02) cgnieder

@saputello deshalb meine Rückfrage :)

(09 Dez '15, 14:26) cgnieder

Dein Kommentar bei inputenx ist falsch. Der Online-Editor verwendet utf8 als Eingabecodierung. Da Du das nicht verwendest, gibt es im Online-Editor auch Fehlermeldungen, wie Du leicht selbst ausprobieren kannst. Du solltest das Beispiel entsprechend korrigieren.

(09 Dez '15, 14:26) saputello

Soll das nur beim Referenzieren so sein, oder auch in Bng?: Nein, nicht in bng!

(09 Dez '15, 18:40) kabel

Mit Hilfe von refcount und numprint könnte man das beispielsweise so lösen:

Open in Online-Editor
\documentclass[12pt,oneside,numbers=endperiod]{scrbook}
\usepackage[utf8]{inputenc}% Codierung des Online-Editors ist UTF8 nicht ISO-Latin-1!
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}%
\usepackage{hyperref, cmap}
\usepackage{refcount}
\usepackage{numprint}
\usepackage{mwe}

\newcounter{angnr}          %eigener Zähler
\setcounter{angnr}{7}   %Startwert
\newcommand{\Bng}[1]{#1\refstepcounter{angnr} Angabe \theangnr}

\newcommand{\refv}[1]{\ref{#1} 
 (Referenz: {\npfourdigitnosep\nplpadding{4}\numprint{\getrefnumber{#1}}})}

\begin{document}

\chapter{Vierstellige Referenzen}
\Bng{enthält nur den Text (n)}\label{angnr:1}.\par
\Bng{enthält den Folgetext (n+1)}\label{angnr:2}\par
\bigskip

Refs:\par
\ref{angnr:1}\par
\ref{angnr:2}\par

Das Gleiche vierstellig:
\refv{angnr:1} und  \refv{angnr:2}

\end{document}

Weshalb man nicht einfach \ref verwenden kann, ist in der Anleitung zu refcount im Abstract zu finden.

Permanenter link

beantwortet 09 Dez '15, 14:35

saputello's gravatar image

saputello
11.1k154365
Akzeptiert-Rate: 51%

@saputello: Hervorragend! Herzlichen Dank! Und ein leicht für andere Fälle zu modifizierender Befehl refv.

(09 Dez '15, 18:43) kabel
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×48
×17

gestellte Frage: 09 Dez '15, 13:54

Frage wurde gesehen: 7,415 Mal

zuletzt geändert: 09 Dez '15, 18:43