Salut Nabil.

I already started working with lettre.cls, but never went deeply into the
fax part. In fact, I stopped when I got the very minimum I needed. lazzy
boy!

So I havent exactly your answer, but this file may help you anyway.
There is a lot of thing a layout can do, by putting LaTeX cod einto the 
Preamble.
Here, the idea was to get rid of the imposed order of letter and so on
classes( I like to write a letter as I am used to see it). So each layout,
instead of using the Latex command, declared a variables. The appropriate
latex construction is done once a new "lettre" or "fax" is encountered
(with lettre.cls there may be more than one on a file), and when the "fin
de fichier" layout is encountered.

So, for the fax, you could declare a "numero du destinataire" and a
"destinataire" layouts, which set LaTeX variables destNumber and destId,
and then when buildind the correct LaTeX output use
\telefax{\destNumber}{\destId}

If you adopt this scheme, I will be glad to use your layout (I insist to
make LyX lettre layout "order insensitive"). And maybe I could find some
time to help you a little bit (but remember, I am lazzy).

Anyway, if my draft can help you, here it is.

Have fun
        Alain

On Fri, 2 Feb 2001, Nabil Hathout wrote:

> Hello,
> 
> I am trying to make a layout for the lettre.cls written by Denis Mégevaud. I
> have had no problem for the "lettre" TextClass but I am having one whith the
> "telefax" one, namely that they must start with \telefax{XXX}{YYY} where XXX is
> the fax number and YYY is the recepiender name and I have not found any "style"
> that could generate this kind of structure.  Is this acheivable or is it
> necessary to use a dialog box (as for the citation insertions) ?
> 
> There might be another solution, that is to modify the lettre class, but then
> the layout will be dependant of this modification.
> 
> Thank you in advance,
> 
> --Nabil Hathout
> 

 Veuillez noter ma nouvelle adresse "courriel". Merci
 PLEASE NOTE my new email address.Thank's
 *******************************************************************
 *        Alain Castera                                            *
 * LPNHE - Tour 33 RdC           | e-mail : [EMAIL PROTECTED] *
 * 4 Place Jussieu               |      or        [EMAIL PROTECTED] *
 * 75252 Paris Cedex 05          | Telephone :     (+33) 144274187 *
 * France                        | Fax :           (+33) 144274638 *
 *******************************************************************
#% Do not delete the line below; configure depends on this
#  \DeclareLaTeXClass{lettre (Francais)}
# French Letter textclass definition file. 
# Author : Alain Castera <[EMAIL PROTECTED]>
# Modifies only some things from letter.layout
# to use the lettre.cls class from Denis Megevand




# Input general definitions
Input letter.layout


# (Re)define some stuff

Preamble
%% to allow reorder commands when needed
 \newif\ifneedsendletter
 \newif\ifneedsendfax
%% Sometimes you don't want a closing
 \def\Lyclose{}
