From 5678264eb318e7ca4f57a6b5a46abeaa005aef1d Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 15 Aug 2008 22:49:46 +0000 Subject: engpron 2 (15aug08) git-svn-id: svn://tug.org/texlive/trunk@10364 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/engpron/engpron.sty | 263 ++++++++++++++++-------- 1 file changed, 176 insertions(+), 87 deletions(-) (limited to 'Master/texmf-dist/tex/latex/engpron') diff --git a/Master/texmf-dist/tex/latex/engpron/engpron.sty b/Master/texmf-dist/tex/latex/engpron/engpron.sty index b26d117ce96..36811989aac 100644 --- a/Master/texmf-dist/tex/latex/engpron/engpron.sty +++ b/Master/texmf-dist/tex/latex/engpron/engpron.sty @@ -4,12 +4,11 @@ %% %% The original source files were: %% -%% engpron.dtx (with options: `package') -%% +%% engpron.dtx (with options: `package,en') %% This is a generated file. %% -%% Copyright (C) 2003 Y. Henel, le TeXnicien de surface -%% +%% Copyright (C) 2003-2008 Y. Henel, le TeXnicien de surface +%% %% %% This file may be distributed and/or modified under the conditions of %% the LaTeX Project Public License, either version 1.2 of this license @@ -20,44 +19,62 @@ %% %% and version 1.2 or later is part of all distributions of LaTeX version %% 1999/12/01 or later. -%% -%%% Copyright (C) 2003, 2004 by Yvon Henel -%%% --------------------------------------------------------------- \NeedsTeXFormat{LaTeX2e}[1999/12/01] -\def\fileversion{v1} -\def\filedate{2004/04/17} -\def\fileinfo{fichier engpron.dtx par Le \TeX nicien de surface} +\def\fileversion{v2} +\def\filedate{2008/08/15} +\def\fileinfo{fichier engpron.dtx par Le TeXnicien de surface} \ProvidesPackage{engpron} [\filedate\space\fileversion\space\fileinfo] -\RequirePackage{tipa}[1996/06/10] \RequirePackage{ifthen} -\newboolean{tip@style} \newboolean{b@wild} \newboolean{b@jones} -\newboolean{b@harraps} -\DeclareOption{defaut}{% - \setboolean{tip@style}{false}\setboolean{b@wild}{true}% - \setboolean{b@jones}{true}\setboolean{b@harraps}{false}% -} +\RequirePackage{tipa}[1996/06/10] +\RequirePackage{ifthen} +\newboolean{tip@style} +\newboolean{b@wild} +\newboolean{b@jones} +\newboolean{b@hyphenable} +\newboolean{b@visible} +\newboolean{b@final} +\newboolean{b@nice} +\newboolean{b@drac} \DeclareOption{tipastress}{\setboolean{tip@style}{true}} \DeclareOption{monstress}{\setboolean{tip@style}{false}} \DeclareOption{wild}{\setboolean{b@wild}{true}} \DeclareOption{tame}{\setboolean{b@wild}{false}} -\DeclareOption{jones}{\setboolean{b@jones}{true}% - \setboolean{b@harraps}{false}} -\DeclareOption{harraps}{\setboolean{b@jones}{false}% - \setboolean{b@harraps}{true}} +\DeclareOption{jones}{\setboolean{b@jones}{true}} +\DeclareOption{harraps}{\setboolean{b@jones}{false}} +\DeclareOption{hyphenable}{\setboolean{b@hyphenable}{true}} +\DeclareOption{unhyphenable}{\setboolean{b@hyphenable}{false}} +\DeclareOption{visible}{\setboolean{b@visible}{true}} +\DeclareOption{invisible}{\setboolean{b@visible}{false}} +\DeclareOption{final}{\setboolean{b@final}{true}} +\DeclareOption{draft}{\setboolean{b@final}{false}} +\DeclareOption{nice}{\setboolean{b@nice}{true}} +\DeclareOption{tough}{\setboolean{b@nice}{false}} +\DeclareOption{drac}{\setboolean{b@drac}{true}} +\DeclareOption{nodrac}{\setboolean{b@drac}{false}} \DeclareOption*{\PackageError{engpron}{% - L'option \CurrentOption\space n'est pas connue !\MessageBreak - C'est << monstress >> qui est l'option par d^^e9faut}% - {Choisissez entre << monstress >> (pour un accent tonique gras) - \MessageBreak et << tipastress >> (pour l'accent tonique fourni - par tipa.sty).}} -\ExecuteOptions{defaut} +The option \CurrentOption\space is not known!\MessageBreak +}{% +The possible options are (the first is the default):\MessageBreak +<< monstress >> or << tipastress >>\MessageBreak +<> or <>\MessageBreak +<> or <>\MessageBreak +<> or <>\MessageBreak +<> or <>. +}} +\ExecuteOptions{monstress,wild,jones,unhyphenable,visible,final,nice,drac} \ProcessOptions\relax +\ifthenelse{\boolean{b@drac}}{\RequirePackage{drac}}{} \let\l@viellelivre=\pounds -\newcommand{\EP@ActiveL@Livre}{\catcode `\^^a3=\active} -\newcommand{\ActiveLaLivre}{\EP@ActiveL@Livre\def^^a3##1{\csname - \string^^a3##1\endcsname}} -\newcommand{\makepoundletter}{\catcode`\^^a311\relax} -\newcommand{\makepoundother}{\catcode`\^^a312\relax} +\newcommand{\EP@ActiveL@Livre}{\catcode `\£=\active} +\ifthenelse{\boolean{b@drac}}% + {\newcommand{\ActiveLaLivre}{\EP@ActiveL@Livre% + \ReDeclareRobActChar{£}[1]{\csname \string£##1\endcsname}}} + {\newcommand{\ActiveLaLivre}{\EP@ActiveL@Livre% + \def£##1{\csname\string£##1\endcsname}}} +\newcommand{\makepoundletter}{\catcode`\£11\relax} +\newcommand{\makepoundother}{\catcode`\£12\relax} +\newenvironment{LivreActive}{\ActiveLaLivre}{} +\def\£{\pounds} \newcommand{\EPtextestyle}{\rmfamily\upshape} \newcommand{\EPouvrante}{[} \def\EP@ouvr@nte{\bgroup\EPouvrante} @@ -70,12 +87,22 @@ \def\PRON@UX{\aftergroup\EP@ferm@nte\relax} \newcommand{\EPaccentprincipal}{\,\rule[-0.5ex]{0.5pt}{0.8ex}\,} \newcommand{\EPaccentsecondaire}{\,\rule[0.5ex]{0.5pt}{0.8ex}\,} -\newenvironment{LivreActive}{\ActiveLaLivre}{} -\def\^^a3{\pounds} -\newcommand{\EP@bas}{\EPaccentprincipal} -\newcommand{\EP@haut}{\EPaccentsecondaire} +\newcommand{\EPSyllabeMarque}{.} +\newcommand{\EPSyllabeCoupure}{% + \discretionary{\EPSyllabeMarque}{}{\EPSyllabeMarque}} +\newcommand{\EP@basSans}{\EPaccentprincipal} +\newcommand{\EP@hautSans}{\EPaccentsecondaire} +\newcommand{\EP@basAvec}{% + \discretionary{}{\EPaccentprincipal}{\EPaccentprincipal}} +\newcommand{\EP@hautAvec}{% + \discretionary{}{\EPaccentsecondaire}{\EPaccentsecondaire}} +\ifthenelse{\boolean{b@hyphenable}}{ + \newcommand{\EP@bas}{\EP@basAvec} + \newcommand{\EP@haut}{\EP@hautAvec}}{ + \newcommand{\EP@bas}{\EP@basSans} + \newcommand{\EP@haut}{\EP@hautSans}} \newcommand{\EP@djeu}{d\textyogh} -\newcommand{\EP@icourt}{\i} +\newcommand{\EP@icourt}{\textsci} \newcommand{\EP@ahyi}{a\EP@icourt} \newcommand{\EP@ehyi}{e\EP@icourt} \newcommand{\EP@ohyi}{\textopeno\EP@icourt} @@ -95,71 +122,133 @@ \newcommand{\EP@usfl@ppedt}{\textsubwedge{t}} \newcommand{\EP@usoou}{o\textupsilon} \newcommand{\EP@silent@r}{\textsuperscript{r}} +\ifthenelse{\boolean{b@final}}{% + \newcommand\EP@Erreur@InDoc[1]{\relax}}{% + \newcommand\EP@Erreur@InDoc[1]{% + {\ttfamily\string?\string!<#1>\string!\string?}}} +\ifthenelse{\boolean{b@nice}}{% + \newcommand\EP@Erreur@Carp{% + \PackageWarning{engpron}{% +There is a strange character after K, M, or m +}}}{% +\newcommand\EP@Erreur@Carp{% + \PackageError{engpron}{% +There is a strange character after K, M, or m +}{ +The characters which can be used after a +pound-macro are\MessageBreak +with K: X, k, K, b, B, h, and H\MessageBreak +with M or m: a, e, i, o, u +}}} +\newcommand\EP@Erreur@Msg[2]{\EP@Erreur@InDoc{#1#2}\EP@Erreur@Carp} \def\EP@fr@nn@s@liser{\afterassignment\EP@fr@nn@s@laux\let\tr@@c=} \def\EP@fr@nn@s@laux{% \if\tr@@c i{\~\textepsilon}% - \else - \if \tr@@c a{\~\textscripta}% - \else - \if \tr@@c o{\~\textopeno}% - \else - \if \tr@@c u{\~{\oe}}% - \else \relax - \fi \fi \fi \fi} + \else \if \tr@@c a{\~\textscripta}% + \else \if \tr@@c o{\~\textopeno}% + \else \if \tr@@c u{\~{\oe}}% + \else \EP@Erreur@Msg{M}{\tr@@c}% + \fi \fi \fi \fi} \def\EP@ngln@s@liser{\afterassignment\EP@ngln@s@laux\let\tr@@c=} \def\EP@ngln@s@laux{% \if\tr@@c i{\~{\ae}}% - \else - \if \tr@@c a{\~\textscripta\textlengthmark}% - \else - \if \tr@@c o{\~\textopeno\textlengthmark}% - \else - \if \tr@@c u{\~\textrevepsilon\textlengthmark}% - \else \relax - \fi \fi \fi \fi} + \else \if \tr@@c a{\~\textscripta\textlengthmark}% + \else \if \tr@@c o{\~\textopeno\textlengthmark}% + \else \if \tr@@c u{\~\textrevepsilon\textlengthmark}% + \else \EP@Erreur@Msg{m}{\tr@@c}% + \fi \fi \fi \fi} \def\EP@option@lsound{\afterassignment\EP@option@lsoundaux\let\tr@@c=} \def\EP@option@lsoundaux{% - \if\tr@@c e\textsuperscript{\,\textschwa}% - \else {\textsl{\tr@@c}}\fi} -\ifthenelse{\boolean{b@harraps}}{% + \if\tr@@c e\textsuperscript{\,\textschwa}% + \else {\textsl{\tr@@c}}\fi} +\def\EP@Speci@l{\afterassignment\EP@Speci@laux\let\tr@@c=} +\def\EP@Speci@laux{% + \if\tr@@c k\EPSyllabeMarque% + \else \if \tr@@c K\EPSyllabeCoupure% + \else \if \tr@@c b\EP@basSans% + \else \if \tr@@c B\EP@basAvec% + \else \if \tr@@c h\EP@hautSans% + \else \if \tr@@c H\EP@hautAvec% + \else \if \tr@@c X\discretionary{}{}{}% + \else \EP@Erreur@Msg{K}{\tr@@c}% + \fi \fi \fi \fi \fi \fi \fi} +\ifthenelse{\boolean{b@jones}}{% +}{% \renewcommand{\EP@euou}{\emph{o}} \def\EP@option@lsoundaux{(\tr@@c)} - \renewcommand{\EP@silent@r}{\emph{r}}}{} + \renewcommand{\EP@silent@r}{\emph{r}}} \ifthenelse{\boolean{tip@style}}{% \renewcommand{\EP@bas}{\textsecstress} \renewcommand{\EP@haut}{\textprimstress}}{} +\newcommand\MakeHyphenable{% + \setboolean{b@hyphenable}{true}% + \renewcommand\EP@bas{\EP@basAvec}% + \renewcommand\EP@haut{\EP@hautAvec}% + \ifthenelse{\boolean{b@visible}} + {\renewcommand\EP@SyllabeEffective{\EPSyllabeCoupure}} + {\renewcommand\EP@SyllabeEffective{\discretionary{}{}{}}}% +} +\newcommand\MakeUnHyphenable{% + \setboolean{b@hyphenable}{false}% + \renewcommand\EP@bas{\EP@basSans}% + \renewcommand\EP@haut{\EP@hautSans}% + \ifthenelse{\boolean{b@visible}} + {\renewcommand\EP@SyllabeEffective{\EPSyllabeMarque}} + {\renewcommand\EP@SyllabeEffective{\relax}}% +} +\newcommand\MakeVisible{% + \setboolean{b@visible}{true}% + \ifthenelse{\boolean{b@hyphenable}} + {\renewcommand\EP@SyllabeEffective{\EPSyllabeCoupure}} + {\renewcommand\EP@SyllabeEffective{\EPSyllabeMarque}}% +} +\newcommand\MakeInVisible{% + \setboolean{b@visible}{false}% + \ifthenelse{\boolean{b@hyphenable}} + {\renewcommand\EP@SyllabeEffective{\discretionary{}{}{}}} + {\renewcommand\EP@SyllabeEffective{\relax}}% +} \makepoundletter -\let\^^a3a \ae \let\^^a3A \EP@al@ng -\let\^^a3b \EP@bas \let\^^a3B \EP@bas -\let\^^a3c \textopeno \let\^^a3C \textscripta -\let\^^a3d \EP@djeu %\let\^^a3D -\let\^^a3e \textschwa \let\^^a3E \EP@eul@ng -\let\^^a3f \texttheta %\let\^^a3F -\let\^^a3h \EP@haut \let\^^a3H \EP@haut -\let\^^a3i \EP@icourt \let\^^a3I \EP@il@ng -\let\^^a3j \textyogh %\let\^^a3J -\let\^^a3l \EP@syll@bicl \let\^^a3L \textbeltl -\let\^^a3m \EP@ngln@s@liser \let\^^a3M \EP@fr@nn@s@liser -\let\^^a3n \ng \let\^^a3N \EP@ng@g -\let\^^a3o \textturnscripta \let\^^a3O \EP@ol@ng -\let\^^a3p \EP@ahyi \let\^^a3P \EP@eheu -\let\^^a3q \EP@ehyi \let\^^a3Q \EP@iyeu -\let\^^a3r \EP@ohyi \let\^^a3R \EP@oueu -\let\^^a3s \textesh %\let\^^a3S -\let\^^a3t \EP@tcheu \let\^^a3T \EP@usfl@ppedt -\let\^^a3u \textupsilon \let\^^a3U \EP@ul@ng -\let\^^a3v \textturnv \let\^^a3V \EP@usoou -\let\^^a3w \EP@euou \let\^^a3W \EP@ahou -\let\^^a3x \textrevepsilon \let\^^a3X \EP@option@lsound -\let\^^a3y \textrhookschwa %\let\^^a3Y -\let\^^a3z \dh \let\^^a3Z \EP@silent@r -%%% some other free slots *** quelques cases libres -%%% \let\^^a3g %\let\^^a3G -%%% \let\^^a3k %\let\^^a3K -\catcode `\^^a3=\active -\def^^a3#1{\csname \string^^a3#1\endcsname} +\def\£a{\ae} \def\£A{\EP@al@ng} +\def\£b{\EP@bas} \def\£B{\EP@bas} +\def\£c{\textopeno} \def\£C{\textscripta} +\def\£d{\EP@djeu} +\def\£e{\textschwa} \def\£E{\EP@eul@ng} +\def\£f{\texttheta} +\def\£h{\EP@haut} \def\£H{\EP@haut} +\def\£i{\EP@icourt} \def\£I{\EP@il@ng} +\def\£j{\textyogh} +\def\£l{\EP@syll@bicl} \def\£L{\textbeltl} +\def\£m{\EP@ngln@s@liser} \def\£M{\EP@fr@nn@s@liser} +\def\£n{\ng} \def\£N{\EP@ng@g} +\def\£o{\textturnscripta} \def\£O{\EP@ol@ng} +\def\£p{\EP@ahyi} \def\£P{\EP@eheu} +\def\£q{\EP@ehyi} \def\£Q{\EP@iyeu} +\def\£r{\EP@ohyi} \def\£R{\EP@oueu} +\def\£s{\textesh} +\def\£t{\EP@tcheu} \def\£T{\EP@usfl@ppedt} +\def\£u{\textupsilon} \def\£U{\EP@ul@ng} +\def\£v{\textturnv} \def\£V{\EP@usoou} +\def\£w{\EP@euou} \def\£W{\EP@ahou} +\def\£x{\textrevepsilon} \def\£X{\EP@option@lsound} +\def\£y{\textrhookschwa} +\def\£z{\dh} \def\£Z{\EP@silent@r} +\ifthenelse{\boolean{b@visible}}{% + \ifthenelse{\boolean{b@hyphenable}}{% + \newcommand\EP@SyllabeEffective{\EPSyllabeCoupure}}{% + \newcommand\EP@SyllabeEffective{\EPSyllabeMarque}}}{% + \ifthenelse{\boolean{b@hyphenable}}{% + \newcommand\EP@SyllabeEffective{\discretionary{}{}{}}}{% + \newcommand\EP@SyllabeEffective{\relax}} +} +\def\£k{\EP@SyllabeEffective} +\def\£K{\EP@Speci@l} +\catcode `\£=\active +\ifthenelse{\boolean{b@drac}} + {\DeclareRobustActChar{£}[1]{\csname \string£#1\endcsname}} + {\def£#1{\csname \string£#1\endcsname}} \ifthenelse{\boolean{b@wild}}{}{% -\EP@ActiveL@Livre \global\let^^a3=\l@viellelivre\relax +\EP@ActiveL@Livre \global\let£=\l@viellelivre\relax } \endinput %% -- cgit v1.2.3