PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Seitenzahlen als Mediävalziffern darstellen



akki
04-07-2007, 14:26
Hallo zusammen,

wie man (zumindest bei ausgewählten Schriftarten) Zahlen als Mediävalziffern darstellt, ist mir mittlerweile klar:

\oldstylenums{1234567890}

Nun hätte ich aber gerne die Seitenzahlen als Mediävalziffern dargestellt. Kann mir jemand von euch sagen, wie ich das hinbekomme?

Zur Info: ich möchte mein Dokument in Linux Libertine setzen und binde es dementsprechend mit

\usepackage{libertine}

ein.

Wäre toll, wenn mir jemand nen Tipp geben könnte.

Besten Dank und viele Grüße

Akki

rais
04-07-2007, 15:07
Moin moin,


Nun hätte ich aber gerne die Seitenzahlen als Mediävalziffern dargestellt. Kann mir jemand von euch sagen, wie ich das hinbekomme?



\renewcommand\thepage{\oldstylenums{\arabic{page}} }
?
MfG,

akki
04-07-2007, 17:49
Vielen Dank Rais,

das war ja einfach :) Warum bin ich da nur nicht selbst drauf gekommen *koppklatsch*


Schönen Tag noch

Akki

ElGato
13-08-2010, 19:19
Ich war positiv überrascht, das jemand dieselbe Frage hatte und noch viel erfreuter, als das es hier eine Antwort gibt.

