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 -+-
\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}
> 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/
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 -+-
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 -+-
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.
ç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
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.