PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : n° in latex ?



Ralph
19-03-2013, 23:16
Hi,

ich will einen französischen Artikel referenzieren, ein Ausschnitt lautet


exp. n° 3, p. 1-12.

Gibt es eine Möglichkeit das "n°" in latex zu erzeugen ?

Nachtrag: Vielen Dank für eure Antworten. Ich habe jetzt eine modifizierte Variante von localghost's Vorschlag verwendet.

nixversteh
20-03-2013, 00:00
Hi,

ich will einen französischen Artikel referenzieren, ein Ausschnitt lautet
Gibt es eine Möglichkeit das "n°" in latex zu erzeugen ?

Hallo Ralph,

schau mal hier: http://tex.stackexchange.com/questions/40564/latex-numero-sign

Viel Erfolg
Gruß

Martin

LuPi
20-03-2013, 09:31
Das sieht schon gut aus, das \textnumero. Aber wenn (wie beispielsweise
vom OP und auch von mir) ein *kleines* \textnumero gesucht wird?

Sepp99
20-03-2013, 10:11
Habe vor einiger Zeit etwas gebastelt:

\listfiles
\documentclass{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}

% Test textnumero klein
\newcommand*{\numerokl}{n\kern.1em\rule[.6ex]{.25em}{.4pt}\kern-.3em\textsuperscript{o}}
\newcommand*{\numeropkt}{n.\kern-.15em\rule[.6ex]{.23em}{.4pt}\kern-.27em\raise.75ex\hbox{\scalebox{0.6}{o}}}

\begin{document}
\noindent\numerokl\ 1

\noindent\numeropkt\ 2

\Huge
\noindent\numerokl\ 3

\noindent\numeropkt\ 4

\end{document}

Ist sicher nicht das Gelbe vom Ei, hat aber damals für meine Zwecke gereicht. Wird auch relativ einfach abzuwandeln sein.

Gruß, Sepp

nixversteh
20-03-2013, 10:32
Hallo,
dann testet bitte mal:
n\textsuperscript{0} wobei 0 eine NULL darstellt

Viel Erfolg

Gruß

Martin

LuPi
20-03-2013, 10:36
n\textsuperscript{0}

Naja, so hab' ich das bisher auch gemacht, aber das ist leider alles andere als ästhetisch ansprechend.

LuPi
20-03-2013, 10:39
Habe vor einiger Zeit etwas gebastelt:
[...]

Ist sicher nicht das Gelbe vom Ei, hat aber damals für meine Zwecke gereicht. Wird auch relativ einfach abzuwandeln sein.

Besten Dank, das reicht für meine Zwecke sicherlich aus. Gegebenenfalls
werde ich das noch etwas anpassen.

Es geht bei mir nur hin und wieder um entsprechende Angaben in
portugiesischen Adressen. Aber langjähriger Einsatz von LaTeX führt doch
zu einem gewissen "Perfektionswahn" ...

localghost
20-03-2013, 10:50
Vielleicht gefällt dir ja das hier (auch).

\documentclass[11pt]{article}
\usepackage[T1]{fontenc}
\usepackage{xspace}

\newcommand*{\numero}{%
n\kern-.05em%
\raise.5ex\vbox{%
\hbox{\tiny o}%
\kern.5pt%
\hrule height.5pt%
}%
\xspace%
}

\begin{document}
exp.\ \numero 3, p. 1--12.
\end{document}


Thorsten

u_fischer
20-03-2013, 11:01
Du kannst ja den Befehl aus frenchb benutzen:


\documentclass[]{report}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{textcomp}
\usepackage[frenchb,ngerman]{babel}
\begin{document}
\no
\end{document}

