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, 07:54

kabel's gravatar image

kabel
2212220
Akzeptiert: 70%

bearbeitet 09 Dez '15, 07:55

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

(09 Dez '15, 08:02) Clemens

@saputello deshalb meine Rückfrage :)

(09 Dez '15, 08:26) Clemens

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, 08:26) saputello

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

(09 Dez '15, 12: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, 08:35

saputello's gravatar image

saputello
18.4k22352

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

(09 Dez '15, 12:43) kabel
Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Aktuelle Buch-Infos

LaTeX Cookbook

LaTeX Beginners Guide

Limitierter Rabatt ebook
50% Coupon code tDRet6Y

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üge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×25
×8

Frage gestellt: 09 Dez '15, 07:54

Frage wurde angeschaut: 1,143 Mal

Zuletzt aktualisiert: 09 Dez '15, 12:43