PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Aus einem String {123-143} oder {\pno\ 24 ff.} ausschl. die erste Zahl verwenden



ElEsido
11-08-2009, 09:28
Hallo

Für meinen Biblatex-Bibliographie-Stil will ich die Möglichkeit basteln, für Artikel aus der Seitenangabe bloss die Anfangsseite auszugeben.

Die Seitenangabe kann folgende Formen haben:
pages={12} oder {224 ff.} oder {13 \gls{ff}} oder {13-23}

Mit \thefield{pages} kann man den Inhalt des Feldes in Biblatex abrufen.

Kann man \thefield{pages} nach der ersten Zahl (nicht Ziffer) durchsuchen und diese verwenden? Ich denke da an ifnumerals oder ifnextchar, aber habe keinen Plan, wie der Befehl aussehen müsste. Wenn mir jemand da helfen, kann, wäre ich schon glücklich.



Eine Steigerung des Problems wären folgende Seitenzahlen:
pages={12a} oder {11c ff.}oder {13c-13f} oder {ix \gls{ff}} oder {iv-vii} oder {IX ff.}

Könnte man hier die erste Einheit bis zum ersten Sonderzeichen (Lücke, Bindestrich, Strichpunkt, neuer Befehl etc.) oder der geschlossenen Klammer auslesen und weitergeben? Wenn jemand dazu Hilfe hätte, wäre ich überglücklich ;-).

u_fischer
11-08-2009, 10:18
\documentclass{article}
\begin{document}
\makeatletter
\def\getstartnumber#1{\afterassignment\getrest\cou nt@=0#1 \@nil%
Number ist \the\count@,
Rest ist: \Rest}
\def\getrest#1\@nil{\def\Rest{#1}}

\getstartnumber{12ff}

\getstartnumber{120}

\getstartnumber{13-12ff}

\getstartnumber{ff}

\def\splitathyphen#1-#2\@nil{1 Arg ist #1, 2 Arg ist #2}

\splitathyphen IV-X\@nil

\splitathyphen IV-X-Blalba\@nil

\def\splitatspace#1 #2\@nil{1 Arg ist #1, 2 Arg ist #2}

\splitatspace IV X blub\@nil

\end{document}

ElEsido
11-08-2009, 10:41
WOW, super! Danke schön!