Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

police particulière et test environnement

3 views
Skip to first unread message

pluton

unread,
Nov 6, 2009, 10:53:15 AM11/6/09
to
bonjour,

voilà un petit exercice sympa qui sera d'une grande évidence pour
toute personne qui dédient la solution mais qui semble être une
impasse pour moi-même (tautologie).

J'utilise un environnement \theorem dont la police du contenu est
\slshape (ou \itshape). Dans ce théorème, il y a un nom propre auquel
j'associe une police "small capitals". Par défaut, cette police n'est
pas italique et donc intégré à un texte en italique, le nom propre en
petites capitales n'a pas fière allure. En cherchant un peu, j'ai
trouvé ce petit package http://www.ctan.org/tex-archive/macros/latex/contrib/smallcap/
qui fournit des petites capitales penchées grâce à la commande
\scfamily\slshape.

Le problème est le suivant: comment redéfinir (ou définir) la commande
\textsc (ou tout autre nouvelle commande) que j'utilise actuellement
afin qu'elle teste dans quel type d'environnement elle se trouve
(environnement penché) et qu'elle prenne la décision appropriée en
fonction.

Environnement pas penché, \textsc reste\textsc.
Environnement penché, \textsc devient \scfamily\slshape

Merci

Pétiard François

unread,
Nov 6, 2009, 11:13:32 AM11/6/09
to
Le 06/11/2009 16:53, pluton a �crit :
> bonjour,
>
> voil� un petit exercice sympa qui sera d'une grande �vidence pour
> toute personne qui d�dient la solution mais qui semble �tre une
> impasse pour moi-m�me (tautologie).

>
> J'utilise un environnement \theorem dont la police du contenu est
> \slshape (ou \itshape). Dans ce th�or�me, il y a un nom propre auquel
> j'associe une police "small capitals". Par d�faut, cette police n'est
> pas italique et donc int�gr� � un texte en italique, le nom propre en
> petites capitales n'a pas fi�re allure. En cherchant un peu, j'ai
> trouv� ce petit package http://www.ctan.org/tex-archive/macros/latex/contrib/smallcap/
> qui fournit des petites capitales pench�es gr�ce � la commande
> \scfamily\slshape.
>
> Le probl�me est le suivant: comment red�finir (ou d�finir) la commande

> \textsc (ou tout autre nouvelle commande) que j'utilise actuellement
> afin qu'elle teste dans quel type d'environnement elle se trouve
> (environnement pench�) et qu'elle prenne la d�cision appropri�e en
> fonction.
>
> Environnement pas pench�, \textsc reste\textsc.
> Environnement pench�, \textsc devient \scfamily\slshape
>
> Merci

Quelque chose comme �a ?

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[francais]{babel}
\usepackage[autolanguage]{numprint}
\usepackage{microtype}
\usepackage{smallcap}
\begin{document}