ABER die Mediävalziffern sind nicht in der Schriftart Linux Libertine :(

Ich habs mal so probiert:


\renewcommand\thepage{{\OTF{+onum} \arabic{page} }}

was aber leider nicht geht :(

Der Syntax geht so


{\OTF{+onum}1458}

Noch eine weitere Frage:

\renewcommand{\pnumfont}{\sf\small} betrifft doch NUR die Schriftart
und wenn ich mit \thepage arbeite betrifft es Zähler UND Schriftart, oder?

Die Mediävalziffern sollten nämlich auch \sf\small sein.

Falls jemand den Syntax für den Seitenzähler schafft, bin ich mal echt geschafft, ob ich es auch für die Kapitel/Überschriften packe ...

Vielen Dank!!

ElGato

mechanicus
13-08-2010, 19:31
Hi,

http://www.tug.dk/FontCatalogue/libertine/

Bitte nutze nicht \sf sonder \sffamily. Aber es wird dennoch nicht funktionieren :-) sffamily ist nicht mit oldstylenumes verknüpfbar.

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{libertine}
\renewcommand*\oldstylenums[1]{{\fontfamily{fxlj}\selectfont #1}}

\begin{document}
{\sffamily\small\oldstylenums{123456789}}

{\small\oldstylenums{\sffamily 123456789}}

\end{document}
Gruß
Marco

ElGato
13-08-2010, 20:07
Geht nicht :(



\documentclass{scrbook}
\usepackage{xltxtra}
\usepackage{xelibertine}
\usepackage[ngerman]{babel}
\usepackage{blindtext}


\renewcommand*\oldstylenums[1]{{\fontfamily{fxlj}\selectfont #1}}
\renewcommand\thepage{\oldstylenums{\arabic{page}} }

\begin{document}
\blinddocument
\blinddocument
\blinddocument
\end{document}


EDIT: Außerdem ist so die Schriftart leider kein Linux Libertine :'(

mechanicus
13-08-2010, 20:30
EDIT: Außerdem ist so die Schriftart leider kein Linux Libertine :'(
Wie kommst du darauf?
http://linuxlibertine.sourceforge.net/latex/libertinedokulatex.pdf

ElGato
13-08-2010, 20:41
Okay, das mit der Behauptung, das es kein Linux Libertine sei, nehme ich mal vorerst zurück. In den Eigenschaften der pdf tauchen nämlich auch andere Schriftarten auf, aber das liegt sicherlich am Paket blindtext.

Aber von Mediävalziffern sehe ich nix :'(

Ich kompiliere mit xelatex



\documentclass{scrbook}
\usepackage{xltxtra}
\usepackage{xelibertine}
\usepackage[ngerman]{babel}
\usepackage{blindtext}


\renewcommand*\oldstylenums[1]{{\fontfamily{fxlj}\selectfont #1}}
\renewcommand\thepage{\oldstylenums{\arabic{page}} }

\begin{document}
\Blinddocument
\blindtext[50][50]
\end{document}

rais
13-08-2010, 22:02
Moin moin,


Ich kompiliere mit xelatex

wozu eigentlich?




\usepackage{xltxtra}
\usepackage{xelibertine}

Afaics lädt xelibertine bereits xltxtra (hab aber nur kurz reingeschaut, da nicht in meiner Inst vorhanden und bei CTAN unter */win32/* gelistet), tut es denn kein


\documentclass{scrbook}
\usepackage{xltxtra}
\usepackage[ngerman]{babel}
\usepackage{blindtext}
\setmainfont{Linux Libertine}

\renewcommand*\oldstylenums[1]{{\fontfamily{fxlj}\selectfont #1}}
\renewcommand\thepage{\oldstylenums{\arabic{page}} }

\begin{document}
\setcounter{page}{123456789}
\blindtext[5]
\end{document}
?
MfG

ElGato
14-08-2010, 01:39
Wusstet ihr, das es sehr gefährlich ist an \thepage zu basteln :'-(



\documentclass{scrbook}
\usepackage{xltxtra}
\usepackage[biolinum,language]{xelibertine}
\setmonofont{Linux Biolinum O}
\usepackage[ngerman]{babel}
\usepackage[german]{varioref}
\usepackage{blindtext}
\usepackage{hyperref}

%\renewcommand\thepage{\sffamily\small{\OTF{+onum} {\arabic{page}}}}
%\renewcommand\thepage{\textrm\small{\Roman{page}} }

\begin{document}
\pagenumbering{Roman}
\cleardoublepage
\pagenumbering{arabic}
\renewcommand\thepage{\sffamily\small{\OTF{+onum}{ \arabic{page}}}}
\setcounter{page}{12345}
\Blindtext[5]
test\label{t}
\Blindtext[5] \vref{t}
\cleardoublepage
\end{document}


Das hat mich fast 2h gekostet!!!!

Mit der Änderung von \thepage kommt es gerade bei Verweisen zu Problemen :(

Ich habe übrigens mit der obigen Lösung die Mediävalziffern hinbekommen.

u_fischer
14-08-2010, 12:30
Mit der Änderung von \thepage kommt es gerade bei Verweisen zu Problemen

Nun falls du mit "Problemen" meinst, dass deine Schriftbefehle sich auch auf die Verweise auswirken: Wenn du möchtest, dass nur in den Fußzeilen die Schrift geändert wird, dann solltest du die entsprechenden Schriftbefehle in die Fußzeilendefinition packen und nicht in \thepage.

Die Hyperref-Meldungen bekommt man übrigens weg, indem man in den pdfprehook eine geeignete Definition einfügt.


\documentclass{scrbook}
\usepackage{scrpage2}
\pagestyle{scrplain}
\addtokomafont{pagefoot}{\sffamily\small}
\usepackage{fontspec}
\usepackage[biolinum,language]{xelibertine}
\setmonofont{Linux Biolinum O}
\usepackage[ngerman]{babel}
\usepackage[german]{varioref}
\usepackage{hyperref}
\pdfstringdefDisableCommands{\renewcommand\OTF[2]{#2}}

\begin{document}
\pagenumbering{Roman}
\cleardoublepage
\pagenumbering{arabic}
\renewcommand\thepage{{\OTF{+onum}{\arabic{page}}} }
\setcounter{page}{12345}
test\label{t}
\newpage
test \vref{t}
\cleardoublepage
\end{document}

ElGato
14-08-2010, 13:37
Vielen Dank an Dich, Ulrike und die vielen anderen Helfer!

Ihr habt es echt geschafft, vielen, vielen Dank!!!!!!!



\documentclass{scrbook}
\usepackage{scrpage2}
\pagestyle{scrheadings}
\usepackage{fontspec}
\usepackage[biolinum,language]{xelibertine}
\setmonofont{Linux Biolinum O}
\usepackage[ngerman]{babel}
\usepackage{blindtext}
\usepackage[german]{varioref}
\usepackage{hyperref}
\pdfstringdefDisableCommands{\renewcommand\OTF[2]{#2}}

\begin{document}
\pagenumbering{Roman}
\cleardoublepage
\pagenumbering{arabic}
\addtokomafont{pagefoot}{\sffamily\renewcommand\th epage{{\OTF{+onum}{\arabic{page}}}}}
% muss ich hierhin setzten sonst werden die römischen Zahlen oben auch zu arabischen.
\setcounter{page}{12345}
test\label{t}
\blindtext[20]
test \vref{t}
\end{document}


Nochmals vielen Dank :)

EDIT (2010-08-14, 14:02): Hyperref verursacht keine Probleme, wenn für Mediävalziffern wie in der Xelibertine Doku beschrieben :$ \numold verwendet wird.

dazu reicht lediglich

\addtokomafont{pagefoot}{\renewcommand\thepage{\nu mold{\arabic{page}}}}

das heißt folgendes kann weggelassen werden:

\pdfstringdefDisableCommands{\renewcommand\OTF[2]{#2}}

u_fischer
14-08-2010, 16:16
\addtokomafont{pagefoot}{\renewcommand\thepage{\nu mold{\arabic{page}}}}

Das sieht aus, wie ein übler Hack. Du missbrauchst einen Schriftbefehl um \thepage zu ändern.

N.B: Eine Überprüfung in der Doku von xelibertine hat übrigens gezeigt, das \OTF und \numold, den Text (die Zahlen) nicht als Argument erhalten. Es sind - wie \sffamily - Schalter. Und sie sollten benutzt werden, nachdem man die Schriftfamilie aktiviert hat, also nach \sffamily.

Bei mir gibt es übrigens keinen Unterschied zwischen den Mediävalziffern der verschiedenen Schriftfamilien. Aber vielleicht habe ich ja nicht die neueste Libertine.


\documentclass{scrbook}

\usepackage[biolinum,language]{xelibertine}


\begin{document}

{1234 \OTF{+onum}1234 blub}

{\sffamily 1234 \OTF{+onum}1234}

{\ttfamily 1234 \OTF{+onum}1234}

{1234 \numold 1234}
\end{document}

ElGato
17-08-2010, 01:14
Hallo Ulrike,

danke für den Hinweis, denn "üble Hacks anwenden", das ist das letzte, was ich tun möchte.



\documentclass{scrbook}
\usepackage{xltxtra}
\usepackage[biolinum,language]{xelibertine}
\usepackage[ngerman]{babel}
\usepackage[german]{varioref}
\usepackage{blindtext}
\usepackage{hyperref}

\addtokomafont{pagenumber}{\numold} % so einfach scheints zu gehen :D

\begin{document}

\pagenumbering{Roman}
\blindtext[20]
\cleardoublepage
\pagenumbering{arabic}
\setcounter{page}{12345}
test\label{t}\blindtext[20]
\vref{t}
\cleardoublepage

{1234 \OTF{+onum}1234 blub}
{\sffamily 1234 \OTF{+onum}1234}
{\ttfamily 1234 \OTF{+onum}1234}
{1234 \numold 1234}

\end{document}