(Das Laden von frenchb kann aber Seiteneffekte haben. Es ist sinnvoll die neueste Version zu benutzen: http://daniel.flipo.free.fr/frenchb/. Und es ist überhaupt nicht trivial nur die \no-Definition aus dem Code zu fischen).

LuPi
20-03-2013, 11:22
Das Laden von frenchb kann aber Seiteneffekte haben.

Da ich ansonsten mit Französisch nichts zu tun habe, ist das für mich ein
klares Gegenargument.


Und es ist überhaupt nicht trivial nur die \no-Definition aus dem Code zu fischen.

Schade!

LuPi
20-03-2013, 11:24
Vielleicht gefällt dir ja das hier (auch). [...]

Die verschiedenen Ansätze werde ich mir am Wochenende mal genauer
anschauen (soviel Zeit muss sein). Danke.

u_fischer
20-03-2013, 11:53
Da ich ansonsten mit Französisch nichts zu tun habe, ist das für mich ein klares Gegenargument.


Es muss keine Nebenwirkungen geben: Vor Jahren gab es z.B. mal Meldungen über Konflikte bei \frenchspacing. Es ist aber gut möglich, dass die mittlerweile korrigiert wurden. Du musst halt nur ein bisschen darauf achten.

Sepp99
20-03-2013, 17:56
Vielen Dank für eure Antworten. Ich habe jetzt eine modifizierte Variante von localghost's Vorschlag verwendet.
Den Nachteil dieser Methode siehst du allerdings bei Schriftänderungen:

\listfiles
\documentclass{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage{xspace}

\newcommand*{\numeroopkt}{%
n%
\rule[.55ex]{.23em}{.065ex}%
\kern-.27em\raise.75ex\hbox{\scalebox{0.6}{o}}%
\xspace%
}
% Lösung localghost
\newcommand*{\numero}{%
n\raise0.25ex\vbox{%
\hbox{\scriptsize o}%
\kern0.5pt\hrule height0.5pt%
}%
\xspace%
}

\begin{document}
\minisec{Mit dem Befehl \texttt{numeroopkt}}\medskip
\noindent\numeroopkt\ {\Huge \numeroopkt} {\tiny \numeroopkt}
\texttt{\numeroopkt} \textsc{\numeroopkt} \textsf{\numeroopkt} \textbf{\numeroopkt}\bigskip

\minisec{Mit dem Befehl \texttt{numero} (localghost)}\medskip
\noindent\numero\ {\Huge \numero} {\tiny \numero}
\texttt{\numero} \textsc{\numero} \textsf{\numero} \textbf{\numero}

\end{document}
Siehe Anhang.

Gruß, Sepp

localghost
20-03-2013, 20:01
Den Nachteil dieser Methode siehst du allerdings bei Schriftänderungen: […]
Dafür setzt \numeroopkt den Unterstrich in den meisten Fällen unpräzise. Zugegebenermaßen war meine Idee mit der heißen Nadel gestrickt. Ein paar "Zutaten" aus dem LaTeX-Kernel richten das.

\documentclass[11pt]{article}
\usepackage[T1]{fontenc}
\usepackage{xspace}

\makeatletter
\DeclareRobustCommand{\numero}{%
n\kern-.025em%
\sbox\z@ n%
\vbox to 1.25\ht\z@{%
\hbox{%
\check@mathfonts
\fontsize\sf@size\z@
\math@fontsfalse\selectfont%
\kern-.1em% % löschen, wenn kein Unterstrich erwünscht
o%
\kern-.1em% % löschen, wenn kein Unterstrich erwünscht
}%
\kern.5pt % löschen, wenn kein Unterstrich erwünscht
\hrule height.5pt % löschen, wenn kein Unterstrich erwünscht
\vss%
}%
\xspace%
}
\makeatother

\begin{document}
exp.\ \numero 3, p. 1--12.

\Huge\numero \huge\numero \Large\numero \large\numero \small\numero \footnotesize\numero \scriptsize\numero \tiny\numero
\end{document}

LuPi
21-03-2013, 08:07
Spricht etwas dagegen, aus dem Ergebnis dieses threads (ich habe das
pro forma auf großes No erweitert, wobei möglicherweise noch
Optimierungspotenzial besteht) in ein Paket zu gießen? numero.sty oder so?
Ich wüsste nicht, in welchem anderen Paket man das unterbringen könnte.



\documentclass[11pt]{article}
\usepackage[T1]{fontenc}
\usepackage{xspace}

\makeatletter
\DeclareRobustCommand{\numero}{%
n\kern-.025em%
\sbox\z@ n%
\vbox to 1.25\ht\z@{%
\hbox{%
\check@mathfonts
\fontsize\sf@size\z@
\math@fontsfalse\selectfont%
\kern-.1em% % löschen, wenn kein Unterstrich erwünscht
o%
\kern-.1em% % löschen, wenn kein Unterstrich erwünscht
}%
\kern.5pt % löschen, wenn kein Unterstrich erwünscht
\hrule height.5pt % löschen, wenn kein Unterstrich erwünscht
\vss%
}%
\xspace%
}
\DeclareRobustCommand{\Numero}{%
N\kern-.025em%
\sbox\z@ n%
\vbox to 1.5\ht\z@{%
\hbox{%
\check@mathfonts
\fontsize\sf@size\z@
\math@fontsfalse\selectfont%
\kern-.1em% % löschen, wenn kein Unterstrich erwünscht
o%
\kern-.1em% % löschen, wenn kein Unterstrich erwünscht
}%
\kern.5pt % löschen, wenn kein Unterstrich erwünscht
\hrule height.5pt % löschen, wenn kein Unterstrich erwünscht
\vss%
}%
\xspace%
} \makeatother

\begin{document}
exp.\ \numero 3, p. 1--12.

\Huge\numero \huge\numero \Large\numero \large\numero \small\numero \footnotesize\numero \scriptsize\numero \tiny\numero

\Huge\Numero \huge\Numero \Large\Numero \large\Numero \small\Numero \footnotesize\Numero \scriptsize\Numero \tiny\Numero
\end{document}

localghost
25-03-2013, 18:50
Spricht etwas dagegen, aus dem Ergebnis dieses threads (ich habe das pro forma auf großes No erweitert, wobei möglicherweise noch Optimierungspotenzial besteht) in ein Paket zu gießen? […]
Generell bin ich der Meinung, dass man nicht für jede Kleinigkeit gleich ein Paket erstellen muss. Man sehe sich nur die Quellen von capt-of (http://ctan.org/pkg/capt-of) oder leftidx (http://ctan.org/pkg/leftidx) an. Ein Paket sollte aus meiner Sicht schon mehr bieten als nur einen oder zwei Befehle. Schließlich heißt es ja "Paket" und nicht "Päckchen". Nichtsdestotrotz kannst Du mit dem Code natürlich anfangen, was Du möchtest. Er wird hier frei zur Verfügung gestellt. Nur eine entsprechende Erwähnung sollte dann schon sein.

Die Befehle lassen sich jedoch noch flexibler gestalten. Dazu wurde xparse (http://ctan.org/pkg/xparse) genommen, um Befehle mit einer Stern-Variante zu generieren. Könnte man auch mit \@ifstar machen, aber mit xparse (http://ctan.org/pkg/xparse) ist es einfacher [1]. Diese Variante erzeugt dann den Unterstrich für das kleine "o".

\documentclass[11pt]{article}
\usepackage[T1]{fontenc}
\usepackage{xparse,xspace}

\makeatletter
\NewDocumentCommand{\numero}{s}{%
n\IfBooleanTF{#1}{\kern-.025em}{\kern-.075em}%
\sbox\z@ n%
\vbox to 1.25\ht\z@{%
\hbox{%
\check@mathfonts
\fontsize\sf@size\z@
\math@fontsfalse\selectfont%
\IfBooleanTF{#1}{\kern-.05em}{\relax}%
o%
\IfBooleanTF{#1}{\kern-.05em}{\relax}%
}%
\IfBooleanTF{#1}{\kern.5pt}{\relax}%
\IfBooleanTF{#1}{\hrule height.5pt}{\relax}%
\vss
}%
\xspace%
}
\NewDocumentCommand{\Numero}{s}{%
N\IfBooleanTF{#1}{\kern-.025em}{\kern-.075em}%
\sbox\z@ N%
\vbox to \ht\z@{%
\hbox{%
\check@mathfonts
\fontsize\sf@size\z@
\math@fontsfalse\selectfont%
\IfBooleanTF{#1}{\kern-.05em}{\relax}%
o%
\IfBooleanTF{#1}{\kern-.05em}{\relax}%
}%
\IfBooleanTF{#1}{\kern.5pt}{\relax}%
\IfBooleanTF{#1}{\hrule height.5pt}{\relax}%
\vss
}%
\xspace%
}
\makeatother

\begin{document}
exp.\ \numero 3, p. 1--12.

\medskip
\Huge\numero \huge\numero \Large\numero \large\numero \small\numero \footnotesize\numero \scriptsize\numero \tiny\numero

\medskip
\Huge\Numero \huge\Numero \Large\Numero \large\Numero \small\Numero \footnotesize\Numero \scriptsize\Numero \tiny\Numero

\medskip
\Huge\Numero* \Huge\Numero \Huge\numero* \Huge\numero
\end{document}
Die Befehle sind natürlich nicht perfekt. Und das können sie auch nicht werden. Üblicherweise werden solche Dinge von Schriftsätzen oder eben Paketen wie dem bereits erwähnten textcomp (http://ctan.org/pkg/textcomp) als einzelne Symbole oder Zeichen bereitgestellt.

[1] TeX Frequently Asked Questions – Commands defined with * options (http://www.tex.ac.uk/cgi-bin/texfaq2html?label=cmdstar)

topskip
26-03-2013, 11:25
.... Könnte man auch mit \@ifstar machen, aber mit xparse (http://ctan.org/pkg/xparse) ist es einfacher ...


Oder mit dem Befehl \WithSuffix aus dem Paket suffix - den benutze ich ganz gerne.