\makeatletter
\expandafter\def\csname textsc \endcsname#1{%
\ifmmode\nfss@text{\scfamily #1}\else%
\hmode@bgroup\text@command{#1}\scfamily%
\ifdim\fontdimen\@ne\font>\z@\slshape\else\upshape\fi%
\check@icl #1\check@icr\expandafter\egroup\fi}
\makeatother

\textsc{Essai}

\slshape
\textsc{Essai}

\upshape
\textsc{Essai}

\itshape
\textsc{Essai}

\end{document}

Fran�ois

--
<PascalG> D�cid�ment, � fr.comp.text.tex c'est "rapidit�, efficacit�"
<moky> Wol� ! T'es pas venu souvent le vendredi toi ?!?
<Jean-C�me> Ben ? C'est pas rapide le vendredi ?
-+- in fr.comp.text.tex -+-

pluton

unread,
Nov 6, 2009, 11:30:11 AM11/6/09
to
c'est bien ça, c'est brillant !! je vais vérifier que tout se passe
bien avec le package ntheorem.
Quelques commentaires au niveau du code seraient bienvenus !

pluton

unread,
Nov 6, 2009, 11:34:48 AM11/6/09
to
voilà, vraiment, c'est fort ! merci

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{lmodern}

\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsfonts}


\usepackage[francais]{babel}
\usepackage[autolanguage]{numprint}
\usepackage{microtype}
\usepackage{smallcap}

\usepackage[amsmath,thmmarks]{ntheorem}

\theoremstyle{plain}
%\theoremsymbol{\ensuremath{\clubsuit}}
\theoremstyle{}
\theoremseparator{}
\theoremheaderfont{\bfseries\sffamily}
\newtheorem{Definition}{Définition}
\theorembodyfont{\upshape}
\newtheorem{Theoreme}{Théorème}
\theorembodyfont{\itshape}

\begin{document}

\makeatletter
\expandafter\def\csname textsc \endcsname#1{%
\ifmmode\nfss@text{\scfamily #1}\else%
\hmode@bgroup\text@command{#1}\scfamily%
\ifdim\fontdimen\@ne\font>\z@\slshape\else\upshape\fi%
\check@icl #1\check@icr\expandafter\egroup\fi}
\makeatother

\begin{Theoreme}
\textsc{Euler} est super !
\end{Theoreme}


\begin{Definition}
\textsc{Essai} est super !
\end{Definition}

\end{document}

Manuel Pégourié-Gonnard

unread,
Nov 6, 2009, 1:05:11 PM11/6/09
to
pluton scripsit :

> voil� un petit exercice sympa qui sera d'une grande �vidence pour
> toute personne qui d�dient la solution mais qui semble �tre une
> impasse pour moi-m�me (tautologie).
>

Fran�ois a d�j� donn� une solution, qui n'est pas si �vidente.

Je voudrais juste rajouter que le probl�me est question est une
faiblesse connue (en tout cas, la plus souvent cit�e) du mod�le de
fontes de LaTeX qui comprend trois axes ind�pendants : la famille, la
graisse, la forme. Italique (ou pench�) est une forme, comme ��petites
captiales��, c'est pour �a qu'on ne peut pas r�gler ces param�tres
ind�pendament l'un de l'autre en LaTeX.

--
Manuel P�gouri�-Gonnard Institut de math�matiques de Jussieu
http://weblog.elzevir.fr/ http://people.math.jussieu.fr/~mpg/


Pétiard François

unread,
Nov 6, 2009, 1:07:27 PM11/6/09
to
Le 06/11/2009 17:30, pluton a �crit :
> c'est bien �a, c'est brillant !! je vais v�rifier que tout se passe

> bien avec le package ntheorem.
> Quelques commentaires au niveau du code seraient bienvenus !

J'ai pris la d�finition de \textsc qui est, en fait
\csname textsc \endcsname et qui est ceci

\ifmmode\nfss@text{\scfamily #1}\else%

\hmode@bgroup\text@command{#1}\scfamily\check@icl #1\check@icr%
\expandafter\egroup\fi

et je me suis inspir� de la d�finition de \emph (en r�alit� de
\csname emph \encsname) qui est capable de basculer en \upshape si l'on
est en \itshape ou \slshape et en \itshape si l'on est en \upshape ;
cette d�finition est :

\ifmmode\nfss@text{\em #1}\else\hmode@bgroup\text@command{#1}\em%


\check@icl #1\check@icr \expandafter\egroup\fi

On voit qu'il faut regarder la d�finition de \em (en r�alit�, de
\csname em \endcsname) :

\@nomath\em\ifdim\fontdimen\@ne\font>\z@\upshape\else\itshape\fi

et l�, c'est gagn� : on se rend compte que la possibilit� de bascule est
donn�e par le \ifdim\fontdimen\@ne\font>\z@

D'o� la ligne, dans la d�finition de \textsc :

\ifdim\fontdimen\@ne\font>\z@\slshape\else\upshape\fi%

Apr�s, pour commenter en d�tail, je laisse �a aux gourous car je dirais
certainement des b�tises...
\fondimen1\font repr�sente l'inclinaison de la police courante en mode
texte, je crois...

Fran�ois

--
Uniquement pour les listings. Maintenant, ton � listing � est quand
m�me tr�s sp�cial. Je ne sais pas trop. Hop, je botte en touche et
c'est toi qui vois.
-+- Jean-C�me in fr.comp.text.tex -+-

pluton

unread,
Nov 6, 2009, 2:52:49 PM11/6/09
to
d'accord merci. C'est ce que je fais parfois, trouver des morceaux de
code pour les adapter à mes besoins mais là, c'est bien au-dessus de
mes connaissances.
Dans le même ordre d'idée, est-il possible de forcer un mot en petites
majuscules de la famille sans-serif à être "penché" (italique ou
slanted)

Pétiard François

unread,
Nov 6, 2009, 4:38:22 PM11/6/09
to
Le 06/11/2009 20:52, pluton a �crit :

> d'accord merci. C'est ce que je fais parfois, trouver des morceaux de
> code pour les adapter � mes besoins mais l�, c'est bien au-dessus de
> mes connaissances.
> Dans le m�me ordre d'id�e, est-il possible de forcer un mot en petites
> majuscules de la famille sans-serif � �tre "pench�" (italique ou
> slanted)

Est-ce que la fonte existe ?

Fran�ois


--
<http://www.ctan.org/tex-archive/graphics/pstricks/obsolete/doc/>
^---------^
Depuis le temps que je le dis.
-+- Michel B. in fr.comp.text.tex -+-

pluton

unread,
Nov 6, 2009, 4:46:01 PM11/6/09
to

> Est-ce que la fonte existe ?


d'après mes recherches non. La police petites majuscules droites sans
serif existe oui, et l'idée serait de la pencher géométriquement.

quark67

unread,
Nov 6, 2009, 5:20:26 PM11/6/09
to
Bonjour, le package slantsc ne convient-il pas ? Selon la documentation
(http://ctan.org/tex-archive/macros/latex/contrib/slantsc/slantsc.pdf ),
cela r�pond bien � votre probl�me, non ?

pluton

unread,
Nov 6, 2009, 5:48:05 PM11/6/09
to
On 6 nov, 17:20, quar...@free.fr (quark67) wrote:
> Bonjour, le package slantsc ne convient-il pas ? Selon la documentation
> (http://ctan.org/tex-archive/macros/latex/contrib/slantsc/slantsc.pdf),
> cela répond bien à votre problème, non ?

ça semble intéressant et proche du package smallcaps mais je ne vois
pas de mention aux polices sans serif
d'où le maintien de ma question.

merci

Pétiard François

unread,
Nov 7, 2009, 1:31:37 AM11/7/09
to
Le 06/11/2009 22:46, pluton a �crit :

>> Est-ce que la fonte existe ?
>
>
> d'apr�s mes recherches non. La police petites majuscules droites sans
> serif existe oui, et l'id�e serait de la pencher g�om�triquement.

D�sol�, mais joker...:-)

Fran�ois


--
De fa�on g�n�rale, je ne r�ponds pas trop aux questions du type �c'est
quoi le(la) meilleur(e) ... �, cela d�pend de tellement de
facteurs. On peut juste le dire pour emacs : c'est �videmment le
meilleur �diteur.

0 new messages