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

fonts \DeclareFixedFont

39 views
Skip to first unread message

Toufan

unread,
Dec 20, 2006, 6:53:04 AM12/20/06
to
Bonjour

Je voudrais créer un ensemble de 'fonts' ensuite en utilisant la
commande \DeclareFixedFont , faire appel aux éléments de cet
ensemble.

Voici le code que j'ai fait qui ne fonctionne pas :

\documentclass[12pt]{article}
\usepackage{arrayjob}


\makeatletter
\newcommand{\TexteChoix}[2]{%
% #1 le font
% #2 le texte
\DeclareFixedFont{\MMFont}{T1}{#1}{m}{n}{12pt}
{\MMFont #2} }

\makeatother

\begin{document}

\newarray\MesFonts % création de l'ensemlble

\readarray{MesFonts}{pag& pbk& pcr & phv& pnc & ppl & psy & ptm & pzcm
& pzdr}

\expandarrayelementtrue

\TexteChoix{\MesFonts(2)}{LaTeX}


\end{document}

Est-ce que quelqu'un a une idée pour résoudre ce problème ?

Merci

Toufan

Josselin Noirel

unread,
Dec 20, 2006, 7:22:13 AM12/20/06
to
"Toufan" wrote in message
<1166615584.8...@t46g2000cwa.googlegroups.com>:

> Est-ce que quelqu'un a une idée pour résoudre ce problème ?

Le \DeclareFixedFont ne sert à rien et par ailleurs on peut faire
beaucoup plus simple (je ne sais pas pourquoi cela ne fonctionne pas
avec arrayjob).

\documentclass[12pt]{article}

\makeatletter
\newcommand*{\namedef}{\@namedef}
\newcommand*{\MesFonts}[1]{\@nameuse{MesFonts#1}}
\makeatother

\newcommand{\TexteChoix}[2]%
{{\fontsize{12pt}{12pt}\usefont{T1}{#1}{m}{n}#2}}

\begin{document}

\namedef{MesFonts1}{pag}
\namedef{MesFonts2}{pbk}
\namedef{MesFonts3}{pcr}
\namedef{MesFonts4}{phv}
\namedef{MesFonts5}{pnc}
\namedef{MesFonts6}{ppl}
\namedef{MesFonts7}{psy}
\namedef{MesFonts8}{ptm}
\namedef{MesFonts9}{pzcm}
\namedef{MesFonts10}{pzdr}

\TexteChoix{\MesFonts{1}}{LaTeX}
\TexteChoix{\MesFonts{2}}{LaTeX}
\TexteChoix{\MesFonts{3}}{LaTeX}
\TexteChoix{\MesFonts{4}}{LaTeX}

\end{document}

--
Joss

Toufan

unread,
Dec 20, 2006, 9:30:43 AM12/20/06
to

Josselin Noirel a écrit :

> "Toufan" wrote in message
> <1166615584.8...@t46g2000cwa.googlegroups.com>:
> > Est-ce que quelqu'un a une idée pour résoudre ce problème ?
>
> Le \DeclareFixedFont ne sert à rien et par ailleurs on peut faire
> beaucoup plus simple (je ne sais pas pourquoi cela ne fonctionne pas
> avec arrayjob).
>

Merci Joss

En fait, j'aurais siuhaité que le code fonctionne avec 'arrayjob'.
Alors j'ai modifié le précédent code (en prenant une partie de votre
code), ça fonctionne à 80% , en fait il y a un problème
d'affichage. (il affiche le nom du fichier du font.fd)

Voici le code :

\documentclass[12pt]{article}
\usepackage{arrayjob}

\usepackage{fp}

\begin{document}

\newarray\MesFonts % création de l'ensemlble

\readarray{MesFonts}{pag& pbk& pcr & phv& pnc & ppl & psy & ptm & pzcm
& pzdr}

\expandarrayelementtrue

\makeatletter
\newcommand{\TexteChoix}[2]{%
% #1 N° du font dans la liste
% #2 le texte
\checkMesFonts(#1)
{\fontsize{12pt}{12pt}\usefont{T1}{\cachedata}{m}{n} #2} }

\makeatother

\TexteChoix{4}{LaTeX}
\end{document}

%%%%%%%%%%%%%%%%%

Comment éviter cet affichage?

Merci

Toufan

Josselin Noirel

unread,
Dec 20, 2006, 9:40:57 AM12/20/06
to
"Toufan" wrote in message
<1166625043.4...@t46g2000cwa.googlegroups.com>:

> En fait, j'aurais siuhaité que le code fonctionne avec 'arrayjob'.

Pourquoi ?

--
Joss

Toufan

unread,
Dec 20, 2006, 9:53:18 AM12/20/06
to

Josselin Noirel a écrit :

Puisque on pourra avoir un ensemble contenant plus de fonts que dans
cette exemple.

Et d'autre part, ça évite de faire :

\namedef{MesFonts 1}{...}
..........................
..........................
..........................
\namedef{MesFonts n}{....}

Toufan

Toufan

unread,
Dec 20, 2006, 9:53:19 AM12/20/06
to

Josselin Noirel a écrit :

Puisque on pourra avoir un ensemble contenant plus de fonts que dans

Toufan

unread,
Dec 20, 2006, 10:30:05 AM12/20/06
to

Josselin Noirel a écrit :

Je tiens toujours à mon code avec 'arrayjob'.

Joss, pourriez me dire pourquoi le code suivant ne produit rien ?

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


\documentclass[12pt]{article}
\usepackage{arrayjob}

\newarray\MesFonts % création de l'ensemlble

\readarray{MesFonts}{pag& pbk& pcr & phv& pnc & ppl & psy & ptm & pzcm
& pzdr}

\expandarrayelementtrue


\makeatletter
\newcommand*{\TexteChoix}[2]{%


% #1 N° du font dans la liste
% #2 le texte

\def\AAA\MesFonts(#1)
{\fontsize{12pt}{12pt}\usefont{T1}{\AAA}{m}{n} #2} }

\makeatother

\begin{document}

\TexteChoix{4}{LaTeX}
\end{document}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Merci

Toufan

Josselin Noirel

unread,
Dec 20, 2006, 10:42:30 AM12/20/06
to
"Toufan" wrote in message
<1166626398.5...@n67g2000cwd.googlegroups.com>:

> Puisque on pourra avoir un ensemble contenant plus de fonts que dans
> cette exemple.

Non.

> Et d'autre part, ça évite de faire :
>
> \namedef{MesFonts 1}{...}
> ..........................
> ..........................
> ..........................
> \namedef{MesFonts n}{....}

Ce n'est certainement pas une qualité exclusive d'arrayjob que de
pouvoir déclarer des éléments en une ligne. Et entre nous, cela m'a
pris trois secondes probablement à écrire avec la fonction de
remplacement d'Emacs.

--
Joss

Josselin Noirel

unread,
Dec 20, 2006, 10:46:42 AM12/20/06
to
"Toufan" wrote in message
<1166628605....@t46g2000cwa.googlegroups.com>:

> Joss, pourriez me dire pourquoi le code suivant ne produit rien ?

Parce que tu es en train d'essayer de produire du code fonctionnel en
tapant au hasard sur ton clavier. Au demeurant, je ne connais pas
arrayjob et n'ai pas envie de le connaître mais \MesFonts(...) n'est
visiblement pas une commande développable, elle ne fonctionnera donc pas
ainsi - sauf si l'on patche ou sauf si j'ai loupé quelque chose [ce qui
est possible étant donné que j'ai regardé très très succinctement].

--
Joss, la syntaxe du « & » comme séparateur est particulièrement tordue.

Toufan

unread,
Dec 20, 2006, 10:57:11 AM12/20/06
to

Josselin Noirel a écrit :

Merci Joss

Toufan

unread,
Dec 20, 2006, 11:37:11 AM12/20/06
to

Josselin Noirel a écrit :

> Joss, la syntaxe du « & » comme séparateur est particulièrement tordue.

Joss

Vous avez une idée de comment créer un ensemble avec le sytaxe ','
comme sépateur des éléments?


Toufan

Josselin Noirel

unread,
Dec 20, 2006, 11:47:45 AM12/20/06
to
"Toufan" wrote in message
<1166632631.3...@f1g2000cwa.googlegroups.com>:

\documentclass[12pt]{article}

\newcommand{\TexteChoix}[2]%
{{\fontsize{12pt}{12pt}\usefont{T1}{#1}{m}{n}#2}}
\newcounter{tempcnta}

\makeatletter


\newcommand*{\MesFonts}[1]{\@nameuse{MesFonts#1}}

\newcommand*{\setlist}[2]{%
\setcounter{tempcnta}{0}%
\@for \@tempa :=#2\do {%
\stepcounter{tempcnta}%
\expandafter \def \csname #1\arabic{tempcnta}\expandafter \endcsname
\expandafter {\@tempa}%
}%
}
\makeatother

\begin{document}

\setlist{MesFonts}{pag,pbk,pcr,phv,pnc,ppl,psy,ptm,pzcm,pzdr}

Toufan

unread,
Dec 20, 2006, 12:09:13 PM12/20/06
to
Josselin Noirel a écrit :

> "Toufan" wrote in message
> <1166632631.3...@f1g2000cwa.googlegroups.com>:
> >
> > Josselin Noirel a écrit :
> >
> >> Joss, la syntaxe du « & » comme séparateur est particulièrement tordue.
> >

Merci Joss

Avec LaTeX seul l'impossible est 'impossible'

Toufan

0 new messages