mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-29 21:05:12 +00:00
b92ceba9a1
Remove the trimming operation on LabelString, LabelStringAppendix,
EndLabelString and LabelCounter. This trimming meant that quotes
strings were not preserved, which is wrong.
To preserve layouts, the Layout format has been updated to 64, so that
layout2layout can remove extra spaces on existing strings, which
ensures that behavior is unchanged for old layouts (courtesy of rgheck).
It is now possible to re-add spaces in label strings where it makes
sense.
Fixes bug #10723.
(cherry picked from commit 5c54557350
)
681 lines
14 KiB
Plaintext
681 lines
14 KiB
Plaintext
#% Do not delete the line below; configure depends on this
|
|
# \DeclareLaTeXClass{French Letter (lettre)}
|
|
# \DeclareCategory{Letters}
|
|
# French Letter textclass definition file.
|
|
# Author : Alain Castera <castera@in2p3.fr>
|
|
# Modifies only some things from letter.layout
|
|
# to use the lettre.cls class from Denis Megevand
|
|
# (almost) nothing regarding fax, only letter
|
|
#---------------
|
|
# rev 1; A. Castera :
|
|
# A lot of LateX code added to avoid being bored by
|
|
# the imposed command order of the class letter (see comments)
|
|
#---------------
|
|
#rev 2; A. Castera :
|
|
# further more LaTeX code to make tth happy
|
|
# with the class.(Following a request on
|
|
# such kind of thing from lyx-users@lists.lyx.org)
|
|
#---------------
|
|
# rev.3; J.-P. Chretien oct 2010
|
|
# general update and review for inclusion in lyx-1.6.8
|
|
# - remove tth stuff
|
|
# - english named styles (translated in fr.po)
|
|
# - margins set to dynamic to ensure alignment of line headings
|
|
# - categories
|
|
# - ordering control left at the beginning (any other way ?)
|
|
#---------------
|
|
# rev.4; J.-P. Chretien oct 2016
|
|
# update and review for inclusion in lyx-2.2.3
|
|
# - remove the workaround for page format (not needed after v2.351)
|
|
|
|
|
|
Format 64
|
|
|
|
#(pre)declarations (just to impose some order on the menus)
|
|
Style Standard
|
|
End
|
|
|
|
Style My_Address
|
|
End
|
|
Style Location
|
|
End
|
|
Style Telephone
|
|
End
|
|
Style NoTelephone
|
|
End
|
|
Style Fax
|
|
End
|
|
Style NoFax
|
|
End
|
|
Style Email
|
|
End
|
|
Style Place
|
|
End
|
|
Style NoPlace
|
|
End
|
|
Style Date
|
|
End
|
|
Style NoDate
|
|
End
|
|
Style Send_To_Address
|
|
End
|
|
Style Subject
|
|
End
|
|
Style YourRef
|
|
End
|
|
Style MyRef
|
|
End
|
|
Style Opening
|
|
End
|
|
Style Closing
|
|
End
|
|
Style Signature
|
|
End
|
|
Style encl
|
|
End
|
|
Style cc
|
|
End
|
|
Style Post_Scriptum
|
|
End
|
|
Style EndOfMessage
|
|
End
|
|
Style EndOfFile
|
|
End
|
|
|
|
|
|
# Input general definitions
|
|
Input letter.layout
|
|
|
|
Preamble
|
|
%% A lot of newif
|
|
%% to allow reorder commands and output them when needed only
|
|
\newif\ifneedsendletter % we started a letter
|
|
\newif\ifneedsendfax % we started a fax
|
|
\newif\ifmonaddressused % sender address specified
|
|
\newif\ifmonlieuused % city
|
|
\newif\ifmonlocationused % sender extra info (office, etc..)
|
|
\newif\ifmontelephoneused % sender phone # specified
|
|
\newif\ifmonfaxused % sender fax # specified
|
|
\newif\ifmonemailused % sender email address specified
|
|
\newif\iflyxsigp % first of up to 3 signatures
|
|
\newif\iflyxsigs % second signature
|
|
\newif\iflyxsigt % third one
|
|
\newif\ifpsneeded % post-scriptum
|
|
\newif\ifccneeded % carbon copy to somebody
|
|
\newif\ifencneeded % encluded items
|
|
|
|
%% Sometimes you don't want a closing ("formule de politesse"),
|
|
%% but the package still needs it. Use a void macro instead of a newif
|
|
\newcommand{\Lyclose}{}
|
|
%%
|
|
|
|
%% here is the real stuff : ouput the commands in the "proper" order
|
|
\newcommand{\findemessage}
|
|
{
|
|
\ifneedsendletter %% did we start a letter ?
|
|
\iflyxsigp \signature{\Lysigp} \else \name{} \fi
|
|
\iflyxsigs \secondsignature{\Lysigs} \fi
|
|
\iflyxsigt \thirdsignature{\Lysigt} \fi
|
|
\lyxsigpfalse
|
|
\lyxsigsfalse
|
|
\lyxsigtfalse
|
|
\closing{\Lyclose}
|
|
\ifpsneeded \ps{P.S. : }{\Lyps} \psneededfalse \fi
|
|
\ifccneeded \cc{\Lycc} \ccneededfalse \fi
|
|
\ifencneeded \encl{\Lyenc} \encneededfalse \fi
|
|
\end{letter}
|
|
\needsendletterfalse %% done with letter
|
|
\fi % if needSendLetter
|
|
\ifneedsendfax \end{telefax} %% nothing provided yet for telefax !
|
|
\needsendfaxfalse
|
|
\fi % if needSendFax
|
|
} %findemessage
|
|
|
|
% to get the specified pagesize
|
|
% (workaround for an a4paper/lettre problem in pdf mode)
|
|
% removed in oct 2016, no more needed since 2.351 and created an error with LuaTeX
|
|
%\@ifpackageloaded{ifpdf}{}{\usepackage{ifpdf}}
|
|
%\ifpdf\input pdftexconfig.tex\fi
|
|
|
|
EndPreamble
|
|
|
|
# My Address style used to specify sender name and coordinates
|
|
Style My_Address
|
|
CopyStyle My_Address
|
|
Category "Postal Data"
|
|
Margin Static
|
|
LatexType Command
|
|
LatexName MyAddress
|
|
ParSkip 0.4
|
|
BottomSep 1.5
|
|
ParSep 1.5
|
|
Align Left
|
|
AlignPossible Left
|
|
Preamble
|
|
\newcommand{\MyAddress}[1]{ % will save the info for future use
|
|
\monaddressusedtrue
|
|
\providecommand{\lyaddress}{\address{#1}}
|
|
}
|
|
EndPreamble
|
|
End
|
|
|
|
# City name style
|
|
Style Place
|
|
Category Headings
|
|
Margin Dynamic
|
|
LatexType Command
|
|
LatexName Myplace
|
|
LabelSep xx
|
|
TopSep 0.4
|
|
BottomSep 0.4
|
|
ParSep 0.4
|
|
Align Block
|
|
AlignPossible Block, Left
|
|
LabelType Static
|
|
LabelString City:
|
|
LeftMargin x
|
|
# label font definition
|
|
LabelFont
|
|
Series Bold
|
|
Shape Italic
|
|
Color red
|
|
EndFont
|
|
Preamble
|
|
\newcommand{\Myplace}[1]{ % will save the info for future use
|
|
\monlieuusedtrue
|
|
\providecommand{\lylieu}{\relax}
|
|
\renewcommand{\lylieu}{\lieu{#1}}
|
|
}
|
|
EndPreamble
|
|
End
|
|
|
|
#suppress City indication
|
|
Style NoPlace
|
|
Category Headings
|
|
KeepEmpty 1
|
|
LatexType Command
|
|
LatexName MyNoPlace
|
|
LabelType Static
|
|
Margin Dynamic
|
|
LabelString NoPlace
|
|
LeftMargin x
|
|
# label font definition
|
|
LabelFont
|
|
Series Bold
|
|
Shape Italic
|
|
Color red
|
|
EndFont
|
|
|
|
Preamble
|
|
\newcommand{\MyNoPlace}{
|
|
\monlieuusedtrue
|
|
\providecommand{\lylieu}{\relax}
|
|
\renewcommand{\lylieu}{\nolieu{}}
|
|
}
|
|
EndPreamble
|
|
End
|
|
|
|
# date Style
|
|
Style Date
|
|
Category Headings
|
|
Margin Dynamic
|
|
LatexType Command
|
|
LatexName date
|
|
LeftMargin x
|
|
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
|
|
Color red
|
|
EndFont
|
|
End
|
|
|
|
#suppress date indication
|
|
Style NoDate
|
|
Category Headings
|
|
KeepEmpty 1
|
|
Margin Dynamic
|
|
LatexType Command
|
|
LatexName nodate
|
|
LabelType Static
|
|
LeftMargin x
|
|
LabelString NoDate
|
|
# label font definition
|
|
LabelFont
|
|
Series Bold
|
|
Shape Italic
|
|
Color red
|
|
EndFont
|
|
Preamble
|
|
EndPreamble
|
|
End
|
|
|
|
# location (i.e. office, department ...)
|
|
Style Location
|
|
Category Headings
|
|
Margin Dynamic
|
|
LatexType Command
|
|
LatexName MyLocation
|
|
LeftMargin x
|
|
LabelString Office:
|
|
LabelSep xx
|
|
TopSep 0.4
|
|
BottomSep 0.4
|
|
ParSep 0.4
|
|
Align Block
|
|
AlignPossible Block, Left
|
|
LabelType Static
|
|
# label font definition
|
|
LabelFont
|
|
Series Bold
|
|
Shape Italic
|
|
Color red
|
|
EndFont
|
|
Preamble
|
|
\newcommand{\MyLocation}[1]{ % will save the info for future use
|
|
\monlocationusedtrue
|
|
\providecommand{\lylocation}{\relax}
|
|
\renewcommand{\lylocation}{\location{#1}}
|
|
}
|
|
EndPreamble
|
|
End
|
|
|
|
# telephone Style
|
|
Style Telephone
|
|
Category Headings
|
|
Margin Dynamic
|
|
LatexType Command
|
|
LatexName MyTelephone
|
|
LeftMargin x
|
|
LabelString Tel:
|
|
LabelSep xx
|
|
TopSep 0.4
|
|
BottomSep 0.4
|
|
ParSep 0.4
|
|
Align Block
|
|
AlignPossible Block, Left
|
|
LabelType Static
|
|
# label font definition
|
|
LabelFont
|
|
Series Bold
|
|
Shape Italic
|
|
Color red
|
|
EndFont
|
|
Preamble
|
|
\newcommand{\MyTelephone}[1]{ % will save the info for future use
|
|
\montelephoneusedtrue
|
|
\providecommand{\lytelephone}{\relax}
|
|
\renewcommand{\lytelephone}{\telephone{#1}}
|
|
}
|
|
EndPreamble
|
|
End
|
|
|
|
#suppress telephone indication
|
|
Style NoTelephone
|
|
Category Headings
|
|
KeepEmpty 1
|
|
Margin Dynamic
|
|
LatexType Command
|
|
LatexName MyNoTelephone
|
|
LabelType Static
|
|
LeftMargin x
|
|
LabelString NoTel
|
|
# label font definition
|
|
LabelFont
|
|
Series Bold
|
|
Shape Italic
|
|
Color red
|
|
EndFont
|
|
Preamble
|
|
\newcommand{\MyNoTelephone}{
|
|
\montelephoneusedtrue
|
|
\providecommand{\lytelephone}{\relax}
|
|
\renewcommand{\lytelephone}{\notelephone{}}
|
|
}
|
|
EndPreamble
|
|
|
|
End
|
|
|
|
# telefax Style
|
|
Style Fax
|
|
Category Headings
|
|
Margin Dynamic
|
|
LatexType Command
|
|
LatexName MyFax
|
|
LeftMargin x
|
|
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
|
|
Color red
|
|
EndFont
|
|
Preamble
|
|
\newcommand{\MyFax}[1]{ % will save the info for future use
|
|
\monfaxusedtrue
|
|
\providecommand{\lyfax}{\relax}
|
|
\renewcommand{\lyfax}{\fax{#1}}
|
|
}
|
|
EndPreamble
|
|
End
|
|
|
|
#suppress fax indication
|
|
Style NoFax
|
|
Category Headings
|
|
KeepEmpty 1
|
|
Margin Dynamic
|
|
LatexType Command
|
|
LatexName MyNoFax
|
|
LabelType Static
|
|
LeftMargin x
|
|
LabelString NoFax
|
|
# label font definition
|
|
LabelFont
|
|
Series Bold
|
|
Shape Italic
|
|
Color red
|
|
EndFont
|
|
Preamble
|
|
\newcommand{\MyNoFax}{
|
|
\monfaxusedtrue
|
|
\providecommand{\lyfax}{\relax}
|
|
\renewcommand{\lyfax}{\nofax{}}
|
|
}
|
|
EndPreamble
|
|
End
|
|
|
|
|
|
# Email Style
|
|
Style Email
|
|
Category Headings
|
|
Margin Dynamic
|
|
LatexType Command
|
|
LatexName MyEmail
|
|
LeftMargin x
|
|
LabelString Email:
|
|
LabelSep xx
|
|
TopSep 0.4
|
|
BottomSep 0.4
|
|
ParSep 0.4
|
|
Align Block
|
|
AlignPossible Block, Left
|
|
LabelType Static
|
|
# label font definition
|
|
LabelFont
|
|
Series Bold
|
|
Shape Italic
|
|
Color red
|
|
EndFont
|
|
Preamble
|
|
\newcommand{\MyEmail}[1]{ % will save the info for future use
|
|
\monemailusedtrue
|
|
\providecommand{\lyemail}{\relax}
|
|
\renewcommand{\lyemail}{\email{#1}}
|
|
}
|
|
EndPreamble
|
|
End
|
|
|
|
# Subject Style
|
|
Style Subject
|
|
Margin Dynamic
|
|
LatexType Command
|
|
LatexName conc
|
|
LeftMargin x
|
|
LabelString Subject:
|
|
LabelSep xx
|
|
TopSep 0.4
|
|
BottomSep 0.4
|
|
ParSep 0.4
|
|
Align Block
|
|
AlignPossible Block, Left
|
|
LabelType Static
|
|
# label font definition
|
|
LabelFont
|
|
Series Bold
|
|
Shape Italic
|
|
Color red
|
|
EndFont
|
|
End
|
|
|
|
# YourRef Style
|
|
Style YourRef
|
|
CopyStyle Subject
|
|
Margin Dynamic
|
|
LatexType Command
|
|
LatexName Vref
|
|
LeftMargin x
|
|
LabelString YourRef:
|
|
# label font definition
|
|
LabelFont
|
|
Series Bold
|
|
Shape Italic
|
|
Color red
|
|
EndFont
|
|
End
|
|
|
|
# MyRef Style
|
|
Style MyRef
|
|
CopyStyle Subject
|
|
Margin Dynamic
|
|
LatexType Command
|
|
LatexName Nref
|
|
LeftMargin x
|
|
LabelString MyRef:
|
|
# label font definition
|
|
LabelFont
|
|
Series Bold
|
|
Shape Italic
|
|
Color red
|
|
EndFont
|
|
End
|
|
|
|
Style Send_To_Address
|
|
CopyStyle Send_To_Address
|
|
Margin Right_Address_Box
|
|
LatexType Command
|
|
LatexName lettre
|
|
Preamble
|
|
\newcommand{\lettre}[1] { %% organized as expected by the package
|
|
\findemessage %% if we already started a letter or a fax
|
|
\begin{letter}{#1} %% now the new one
|
|
\ifmonaddressused
|
|
\lyaddress{}
|
|
\fi
|
|
\ifmonlocationused
|
|
\lylocation{}
|
|
\fi
|
|
\ifmonlieuused
|
|
\lylieu{}
|
|
\fi
|
|
\ifmontelephoneused
|
|
\lytelephone{}
|
|
\fi
|
|
\ifmonfaxused
|
|
\lyfax{}
|
|
\fi
|
|
\ifmonemailused
|
|
\lyemail{}
|
|
\fi
|
|
\needsendlettertrue
|
|
}
|
|
EndPreamble
|
|
End
|
|
|
|
#As a temporary(?) trick the last(only?) letter of the file must be processed
|
|
# and to allow changing sender address, location,etc.. in between 2 letters
|
|
Style EndOfMessage
|
|
Category Closings
|
|
KeepEmpty 1
|
|
Margin Dynamic
|
|
TopSep 0.8
|
|
BottomSep 0.8
|
|
ParSep 0.8
|
|
LatexType Command
|
|
LatexName findemessage
|
|
LabelType Static
|
|
LabelString EndOfMessage.
|
|
LeftMargin x
|
|
# label font definition
|
|
LabelFont
|
|
Series Bold
|
|
Shape Italic
|
|
Color red
|
|
EndFont
|
|
End
|
|
|
|
Style EndOfFile
|
|
CopyStyle EndOfMessage
|
|
LabelString EndOfFile.
|
|
End
|
|
|
|
# Opening style definition (Accroche)
|
|
Style Opening
|
|
CopyStyle Opening
|
|
Margin Dynamic
|
|
LeftMargin x
|
|
LabelString Opening:
|
|
# label font definition
|
|
LabelFont
|
|
Series Bold
|
|
Shape Italic
|
|
Color red
|
|
EndFont
|
|
End
|
|
|
|
# Closing style definition (FormuleDePolitesse, Salutations)
|
|
Style Closing
|
|
CopyStyle Closing
|
|
Margin Dynamic
|
|
LeftMargin x
|
|
LabelString Closing:
|
|
LatexType Command
|
|
LatexName lyxclose
|
|
Preamble
|
|
\newcommand{\lyxclose}[1]{\renewcommand{\Lyclose}{#1}}
|
|
EndPreamble
|
|
End
|
|
|
|
# Signature style definition
|
|
Style Signature
|
|
Margin Dynamic
|
|
LeftMargin x
|
|
LabelString Signature:
|
|
LatexType Command
|
|
LatexName lyxsig
|
|
# label font definition
|
|
LabelFont
|
|
Series Bold
|
|
Shape Italic
|
|
Color red
|
|
EndFont
|
|
Preamble
|
|
%% automatic assignment of signatures
|
|
%% there is only 1 Signature style, but multiple latex commands
|
|
\newcommand{\lyxsig}[1]{
|
|
\iflyxsigs %% the second sig. exists, so this one is the third
|
|
\providecommand{\Lysigt}{\relax}
|
|
\renewcommand{\Lysigt}{#1}
|
|
\lyxsigttrue
|
|
\else %% if lyxsigs exist
|
|
\iflyxsigp %% the second one
|
|
\providecommand{\Lysigs}{\relax}
|
|
\renewcommand{\Lysigs}{#1}
|
|
\lyxsigstrue
|
|
\else %% the first one
|
|
\providecommand{\Lysigp}{\relax}
|
|
\renewcommand{\Lysigp}{#1}
|
|
\lyxsigptrue
|
|
\fi %% if lyxsidp exist
|
|
\fi %% if lyxsigs exist
|
|
}
|
|
EndPreamble
|
|
End
|
|
|
|
|
|
# encl style definition (Ci-joint)
|
|
Style encl
|
|
CopyStyle encl
|
|
Category Closings
|
|
Margin Dynamic
|
|
LeftMargin x
|
|
LabelString encl:
|
|
LatexName lyxenc
|
|
# label font definition
|
|
LabelFont
|
|
Series Bold
|
|
Shape Italic
|
|
Color red
|
|
EndFont
|
|
Preamble
|
|
\newcommand{\lyxenc}[1]{
|
|
\providecommand{\Lyenc}{\relax}
|
|
\renewcommand{\Lyenc}{#1}
|
|
\encneededtrue
|
|
}
|
|
EndPreamble
|
|
End
|
|
|
|
#Carbon Copy
|
|
Style cc
|
|
CopyStyle encl
|
|
LatexName lyxcc
|
|
LeftMargin x
|
|
LabelString cc:
|
|
# label font definition
|
|
LabelFont
|
|
Series Bold
|
|
Shape Italic
|
|
Color red
|
|
EndFont
|
|
Preamble
|
|
\newcommand{\lyxcc}[1]{
|
|
\providecommand{\Lycc}{\relax}
|
|
\renewcommand{\Lycc}{#1}
|
|
\ccneededtrue
|
|
}
|
|
EndPreamble
|
|
End
|
|
|
|
#Post Scriptum
|
|
Style Post_Scriptum
|
|
Category Closings
|
|
Margin Dynamic
|
|
LatexType Command
|
|
LatexName lyxps
|
|
LabelSep xx
|
|
LabelType Static
|
|
LeftMargin x
|
|
LabelString P.S.:
|
|
# label font definition
|
|
LabelFont
|
|
Series Bold
|
|
Shape Italic
|
|
Color red
|
|
EndFont
|
|
Preamble
|
|
\newcommand{\lyxps}[1]{
|
|
\providecommand{\Lyps}{\relax}
|
|
\renewcommand{\Lyps}{#1}
|
|
\psneededtrue
|
|
}
|
|
EndPreamble
|
|
End
|
|
|
|
|
|
|