%% automatic assignment of signatures (only one Signature Style
 \long\def\lyxsig#1{
 \@ifundefined{Lysigp}{\def\Lysigp{#1}}
        {\@ifundefined{Lysigs}{\def\Lysigs{#1}}{\def\Lysigt{#1}}}
 }
 \long\def\lyxsigp#1{\def\Lysigp{#1}}
 \long\def\lyxsigs#1{\def\Lysigs{#1}}
 \long\def\lyxsigt#1{\def\Lysigt{#1}}
%% 
 \long\def\lyxclose#1{\def\Lyclose{#1}}
 \long\def\lyxsubj#1{\def\Lysubj{#1}}
 \long\def\lyxps#1{\def\Lyps{#1}}
 \long\def\lyxenc#1{\def\Lyenc{#1}}
 \long\def\lyxmenc{\def\Lymenc{\menc}}
 \long\def\lyxcc#1{\def\Lycc{#1}}
 \newcommand{\findemessage}
        { 
          \ifneedsendletter
          \@ifundefined{Lysigp}{\name{}}{\signature{\Lysigp}} 
      \@ifundefined{Lysigs}{}{\secondsignature{\Lysigs}}
          \@ifundefined{Lysigt}{}{\thirdsignature{\Lysigt}} 
          \closing{\Lyclose}
      \@ifundefined{Lyps}{}{\ps{P.S. : }{\Lyps}}
      \@ifundefined{Lycc}{}{\cc{\Lycc}}
      \@ifundefined{Lyenc}{}{\encl{\Lyenc}}
          \end{letter}
          \needsendletterfalse 
          \fi
          \ifneedsendfax \end{telefax}
          \needsendfaxfalse 
          \fi
        }
EndPreamble

# My Address style
Style MonAdresse
  Margin        Static
  LatexType     Command
  LatexName     address
  ParSkip       0.4
  BottomSep     1.5
  ParSep        1.5
  Align         Left
  AlignPossible     Left
End

# City name style
Style Lieu
  Margin                Static
  LatexType             Command
  LatexName             lieu
  LeftMargin            Ville::xx
  LabelSep              xx
  TopSep                0.4
  BottomSep             0.4
  ParSep                0.4
  Align                 Block
  AlignPossible         Block, Left
  LabelType             Static
  LabelString           Ville:
  # label font definition
  LabelFont 
    Series              Bold
    Shape               Italic
    Latex               Latex
  EndFont
End

#suppress City indication
Style NoLieu
  KeepEmpty             1
  LatexType             Command
  LatexName             nolieu
  LabelType             Static
  LeftMargin            NoLieuxx
  LabelString           NoLieu
  # label font definition
  LabelFont
    Series              Bold
    Latex               Latex
  EndFont
End

# date Style
Style Date
  Margin                Static
  LatexType             Command
  LatexName             date
  LeftMargin            Date::xx
  LabelSep              xx
  TopSep                0.4
  BottomSep             0.4
  ParSep                0.4
  Align                 Block
  AlignPossible         Block, Left
  LabelType             Static
  LabelString           Date:
  # label font definition
  LabelFont 
    Series              Bold
    Shape               Italic
    Latex               Latex
  EndFont
End

#suppress date indication
Style NoDate
  KeepEmpty             1
  LatexType             Command
  LatexName             nodate
  LabelType             Static
  LeftMargin            NoDatexx
  LabelString           NoDate
  # label font definition
  LabelFont
    Series              Bold
    Latex               Latex
  EndFont
End

# location (i.e. office, department ...)
Style Localisation
  Margin                Static
  LatexType             Command
  LatexName             location
  LeftMargin            Location::xx
  LabelSep              xx
  TopSep                0.4
  BottomSep             0.4
  ParSep                0.4
  Align                 Block
  AlignPossible         Block, Left
  LabelType             Static
  LabelString           Location:
  # label font definition
  LabelFont 
    Series              Bold
    Shape               Italic
    Latex               Latex
  EndFont
End

# telephone Style
Style Telephone
  Margin                Static
  LatexType             Command
  LatexName             telephone
  LeftMargin            Tel::xx
  LabelSep              xx
  TopSep                0.4
  BottomSep             0.4
  ParSep                0.4
  Align                 Block
  AlignPossible         Block, Left
  LabelType             Static
  LabelString           Tel:
  # label font definition
  LabelFont 
    Series              Bold
    Shape               Italic
    Latex               Latex
  EndFont
End

#suppress telephone indication
Style NoTelephon
  KeepEmpty             1
  LatexType             Command
  LatexName             notelephone
  LabelType             Static
  LeftMargin            NoTelxx
  LabelString           NoTel
  # label font definition
  LabelFont
    Series              Bold
    Latex               Latex
  EndFont
End

# telefax Style
Style Fax
  Margin                Static
  LatexType             Command
  LatexName             fax
  LeftMargin            Fax::xx
  LabelSep              xx
  TopSep                0.4
  BottomSep             0.4
  ParSep                0.4
  Align                 Block
  AlignPossible         Block, Left
  LabelType             Static
  LabelString           Fax:
  # label font definition
  LabelFont 
    Series              Bold
    Shape               Italic
    Latex               Latex
  EndFont
End

#suppress fax indication
Style NoFax
  KeepEmpty             1
  LatexType             Command
  LatexName             nofax
  LabelType             Static
  LeftMargin            NoFaxxx
  LabelString           NoFax
  # label font definition
  LabelFont
    Series              Bold
    Latex               Latex
  EndFont
End


# Email Style
Style Email
  Margin                Static
  LatexType             Command
  LatexName             email
  LeftMargin            Email::xx
  LabelSep              xx
  TopSep                0.4
  BottomSep             0.4
  ParSep                0.4
  Align                 Block
  AlignPossible         Block, Left
  LabelType             Static
  LabelString           Email:
  # label font definition
  LabelFont 
    Series              Bold
    Shape               Italic
    Latex               Latex
  EndFont
End

Style Destinataire
  Margin                Right_Address_Box
  LatexType             Command
  LatexName             lettre
  Preamble
  \newcommand{\lettre}[1]
        { \findemessage 
          \begin{letter}{#1}
          \needsendlettertrue
        }
  EndPreamble
End

#As a temporary(?) trick 
Style FinDeFichier
  KeepEmpty             1
  LatexType             Command
  LatexName             findemessage
  LabelType             Static
  LabelString           Fin_du_fichier.
  LeftMargin            Fin_du_fichier.
  # label font definition
  LabelFont 
    Series              Bold
    Shape               Italic
    Latex               Latex
  EndFont
End

# Opening style definition

Style Accroche
  CopyStyle             Opening
  LeftMargin            Accroche::xx
  LabelString           Accroche:
End

# Signature style definition
Style Signature
  LeftMargin            Signature::xx
  LabelString           Signature:
  LatexName                     lyxsig
End


# Closing style definition
Style FormuleDePolitesse
  CopyStyle             Closing
  LeftMargin            Salutations::xx
  LabelString           Salutations:
  LatexType             Command
  LatexName             lyxclose
End

# encl style definition
Style incl
CopyStyle               encl
  LeftMargin            Ci-joint::xx
  LabelString           Ci-joint:
  LatexName                     lyxenc
End

#Carbon Copy
Style   cc
  LatexName                     lyxcc
End

#Post Scriptum
Style Post_Scriptum
  Margin        Static
  LatexType         Command
  LatexName         lyxps
  LabelSep      xx
  LabelType     Static
  LeftMargin        P.S.::xx
  LabelString       P.S.:
  LatexName         lyxps
End


# now suppress unwanted styles
NoStyle My_Address
NoStyle Send_To_Address
NoStyle Opening
NoStyle Closing
NoStyle encl


Reply via email to