From b3dc1b6fdac11d737f34e433fe1e61590466b6a8 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 24 May 2018 21:36:36 +0000 Subject: onedown (24may18) git-svn-id: svn://tug.org/texlive/trunk@47828 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/tex/latex/onedown/ODw-danish.trsl | 158 ++ Master/texmf-dist/tex/latex/onedown/ODw-dutch.trsl | 158 ++ .../texmf-dist/tex/latex/onedown/ODw-english.trsl | 158 ++ .../texmf-dist/tex/latex/onedown/ODw-fallback.trsl | 158 ++ .../texmf-dist/tex/latex/onedown/ODw-french.trsl | 158 ++ .../texmf-dist/tex/latex/onedown/ODw-german.trsl | 158 ++ .../tex/latex/onedown/ODw-norwegian.trsl | 159 ++ .../texmf-dist/tex/latex/onedown/ODw-swedish.trsl | 160 ++ .../texmf-dist/tex/latex/onedown/ODw-turkish.trsl | 158 ++ Master/texmf-dist/tex/latex/onedown/onedown.sty | 2177 ++++++++++++++++++++ 10 files changed, 3602 insertions(+) create mode 100644 Master/texmf-dist/tex/latex/onedown/ODw-danish.trsl create mode 100644 Master/texmf-dist/tex/latex/onedown/ODw-dutch.trsl create mode 100644 Master/texmf-dist/tex/latex/onedown/ODw-english.trsl create mode 100644 Master/texmf-dist/tex/latex/onedown/ODw-fallback.trsl create mode 100644 Master/texmf-dist/tex/latex/onedown/ODw-french.trsl create mode 100644 Master/texmf-dist/tex/latex/onedown/ODw-german.trsl create mode 100644 Master/texmf-dist/tex/latex/onedown/ODw-norwegian.trsl create mode 100644 Master/texmf-dist/tex/latex/onedown/ODw-swedish.trsl create mode 100644 Master/texmf-dist/tex/latex/onedown/ODw-turkish.trsl create mode 100644 Master/texmf-dist/tex/latex/onedown/onedown.sty (limited to 'Master/texmf-dist/tex/latex') diff --git a/Master/texmf-dist/tex/latex/onedown/ODw-danish.trsl b/Master/texmf-dist/tex/latex/onedown/ODw-danish.trsl new file mode 100644 index 00000000000..da30963e6cd --- /dev/null +++ b/Master/texmf-dist/tex/latex/onedown/ODw-danish.trsl @@ -0,0 +1,158 @@ +% this is file ODw-danish.trsl +% +% Entries with a "!" denote an abreviated form +% +%% retrieve with e.g \GetTranslation{dealer-(ODw)} to get givare +% +\ProvideDictionaryFor{danish}{ODw}[V0.4] + +\NewDictTranslation{1st-(ODw)}{1.} +\NewDictTranslation{2nd-(ODw)}{2.} +\NewDictTranslation{3rd-(ODw)}{3.} +\NewDictTranslation{4th-(ODw)}{4.} +\NewDictTranslation{ace-(ODw)}{es} +\NewDictTranslation{Ace-(ODw)}{Es} +\NewDictTranslation{all-(ODw)}{alle} +\NewDictTranslation{All-(ODw)}{Alle} +\NewDictTranslation{all!-(ODw)}{alle} +\NewDictTranslation{All!-(ODw)}{Alle} +\NewDictTranslation{all pass-(ODw)}{alle passer} +\NewDictTranslation{All pass-(ODw)}{Alle passer} +\NewDictTranslation{a-(ODw)}{e} +\NewDictTranslation{A-(ODw)}{E}% Es +%\NewDictTranslation{award-(ODw)}{poäng} +%\NewDictTranslation{Award-(ODw)}{Poäng} +\NewDictTranslation{award-(ODw)}{värdering} +\NewDictTranslation{Award-(ODw)}{Värdering} +\NewDictTranslation{bid-(ODw)}{meldt} +\NewDictTranslation{Bid-(ODw)}{Meldt} +\NewDictTranslation{board-(ODw)}{bræt} +\NewDictTranslation{Board-(ODw)}{Bræt} +\NewDictTranslation{brd-(ODw)}{brt} +\NewDictTranslation{Brd-(ODw)}{Brt} +\NewDictTranslation{by-(ODw)}{af} +\NewDictTranslation{call-(ODw)}{bud} +\NewDictTranslation{Call-(ODw)}{Bud} +\NewDictTranslation{-card-(ODw)}{-kort} +\NewDictTranslation{contract-(ODw)}{kontrakten} +\NewDictTranslation{Contract-(ODw)}{Kontrakten} +\NewDictTranslation{contr-(ODw)}{kontr} +\NewDictTranslation{Contr-(ODw)}{Kontr} +\NewDictTranslation{Dbl-(ODw)}{Dbl} +\NewDictTranslation{dealer-(ODw)}{givet} +\NewDictTranslation{Dealer-(ODw)}{Givet} +\NewDictTranslation{deal-(ODw)}{giv} +\NewDictTranslation{Deal-(ODw)}{Giv} +\NewDictTranslation{deal!-(ODw)}{giv} +\NewDictTranslation{Deal!-(ODw)}{Giv} +\NewDictTranslation{declarer-(ODw)}{spilfører} +\NewDictTranslation{Declarer-(ODw)}{Spilfører} +\NewDictTranslation{decl-(ODw)}{spilf} +\NewDictTranslation{Decl-(ODw)}{Spilf} +\NewDictTranslation{distribution points-(ODw)}{fordelingspoints} +\NewDictTranslation{Distribution Points-(ODw)}{Fordelingspoints} +\NewDictTranslation{doubled-(ODw)}{dubbelt} +\NewDictTranslation{Doubled-(ODw)}{Dubbelt} +\NewDictTranslation{double-(ODw)}{dubbelt} +\NewDictTranslation{Double-(ODw)}{Dubbelt} +\NewDictTranslation{dp-(ODw)}{fp} +\NewDictTranslation{DP-(ODw)}{FP} +\NewDictTranslation{east-(ODw)}{øst} +\NewDictTranslation{East-(ODw)}{Øst} +\NewDictTranslation{e-(ODw)}{ø} +\NewDictTranslation{E-(ODw)}{Ø} +\NewDictTranslation{fourth suit forcing-(ODw)}{fjerde farve forcing} +\NewDictTranslation{Fourth Suit Forcing-(ODw)}{Fjerde Farve Forcing} +\NewDictTranslation{fsf-(ODw)}{4. ff} +\NewDictTranslation{FSF-(ODw)}{4. FF} +\NewDictTranslation{game forcing-(ODw)}{krav till utgång} +\NewDictTranslation{Game Forcing-(ODw)}{Krav till Utgång} +\NewDictTranslation{gf-(ODw)}{ku} +\NewDictTranslation{GF-(ODw)}{KU} +\NewDictTranslation{Hand-(ODw)}{Hånd} +\NewDictTranslation{hand-(ODw)}{hånd} +\NewDictTranslation{hcp-(ODw)}{hp} +\NewDictTranslation{HCP-(ODw)}{HP} +\NewDictTranslation{high card points-(ODw)}{honnørpoints} +\NewDictTranslation{High Card Points-(ODw)}{Honnørpoints} +\NewDictTranslation{jack-(ODw)}{knægt} +\NewDictTranslation{Jack-(ODw)}{Knægt} +\NewDictTranslation{j-(ODw)}{kn} +\NewDictTranslation{J-(ODw)}{\mbox{K\kern-0.08emn}} +\NewDictTranslation{king-(ODw)}{konge} +\NewDictTranslation{King-(ODw)}{Konge} +\NewDictTranslation{k-(ODw)}{k} +\NewDictTranslation{K-(ODw)}{K} +\NewDictTranslation{lead!-(ODw)}{udsp.} +\NewDictTranslation{Lead!-(ODw)}{Udsp.} +\NewDictTranslation{Lead-(ODw)}{Udspillet} +\NewDictTranslation{lead-(ODw)}{udspillet} +\NewDictTranslation{length points-(ODw)}{længepoints} +\NewDictTranslation{Length Points-(ODw)}{Længepoints} +\NewDictTranslation{lp-(ODw)}{lp} +\NewDictTranslation{LP-(ODw)}{LP} +\NewDictTranslation{n-(ODw)}{n} +\NewDictTranslation{N-(ODw)}{N} +\NewDictTranslation{new minor forcing-(ODw)}{nye minor forcing} +\NewDictTranslation{New Minor Forcing-(ODw)}{Nye Minor Forcing} +\NewDictTranslation{nmf-(ODw)}{nmf} +\NewDictTranslation{NMF-(ODw)}{NMF} +\NewDictTranslation{none-(ODw)}{ingen} +\NewDictTranslation{None-(ODw)}{Ingen} +\NewDictTranslation{none!-(ODw)}{ingen} +\NewDictTranslation{None!-(ODw)}{Ingen} +\NewDictTranslation{north-(ODw)}{norr} +\NewDictTranslation{North-(ODw)}{Norr} +\NewDictTranslation{no trump-(ODw)}{uden trumf} +\NewDictTranslation{No Trump-(ODw)}{Uden Trumf} +\NewDictTranslation{Nr-(ODw)}{\textnumero} +\NewDictTranslation{Nr.-(ODw)}{\textnumero.} +\NewDictTranslation{NT-(ODw)}{U\kern-0.01emT}%Uden Trumf +\NewDictTranslation{nt-(ODw)}{ut} +\NewDictTranslation{pass-(ODw)}{pas} +\NewDictTranslation{Pass-(ODw)}{Pas} +\NewDictTranslation{pass!-(ODw)}{pas} +\NewDictTranslation{Pass!-(ODw)}{Pas} +\NewDictTranslation{q-(ODw)}{d} +\NewDictTranslation{Q-(ODw)}{D} +\NewDictTranslation{queen-(ODw)}{dame} +\NewDictTranslation{Queen-(ODw)}{Dame} +\NewDictTranslation{ReDbl-(ODw)}{ReDbl} +\NewDictTranslation{redoubled-(ODw)}{redubbelt} +\NewDictTranslation{Redoubled-(ODw)}{Redubbelt} +\NewDictTranslation{redouble-(ODw)}{redubbelt} +\NewDictTranslation{Redouble-(ODw)}{Redubbelt} +\NewDictTranslation{semi forcing-(ODw)}{semi forcing} +\NewDictTranslation{Semi Forcing-(ODw)}{Semi Forcing} +\NewDictTranslation{sf-(ODw)}{sf} +\NewDictTranslation{SF-(ODw)}{SF} +\NewDictTranslation{s-(ODw)}{s} +\NewDictTranslation{S-(ODw)}{S} +\NewDictTranslation{south-(ODw)}{syd} +\NewDictTranslation{South-(ODw)}{Syd} +\NewDictTranslation{suiter-(ODw)}{farver} +\NewDictTranslation{Suiter-(ODw)}{Farver} +\NewDictTranslation{suit-(ODw)}{farve} +\NewDictTranslation{Suit-(ODw)}{Farve} +\NewDictTranslation{third suit forcing-(ODw)}{tredje farve forcing} +\NewDictTranslation{Third Suit Forcing-(ODw)}{Tredje Farve Forcing} +\NewDictTranslation{total points-(ODw)}{total points} +\NewDictTranslation{Total Points-(ODw)}{Total Points} +\NewDictTranslation{tp-(ODw)}{sp} +\NewDictTranslation{TP-(ODw)}{SP} +\NewDictTranslation{trial bid-(ODw)}{trial bid} +\NewDictTranslation{Trial bid-(ODw)}{Trial bid} +\NewDictTranslation{trick-(ODw)}{træk} +\NewDictTranslation{Trick-(ODw)}{Træk} +\NewDictTranslation{tsf-(ODw)}{3. ff} +\NewDictTranslation{TSF-(ODw)}{3. FF} +\NewDictTranslation{vulnerable-(ODw)}{sårbar} +\NewDictTranslation{Vulnerable-(ODw)}{Sårbar} +\NewDictTranslation{vul-(ODw)}{sår} +\NewDictTranslation{Vul-(ODw)}{Sår} +\NewDictTranslation{west-(ODw)}{vest} +\NewDictTranslation{West-(ODw)}{Vest} +\NewDictTranslation{w-(ODw)}{v} +\NewDictTranslation{W-(ODw)}{V} +% +\endinput diff --git a/Master/texmf-dist/tex/latex/onedown/ODw-dutch.trsl b/Master/texmf-dist/tex/latex/onedown/ODw-dutch.trsl new file mode 100644 index 00000000000..9fa9333af18 --- /dev/null +++ b/Master/texmf-dist/tex/latex/onedown/ODw-dutch.trsl @@ -0,0 +1,158 @@ +% this is file ODw-dutch.trsl from the OneDown bundle +% +% Entries with a "!" denote an abreviated form +% +% retrieve with e.g. \GetTranslation{dealer-(ODw)} to get dealer +% +\ProvideDictionaryFor{dutch}{ODw}[V0.4] + +\NewDictTranslation{1st-(ODw)}{1ste} +\NewDictTranslation{2nd-(ODw)}{2de} +\NewDictTranslation{3rd-(ODw)}{3de} +\NewDictTranslation{4th-(ODw)}{4de} +\NewDictTranslation{ace-(ODw)}{aas} +\NewDictTranslation{Ace-(ODw)}{Aas} +\NewDictTranslation{all-(ODw)}{alle} +\NewDictTranslation{All-(ODw)}{Alle} +\NewDictTranslation{all!-(ODw)}{alle} +\NewDictTranslation{All!-(ODw)}{Alle} +\NewDictTranslation{all pass-(ODw)}{allen passen} +\NewDictTranslation{All pass-(ODw)}{Allen passen} +\NewDictTranslation{a-(ODw)}{a} +\NewDictTranslation{A-(ODw)}{A} +\NewDictTranslation{ap-(ODw)}{ap} +\NewDictTranslation{AP-(ODw)}{AP} +\NewDictTranslation{award-(ODw)}{beloning} +\NewDictTranslation{Award-(ODw)}{Beloning} +\NewDictTranslation{bid-(ODw)}{bod} +\NewDictTranslation{Bid-(ODw)}{Bod} +\NewDictTranslation{board-(ODw)}{spel} +\NewDictTranslation{Board-(ODw)}{Spel} +\NewDictTranslation{brd-(ODw)}{spel} +\NewDictTranslation{Brd-(ODw)}{Spel} +\NewDictTranslation{by-(ODw)}{door} +\NewDictTranslation{call-(ODw)}{bod} +\NewDictTranslation{Call-(ODw)}{Bod} +\NewDictTranslation{-card-(ODw)}{-kaart} +\NewDictTranslation{contract-(ODw)}{contract} +\NewDictTranslation{Contract-(ODw)}{Contract} +\NewDictTranslation{contr-(ODw)}{contr} +\NewDictTranslation{Contr-(ODw)}{Contr} +\NewDictTranslation{Dbl-(ODw)}{Dbl} +\NewDictTranslation{dealer-(ODw)}{gever} +\NewDictTranslation{Dealer-(ODw)}{Gever} +\NewDictTranslation{deal-(ODw)}{spel} +\NewDictTranslation{Deal-(ODw)}{Spel} +\NewDictTranslation{deal!-(ODw)}{spel} +\NewDictTranslation{Deal!-(ODw)}{Spel} +\NewDictTranslation{declarer-(ODw)}{leider} +\NewDictTranslation{Declarer-(ODw)}{Leider} +\NewDictTranslation{decl-(ODw)}{leider} +\NewDictTranslation{Decl-(ODw)}{Leider} +\NewDictTranslation{distribution points-(ODw)}{distributie punten} +\NewDictTranslation{Distribution Points-(ODw)}{Distributie Punten} +\NewDictTranslation{doubled-(ODw)}{gedoubleerd} +\NewDictTranslation{Doubled-(ODw)}{Gedoubleerd} +\NewDictTranslation{double-(ODw)}{doublet} +\NewDictTranslation{Double-(ODw)}{Doublet} +\NewDictTranslation{dp-(ODw)}{dp} +\NewDictTranslation{DP-(ODw)}{DP} +\NewDictTranslation{east-(ODw)}{oost} +\NewDictTranslation{East-(ODw)}{Oost} +\NewDictTranslation{e-(ODw)}{o} +\NewDictTranslation{E-(ODw)}{O} +\NewDictTranslation{fourth suit forcing-(ODw)}{vierde kleur forcing} +\NewDictTranslation{Fourth Suit Forcing-(ODw)}{Vierde Kleur Forcing} +\NewDictTranslation{fsf-(ODw)}{4de kc} +\NewDictTranslation{FSF-(ODw)}{4de KV} +\NewDictTranslation{game forcing-(ODw)}{manche forcing} +\NewDictTranslation{Game Forcing-(ODw)}{Manche Forcing} +\NewDictTranslation{gf-(ODw)}{mf} +\NewDictTranslation{GF-(ODw)}{MF} +\NewDictTranslation{hand-(ODw)}{hand} +\NewDictTranslation{Hand-(ODw)}{Hand} +\NewDictTranslation{hcp-(ODw)}{hp} +\NewDictTranslation{HCP-(ODw)}{HP} +\NewDictTranslation{high card points-(ODw)}{hoge punten} +\NewDictTranslation{High Card Points-(ODw)}{Hoge Punten} +\NewDictTranslation{jack-(ODw)}{boer} +\NewDictTranslation{Jack-(ODw)}{Boer} +\NewDictTranslation{j-(ODw)}{b} +\NewDictTranslation{J-(ODw)}{B} +\NewDictTranslation{king-(ODw)}{heer} +\NewDictTranslation{King-(ODw)}{Heer} +\NewDictTranslation{k-(ODw)}{h} +\NewDictTranslation{K-(ODw)}{H} +\NewDictTranslation{lead!-(ODw)}{uitk.} +\NewDictTranslation{Lead!-(ODw)}{Uitk.} +\NewDictTranslation{lead-(ODw)}{uitkomst} +\NewDictTranslation{Lead-(ODw)}{Uitkomst} +\NewDictTranslation{length points-(ODw)}{lengte punten} +\NewDictTranslation{Length Points-(ODw)}{Lengte Punten} +\NewDictTranslation{lp-(ODw)}{lp} +\NewDictTranslation{LP-(ODw)}{LP} +\NewDictTranslation{new minor forcing-(ODw)}{nieuwe lage kleur forcing} +\NewDictTranslation{New Minor Forcing-(ODw)}{Nieuwe Lage Kleur Forcing} +\NewDictTranslation{nmf-(ODw)}{nlf} +\NewDictTranslation{NMF-(ODw)}{NLF} +\NewDictTranslation{n-(ODw)}{n} +\NewDictTranslation{N-(ODw)}{N} +\NewDictTranslation{none-(ODw)}{geen} +\NewDictTranslation{None-(ODw)}{Geen} +\NewDictTranslation{none!-(ODw)}{geen} +\NewDictTranslation{None!-(ODw)}{Geen} +\NewDictTranslation{north-(ODw)}{noord} +\NewDictTranslation{North-(ODw)}{Noord} +\NewDictTranslation{no trump-(ODw)}{sans atout} +\NewDictTranslation{No Trump-(ODw)}{Sans Atout} +\NewDictTranslation{Nr-(ODw)}{\textnumero} +\NewDictTranslation{Nr.-(ODw)}{\textnumero.} +\NewDictTranslation{nt-(ODw)}{sa} +\NewDictTranslation{NT-(ODw)}{S\kern-0.01emA} +\NewDictTranslation{pass-(ODw)}{pas} +\NewDictTranslation{Pass-(ODw)}{Pas} +\NewDictTranslation{pass!-(ODw)}{pas} +\NewDictTranslation{Pass!-(ODw)}{Pas} +\NewDictTranslation{q-(ODw)}{v} +\NewDictTranslation{Q-(ODw)}{V} +\NewDictTranslation{queen-(ODw)}{vrouw} +\NewDictTranslation{Queen-(ODw)}{Vrouw} +\NewDictTranslation{ReDbl-(ODw)}{ReDbl} +\NewDictTranslation{redoubled-(ODw)}{geredoubleerd} +\NewDictTranslation{Redoubled-(ODw)}{Geredoubleerd} +\NewDictTranslation{redouble-(ODw)}{redoublet} +\NewDictTranslation{Redouble-(ODw)}{Redoublet} +\NewDictTranslation{semi forcing-(ODw)}{semi-mancheforcing} +\NewDictTranslation{Semi Forcing-(ODw)}{Semi-MancheForcing} +\NewDictTranslation{sf-(ODw)}{sf} +\NewDictTranslation{SF-(ODw)}{SF} +\NewDictTranslation{s-(ODw)}{z} +\NewDictTranslation{S-(ODw)}{Z} +\NewDictTranslation{south-(ODw)}{zuid} +\NewDictTranslation{South-(ODw)}{Zuid} +\NewDictTranslation{suiter-(ODw)}{kleurenspel} +\NewDictTranslation{Suiter-(ODw)}{Kleurenspel} +\NewDictTranslation{suit-(ODw)}{kleur} +\NewDictTranslation{Suit-(ODw)}{Kleur} +\NewDictTranslation{third suit forcing-(ODw)}{derde kleur forcing} +\NewDictTranslation{Third Suit Forcing-(ODw)}{Derde Kleur Forcing} +\NewDictTranslation{total points-(ODw)}{totaal punten} +\NewDictTranslation{Total Points-(ODw)}{Totaal Punten} +\NewDictTranslation{tp-(ODw)}{tp} +\NewDictTranslation{TP-(ODw)}{TP} +\NewDictTranslation{trial bid-(ODw)}{help bod} +\NewDictTranslation{Trial bid-(ODw)}{Help bod} +\NewDictTranslation{trick-(ODw)}{slag} +\NewDictTranslation{Trick-(ODw)}{Slag} +\NewDictTranslation{tsf-(ODw)}{3de kf} +\NewDictTranslation{TSF-(ODw)}{3de KF} +\NewDictTranslation{vulnerable-(ODw)}{kwetsbaar} +\NewDictTranslation{Vulnerable-(ODw)}{Kwetsbaar} +\NewDictTranslation{vul-(ODw)}{kwetsb} +\NewDictTranslation{Vul-(ODw)}{Kwetsb} +\NewDictTranslation{west-(ODw)}{west} +\NewDictTranslation{West-(ODw)}{West} +\NewDictTranslation{w-(ODw)}{w} +\NewDictTranslation{W-(ODw)}{W} +% +\endinput diff --git a/Master/texmf-dist/tex/latex/onedown/ODw-english.trsl b/Master/texmf-dist/tex/latex/onedown/ODw-english.trsl new file mode 100644 index 00000000000..3806b2dce73 --- /dev/null +++ b/Master/texmf-dist/tex/latex/onedown/ODw-english.trsl @@ -0,0 +1,158 @@ +% this is file ODw-english.trsl from the OneDown bundle +% +% Entries with a "!" denote an abreviated form +% +% retrieve with e.g. \GetTranslation{dealer-(ODw)} to get dealer +% +\ProvideDictionaryFor{english}{ODw}[V0.4] + +\NewDictTranslation{1st-(ODw)}{1st} +\NewDictTranslation{2nd-(ODw)}{2nd} +\NewDictTranslation{3rd-(ODw)}{3rd} +\NewDictTranslation{4th-(ODw)}{4th} +\NewDictTranslation{ace-(ODw)}{ace} +\NewDictTranslation{Ace-(ODw)}{Ace} +\NewDictTranslation{all-(ODw)}{all} +\NewDictTranslation{All-(ODw)}{All} +\NewDictTranslation{all!-(ODw)}{all} +\NewDictTranslation{All!-(ODw)}{All} +\NewDictTranslation{all pass-(ODw)}{all pass} +\NewDictTranslation{All pass-(ODw)}{All pass} +\NewDictTranslation{a-(ODw)}{a} +\NewDictTranslation{A-(ODw)}{A} +\NewDictTranslation{ap-(ODw)}{ap} +\NewDictTranslation{AP-(ODw)}{AP} +\NewDictTranslation{Award-(ODw)}{Award} +\NewDictTranslation{award-(ODw)}{award}% = points you earn in a quiz +\NewDictTranslation{Bid-(ODw)}{Bid} +\NewDictTranslation{bid-(ODw)}{bid}% = e.g. 2C, 4H or 6NT +\NewDictTranslation{Board-(ODw)}{Board} +\NewDictTranslation{board-(ODw)}{board}% = equipment that holds 1 deal +\NewDictTranslation{Brd-(ODw)}{Brd} +\NewDictTranslation{brd-(ODw)}{brd}% = equipment that holds 1 deal +\NewDictTranslation{by-(ODw)}{by} +\NewDictTranslation{Call-(ODw)}{Call} +\NewDictTranslation{call-(ODw)}{call}% = bid + pass, (re)double +\NewDictTranslation{-card-(ODw)}{-card} +\NewDictTranslation{contract-(ODw)}{contract} +\NewDictTranslation{Contract-(ODw)}{Contract} +\NewDictTranslation{contr-(ODw)}{contr} +\NewDictTranslation{Contr-(ODw)}{Contr} +\NewDictTranslation{Dbl-(ODw)}{Dbl} +\NewDictTranslation{dealer-(ODw)}{dealer} +\NewDictTranslation{Dealer-(ODw)}{Dealer} +\NewDictTranslation{Deal-(ODw)}{Deal} +\NewDictTranslation{Deal!-(ODw)}{Deal} +\NewDictTranslation{deal-(ODw)}{deal}% = 4 hands +\NewDictTranslation{deal!-(ODw)}{deal}% = 4 hands +\NewDictTranslation{declarer-(ODw)}{declarer} +\NewDictTranslation{Declarer-(ODw)}{Declarer} +\NewDictTranslation{decl-(ODw)}{decl} +\NewDictTranslation{Decl-(ODw)}{Decl} +\NewDictTranslation{distribution points-(ODw)}{distribution points} +\NewDictTranslation{Distribution Points-(ODw)}{Distribution Points} +\NewDictTranslation{doubled-(ODw)}{doubled} +\NewDictTranslation{Doubled-(ODw)}{Doubled} +\NewDictTranslation{double-(ODw)}{double} +\NewDictTranslation{Double-(ODw)}{Double} +\NewDictTranslation{dp-(ODw)}{dp} +\NewDictTranslation{DP-(ODw)}{DP} +\NewDictTranslation{east-(ODw)}{east} +\NewDictTranslation{East-(ODw)}{East} +\NewDictTranslation{e-(ODw)}{e} +\NewDictTranslation{E-(ODw)}{E} +\NewDictTranslation{fourth suit forcing-(ODw)}{fourth suit forcing} +\NewDictTranslation{Fourth Suit Forcing-(ODw)}{Fourth Suit Forcing} +\NewDictTranslation{fsf-(ODw)}{4th sf} +\NewDictTranslation{FSF-(ODw)}{4th SF} +\NewDictTranslation{game forcing-(ODw)}{game forcing} +\NewDictTranslation{Game Forcing-(ODw)}{Game Forcing} +\NewDictTranslation{gf-(ODw)}{gf} +\NewDictTranslation{GF-(ODw)}{GF} +\NewDictTranslation{Hand-(ODw)}{Hand} +\NewDictTranslation{hand-(ODw)}{hand}% = 13 cards of 1 player +\NewDictTranslation{hcp-(ODw)}{hcp} +\NewDictTranslation{HCP-(ODw)}{HCP} +\NewDictTranslation{high card points-(ODw)}{high card points} +\NewDictTranslation{High Card Points-(ODw)}{High Card Points} +\NewDictTranslation{jack-(ODw)}{jack} +\NewDictTranslation{Jack-(ODw)}{Jack} +\NewDictTranslation{j-(ODw)}{j} +\NewDictTranslation{J-(ODw)}{J} +\NewDictTranslation{king-(ODw)}{king} +\NewDictTranslation{King-(ODw)}{King} +\NewDictTranslation{k-(ODw)}{k} +\NewDictTranslation{K-(ODw)}{K} +\NewDictTranslation{lead-(ODw)}{lead} +\NewDictTranslation{Lead-(ODw)}{Lead} +\NewDictTranslation{lead!-(ODw)}{lead} +\NewDictTranslation{Lead!-(ODw)}{Lead} +\NewDictTranslation{length points-(ODw)}{length points} +\NewDictTranslation{Length Points-(ODw)}{Length Points} +\NewDictTranslation{lp-(ODw)}{lp} +\NewDictTranslation{LP-(ODw)}{LP} +\NewDictTranslation{new minor forcing-(ODw)}{new minor forcing} +\NewDictTranslation{New Minor Forcing-(ODw)}{New Minor Forcing} +\NewDictTranslation{nmf-(ODw)}{nmf} +\NewDictTranslation{NMF-(ODw)}{NMF} +\NewDictTranslation{n-(ODw)}{n} +\NewDictTranslation{N-(ODw)}{N} +\NewDictTranslation{none-(ODw)}{none} +\NewDictTranslation{None-(ODw)}{None} +\NewDictTranslation{none!-(ODw)}{none} +\NewDictTranslation{None!-(ODw)}{None} +\NewDictTranslation{north-(ODw)}{north} +\NewDictTranslation{North-(ODw)}{North} +\NewDictTranslation{no trump-(ODw)}{no trump} +\NewDictTranslation{No Trump-(ODw)}{No Trump} +\NewDictTranslation{Nr-(ODw)}{\textnumero} +\NewDictTranslation{Nr.-(ODw)}{\textnumero.} +\NewDictTranslation{NT-(ODw)}{N\kern-0.07emT} +\NewDictTranslation{nt-(ODw)}{nt} +\NewDictTranslation{pass-(ODw)}{pass} +\NewDictTranslation{Pass-(ODw)}{Pass} +\NewDictTranslation{pass!-(ODw)}{pass} +\NewDictTranslation{Pass!-(ODw)}{Pass} +\NewDictTranslation{q-(ODw)}{q} +\NewDictTranslation{Q-(ODw)}{Q} +\NewDictTranslation{queen-(ODw)}{queen} +\NewDictTranslation{Queen-(ODw)}{Queen} +\NewDictTranslation{ReDbl-(ODw)}{ReDbl} +\NewDictTranslation{redoubled-(ODw)}{redoubled} +\NewDictTranslation{Redoubled-(ODw)}{Redoubled} +\NewDictTranslation{redouble-(ODw)}{redouble} +\NewDictTranslation{ReDouble-(ODw)}{ReDouble} +\NewDictTranslation{semi forcing-(ODw)}{semi forcing} +\NewDictTranslation{Semi Forcing-(ODw)}{Semi Forcing} +\NewDictTranslation{sf-(ODw)}{sf} +\NewDictTranslation{SF-(ODw)}{SF} +\NewDictTranslation{s-(ODw)}{s} +\NewDictTranslation{S-(ODw)}{S} +\NewDictTranslation{south-(ODw)}{south} +\NewDictTranslation{South-(ODw)}{South} +\NewDictTranslation{suiter-(ODw)}{suiter} +\NewDictTranslation{Suiter-(ODw)}{Suiter} +\NewDictTranslation{suit-(ODw)}{suit} +\NewDictTranslation{Suit-(ODw)}{Suit} +\NewDictTranslation{third suit forcing-(ODw)}{third suit forcing} +\NewDictTranslation{Third Suit Forcing-(ODw)}{Third Suit Forcing} +\NewDictTranslation{total points-(ODw)}{total points} +\NewDictTranslation{Total Points-(ODw)}{Total Points} +\NewDictTranslation{tp-(ODw)}{tp} +\NewDictTranslation{TP-(ODw)}{TP} +\NewDictTranslation{trial bid-(ODw)}{trial bid} +\NewDictTranslation{Trial bid-(ODw)}{Trial bid} +\NewDictTranslation{trick-(ODw)}{trick} +\NewDictTranslation{Trick-(ODw)}{Trick} +\NewDictTranslation{tsf-(ODw)}{3rd sf} +\NewDictTranslation{TSF-(ODw)}{3rd SF} +\NewDictTranslation{vulnerable-(ODw)}{vulnerable} +\NewDictTranslation{Vulnerable-(ODw)}{Vulnerable} +\NewDictTranslation{vul-(ODw)}{vul} +\NewDictTranslation{Vul-(ODw)}{Vul} +\NewDictTranslation{west-(ODw)}{west} +\NewDictTranslation{West-(ODw)}{West} +\NewDictTranslation{w-(ODw)}{w} +\NewDictTranslation{W-(ODw)}{W} +% +\endinput diff --git a/Master/texmf-dist/tex/latex/onedown/ODw-fallback.trsl b/Master/texmf-dist/tex/latex/onedown/ODw-fallback.trsl new file mode 100644 index 00000000000..e889919ba82 --- /dev/null +++ b/Master/texmf-dist/tex/latex/onedown/ODw-fallback.trsl @@ -0,0 +1,158 @@ +% this is file ODw-fallback.trsl from the OneDown bundle +% +% Entries with a "!" denote an abreviated form +% +% retrieve with e.g. \GetTranslation{dealer-(ODw)} to get dealer +% +\ProvideDictionaryFor{fallback}{ODw}[V0.4] + +\NewDictTranslation{1st-(ODw)}{1st} +\NewDictTranslation{2nd-(ODw)}{2nd} +\NewDictTranslation{3rd-(ODw)}{3rd} +\NewDictTranslation{4th-(ODw)}{4th} +\NewDictTranslation{ace-(ODw)}{ace} +\NewDictTranslation{Ace-(ODw)}{Ace} +\NewDictTranslation{all-(ODw)}{all} +\NewDictTranslation{All-(ODw)}{All} +\NewDictTranslation{all!-(ODw)}{all} +\NewDictTranslation{All!-(ODw)}{All} +\NewDictTranslation{all pass-(ODw)}{all pass} +\NewDictTranslation{All pass-(ODw)}{All pass} +\NewDictTranslation{a-(ODw)}{a} +\NewDictTranslation{A-(ODw)}{A} +\NewDictTranslation{ap-(ODw)}{ap} +\NewDictTranslation{AP-(ODw)}{AP} +\NewDictTranslation{Award-(ODw)}{Award} +\NewDictTranslation{award-(ODw)}{award}% = points you earn in a quiz +\NewDictTranslation{Bid-(ODw)}{Bid} +\NewDictTranslation{bid-(ODw)}{bid}% = e.g. 2C, 4H or 6NT +\NewDictTranslation{Board-(ODw)}{Board} +\NewDictTranslation{board-(ODw)}{board}% = equipment that holds 1 deal +\NewDictTranslation{Brd-(ODw)}{Brd} +\NewDictTranslation{brd-(ODw)}{brd}% = equipment that holds 1 deal +\NewDictTranslation{by-(ODw)}{by} +\NewDictTranslation{Call-(ODw)}{Call} +\NewDictTranslation{call-(ODw)}{call}% = bid + pass, (re)double +\NewDictTranslation{-card-(ODw)}{-card} +\NewDictTranslation{contract-(ODw)}{contract} +\NewDictTranslation{Contract-(ODw)}{Contract} +\NewDictTranslation{contr-(ODw)}{contr} +\NewDictTranslation{Contr-(ODw)}{Contr} +\NewDictTranslation{Dbl-(ODw)}{Dbl} +\NewDictTranslation{dealer-(ODw)}{dealer} +\NewDictTranslation{Dealer-(ODw)}{Dealer} +\NewDictTranslation{Deal-(ODw)}{Deal} +\NewDictTranslation{Deal!-(ODw)}{Deal} +\NewDictTranslation{deal-(ODw)}{deal}% = 4 hands +\NewDictTranslation{deal!-(ODw)}{deal}% = 4 hands +\NewDictTranslation{declarer-(ODw)}{declarer} +\NewDictTranslation{Declarer-(ODw)}{Declarer} +\NewDictTranslation{decl-(ODw)}{decl} +\NewDictTranslation{Decl-(ODw)}{Decl} +\NewDictTranslation{distribution points-(ODw)}{distribution points} +\NewDictTranslation{Distribution Points-(ODw)}{Distribution Points} +\NewDictTranslation{doubled-(ODw)}{doubled} +\NewDictTranslation{Doubled-(ODw)}{Doubled} +\NewDictTranslation{double-(ODw)}{double} +\NewDictTranslation{Double-(ODw)}{Double} +\NewDictTranslation{dp-(ODw)}{dp} +\NewDictTranslation{DP-(ODw)}{DP} +\NewDictTranslation{east-(ODw)}{east} +\NewDictTranslation{East-(ODw)}{East} +\NewDictTranslation{e-(ODw)}{e} +\NewDictTranslation{E-(ODw)}{E} +\NewDictTranslation{fourth suit forcing-(ODw)}{fourth suit forcing} +\NewDictTranslation{Fourth Suit Forcing-(ODw)}{Fourth Suit Forcing} +\NewDictTranslation{fsf-(ODw)}{4th sf} +\NewDictTranslation{FSF-(ODw)}{4th SF} +\NewDictTranslation{game forcing-(ODw)}{game forcing} +\NewDictTranslation{Game Forcing-(ODw)}{Game Forcing} +\NewDictTranslation{gf-(ODw)}{gf} +\NewDictTranslation{GF-(ODw)}{GF} +\NewDictTranslation{Hand-(ODw)}{Hand} +\NewDictTranslation{hand-(ODw)}{hand}% = 13 cards of 1 player +\NewDictTranslation{hcp-(ODw)}{hcp} +\NewDictTranslation{HCP-(ODw)}{HCP} +\NewDictTranslation{high card points-(ODw)}{high card points} +\NewDictTranslation{High Card Points-(ODw)}{High Card Points} +\NewDictTranslation{jack-(ODw)}{jack} +\NewDictTranslation{Jack-(ODw)}{Jack} +\NewDictTranslation{j-(ODw)}{j} +\NewDictTranslation{J-(ODw)}{J} +\NewDictTranslation{king-(ODw)}{king} +\NewDictTranslation{King-(ODw)}{King} +\NewDictTranslation{k-(ODw)}{k} +\NewDictTranslation{K-(ODw)}{K} +\NewDictTranslation{lead-(ODw)}{lead} +\NewDictTranslation{Lead-(ODw)}{Lead} +\NewDictTranslation{lead!-(ODw)}{lead} +\NewDictTranslation{Lead!-(ODw)}{Lead} +\NewDictTranslation{length points-(ODw)}{length points} +\NewDictTranslation{Length Points-(ODw)}{Length Points} +\NewDictTranslation{lp-(ODw)}{lp} +\NewDictTranslation{LP-(ODw)}{LP} +\NewDictTranslation{new minor forcing-(ODw)}{new minor forcing} +\NewDictTranslation{New Minor Forcing-(ODw)}{New Minor Forcing} +\NewDictTranslation{nmf-(ODw)}{nmf} +\NewDictTranslation{NMF-(ODw)}{NMF} +\NewDictTranslation{n-(ODw)}{n} +\NewDictTranslation{N-(ODw)}{N} +\NewDictTranslation{none-(ODw)}{none} +\NewDictTranslation{None-(ODw)}{None} +\NewDictTranslation{none!-(ODw)}{none} +\NewDictTranslation{None!-(ODw)}{None} +\NewDictTranslation{north-(ODw)}{north} +\NewDictTranslation{North-(ODw)}{North} +\NewDictTranslation{no trump-(ODw)}{no trump} +\NewDictTranslation{No Trump-(ODw)}{No Trump} +\NewDictTranslation{Nr-(ODw)}{\textnumero} +\NewDictTranslation{Nr.-(ODw)}{\textnumero.} +\NewDictTranslation{NT-(ODw)}{N\kern-0.07emT} +\NewDictTranslation{nt-(ODw)}{nt} +\NewDictTranslation{pass-(ODw)}{pass} +\NewDictTranslation{Pass-(ODw)}{Pass} +\NewDictTranslation{pass!-(ODw)}{pass} +\NewDictTranslation{Pass!-(ODw)}{Pass} +\NewDictTranslation{q-(ODw)}{q} +\NewDictTranslation{Q-(ODw)}{Q} +\NewDictTranslation{queen-(ODw)}{queen} +\NewDictTranslation{Queen-(ODw)}{Queen} +\NewDictTranslation{ReDbl-(ODw)}{ReDbl} +\NewDictTranslation{redoubled-(ODw)}{redoubled} +\NewDictTranslation{Redoubled-(ODw)}{Redoubled} +\NewDictTranslation{redouble-(ODw)}{redouble} +\NewDictTranslation{ReDouble-(ODw)}{ReDouble} +\NewDictTranslation{semi forcing-(ODw)}{semi forcing} +\NewDictTranslation{Semi Forcing-(ODw)}{Semi Forcing} +\NewDictTranslation{sf-(ODw)}{sf} +\NewDictTranslation{SF-(ODw)}{SF} +\NewDictTranslation{s-(ODw)}{s} +\NewDictTranslation{S-(ODw)}{S} +\NewDictTranslation{south-(ODw)}{south} +\NewDictTranslation{South-(ODw)}{South} +\NewDictTranslation{suiter-(ODw)}{suiter} +\NewDictTranslation{Suiter-(ODw)}{Suiter} +\NewDictTranslation{suit-(ODw)}{suit} +\NewDictTranslation{Suit-(ODw)}{Suit} +\NewDictTranslation{third suit forcing-(ODw)}{third suit forcing} +\NewDictTranslation{Third Suit Forcing-(ODw)}{Third Suit Forcing} +\NewDictTranslation{total points-(ODw)}{total points} +\NewDictTranslation{Total Points-(ODw)}{Total Points} +\NewDictTranslation{tp-(ODw)}{tp} +\NewDictTranslation{TP-(ODw)}{TP} +\NewDictTranslation{trial bid-(ODw)}{trial bid} +\NewDictTranslation{Trial bid-(ODw)}{Trial bid} +\NewDictTranslation{trick-(ODw)}{trick} +\NewDictTranslation{Trick-(ODw)}{Trick} +\NewDictTranslation{tsf-(ODw)}{3rd sf} +\NewDictTranslation{TSF-(ODw)}{3rd SF} +\NewDictTranslation{vulnerable-(ODw)}{vulnerable} +\NewDictTranslation{Vulnerable-(ODw)}{Vulnerable} +\NewDictTranslation{vul-(ODw)}{vul} +\NewDictTranslation{Vul-(ODw)}{Vul} +\NewDictTranslation{west-(ODw)}{west} +\NewDictTranslation{West-(ODw)}{West} +\NewDictTranslation{w-(ODw)}{w} +\NewDictTranslation{W-(ODw)}{W} +% +\endinput diff --git a/Master/texmf-dist/tex/latex/onedown/ODw-french.trsl b/Master/texmf-dist/tex/latex/onedown/ODw-french.trsl new file mode 100644 index 00000000000..ea0e9fb94a4 --- /dev/null +++ b/Master/texmf-dist/tex/latex/onedown/ODw-french.trsl @@ -0,0 +1,158 @@ +% this is file ODw-french.trsl from the OneDown bundle +% +% Entries with a "!" denote an abreviated form +% +% retrieve with e.g. \GetTranslation{dealer-(ODw)} to get donneur +% +\ProvideDictionaryFor{french}{ODw}[V0.4] + +\NewDictTranslation{1st-(ODw)}{1er} +\NewDictTranslation{2nd-(ODw)}{2e} +\NewDictTranslation{3rd-(ODw)}{3e} +\NewDictTranslation{4th-(ODw)}{4e} +\NewDictTranslation{ace-(ODw)}{as} +\NewDictTranslation{Ace-(ODw)}{As} +\NewDictTranslation{all-(ODw)}{tous} +\NewDictTranslation{All-(ODw)}{Tous} +\NewDictTranslation{all!-(ODw)}{tous} +\NewDictTranslation{All!-(ODw)}{Tous} +\NewDictTranslation{all pass-(ODw)}{tous passent} +\NewDictTranslation{All pass-(ODw)}{Tous passent} +\NewDictTranslation{a-(ODw)}{a} +\NewDictTranslation{A-(ODw)}{A} +\NewDictTranslation{ap-(ODw)}{tp} +\NewDictTranslation{AP-(ODw)}{TP} +\NewDictTranslation{award-(ODw)}{prix} +\NewDictTranslation{Award-(ODw)}{Prix} +\NewDictTranslation{bid-(ODw)}{enchère} +\NewDictTranslation{Bid-(ODw)}{Enchère} +\NewDictTranslation{board-(ODw)}{etui} +\NewDictTranslation{Board-(ODw)}{Etui} +\NewDictTranslation{brd-(ODw)}{bte} +\NewDictTranslation{Brd-(ODw)}{Bte} +\NewDictTranslation{by-(ODw)}{pour} +\NewDictTranslation{call-(ODw)}{annonce} +\NewDictTranslation{Call-(ODw)}{Annonce} +\NewDictTranslation{-card-(ODw)}{-carte} +\NewDictTranslation{contract-(ODw)}{contrat} +\NewDictTranslation{Contract-(ODw)}{Contrat} +\NewDictTranslation{contr-(ODw)}{contr} +\NewDictTranslation{Contr-(ODw)}{Contr} +\NewDictTranslation{Dbl-(ODw)}{Ctr} +\NewDictTranslation{dealer-(ODw)}{donneur} +\NewDictTranslation{Dealer-(ODw)}{Donneur} +\NewDictTranslation{deal!-(ODw)}{donne} +\NewDictTranslation{Deal!-(ODw)}{Donne} +\NewDictTranslation{deal-(ODw)}{donne} +\NewDictTranslation{Deal-(ODw)}{Donne} +\NewDictTranslation{declarer-(ODw)}{déclarant} +\NewDictTranslation{Declarer-(ODw)}{Déclarant} +\NewDictTranslation{decl-(ODw)}{décl} +\NewDictTranslation{Decl-(ODw)}{Décl} +\NewDictTranslation{distribution points-(ODw)}{points de Distribution} +\NewDictTranslation{Distribution Points-(ODw)}{Points de Distribution} +\NewDictTranslation{doubled-(ODw)}{contré} +\NewDictTranslation{Doubled-(ODw)}{Contré} +\NewDictTranslation{double-(ODw)}{contre} +\NewDictTranslation{Double-(ODw)}{Contre} +\NewDictTranslation{dp-(ODw)}{pd} +\NewDictTranslation{DP-(ODw)}{PD} +\NewDictTranslation{east-(ODw)}{est} +\NewDictTranslation{East-(ODw)}{Est} +\NewDictTranslation{e-(ODw)}{e} +\NewDictTranslation{E-(ODw)}{E} +\NewDictTranslation{fourth suit forcing-(ODw)}{quatrième couleur forcing} +\NewDictTranslation{Fourth Suit Forcing-(ODw)}{Quatrième Couleur Forcing} +\NewDictTranslation{fsf-(ODw)}{4e cf} +\NewDictTranslation{FSF-(ODw)}{4e CF} +\NewDictTranslation{game forcing-(ODw)}{forcing de manche} +\NewDictTranslation{Game Forcing-(ODw)}{Forcing de Manche} +\NewDictTranslation{GF-(ODw)}{FM} +\NewDictTranslation{gf-(ODw)}{gf} +\NewDictTranslation{hand-(ODw)}{main} +\NewDictTranslation{Hand-(ODw)}{Main} +\NewDictTranslation{hcp-(ODw)}{ph} +\NewDictTranslation{HCP-(ODw)}{PH} +\NewDictTranslation{high card points-(ODw)}{points d'honneurs} +\NewDictTranslation{High Card Points-(ODw)}{Points d'Honneurs} +\NewDictTranslation{jack-(ODw)}{valet} +\NewDictTranslation{Jack-(ODw)}{Valet} +\NewDictTranslation{j-(ODw)}{v} +\NewDictTranslation{J-(ODw)}{V} +\NewDictTranslation{king-(ODw)}{roi} +\NewDictTranslation{King-(ODw)}{Roi} +\NewDictTranslation{k-(ODw)}{r} +\NewDictTranslation{K-(ODw)}{R} +\NewDictTranslation{lead!-(ODw)}{ent.} +\NewDictTranslation{Lead!-(ODw)}{Ent.} +\NewDictTranslation{lead-(ODw)}{entame} +\NewDictTranslation{Lead-(ODw)}{Entame} +\NewDictTranslation{length points-(ODw)}{points de longueur} +\NewDictTranslation{Length Points-(ODw)}{Points de Longueur} +\NewDictTranslation{lp-(ODw)}{pl} +\NewDictTranslation{LP-(ODw)}{PL} +\NewDictTranslation{new minor forcing-(ODw)}{nouvelle mineure forcing} +\NewDictTranslation{New Minor Forcing-(ODw)}{Nouvelle Mineure Forcing} +\NewDictTranslation{nmf-(ODw)}{nmf} +\NewDictTranslation{NMF-(ODw)}{NMF} +\NewDictTranslation{n-(ODw)}{n} +\NewDictTranslation{N-(ODw)}{N} +\NewDictTranslation{none-(ODw)}{aucun} +\NewDictTranslation{None-(ODw)}{Aucun} +\NewDictTranslation{none!-(ODw)}{aucun} +\NewDictTranslation{None!-(ODw)}{Aucun} +\NewDictTranslation{north-(ODw)}{nord} +\NewDictTranslation{North-(ODw)}{Nord} +\NewDictTranslation{no trump-(ODw)}{sans atout} +\NewDictTranslation{No Trump-(ODw)}{Sans Atout} +\NewDictTranslation{Nr-(ODw)}{\textnumero} +\NewDictTranslation{Nr.-(ODw)}{\textnumero.} +\NewDictTranslation{nt-(ODw)}{sa} +\NewDictTranslation{NT-(ODw)}{S\kern-0.01emA} +\NewDictTranslation{pass-(ODw)}{passe} +\NewDictTranslation{Pass-(ODw)}{Passe} +\NewDictTranslation{pass!-(ODw)}{passe} +\NewDictTranslation{Pass!-(ODw)}{Passe} +\NewDictTranslation{q-(ODw)}{d} +\NewDictTranslation{Q-(ODw)}{D} +\NewDictTranslation{queen-(ODw)}{dame} +\NewDictTranslation{Queen-(ODw)}{Dame} +\NewDictTranslation{ReDbl-(ODw)}{SurC} +\NewDictTranslation{redoubled-(ODw)}{surcontré} +\NewDictTranslation{Redoubled-(ODw)}{Surcontré} +\NewDictTranslation{redouble-(ODw)}{surcontre} +\NewDictTranslation{Redouble-(ODw)}{Surcontre} +\NewDictTranslation{semi forcing-(ODw)}{semi forcing} +\NewDictTranslation{Semi Forcing-(ODw)}{Semi Forcing} +\NewDictTranslation{SF-(ODw)}{SF} +\NewDictTranslation{sf-(ODw)}{sf} +\NewDictTranslation{s-(ODw)}{s} +\NewDictTranslation{S-(ODw)}{S} +\NewDictTranslation{south-(ODw)}{sud} +\NewDictTranslation{South-(ODw)}{Sud} +\NewDictTranslation{suiter-(ODw)}{colore} +\NewDictTranslation{Suiter-(ODw)}{Colore} +\NewDictTranslation{suit-(ODw)}{couleur} +\NewDictTranslation{Suit-(ODw)}{Couleur} +\NewDictTranslation{third suit forcing-(ODw)}{troisième couleur forcing} +\NewDictTranslation{Third Suit Forcing-(ODw)}{Troisième Couleur Forcing} +\NewDictTranslation{total points-(ODw)}{points total} +\NewDictTranslation{Total Points-(ODw)}{Points Total} +\NewDictTranslation{TP-(ODw)}{PT} +\NewDictTranslation{tp-(ODw)}{tp} +\NewDictTranslation{trial bid-(ODw)}{trial bid} +\NewDictTranslation{Trial bid-(ODw)}{Trial bid} +\NewDictTranslation{trick-(ODw)}{levée} +\NewDictTranslation{Trick-(ODw)}{Levée} +\NewDictTranslation{tsf-(ODw)}{3e cf} +\NewDictTranslation{TSF-(ODw)}{3e CF} +\NewDictTranslation{vulnerable-(ODw)}{vulnérable} +\NewDictTranslation{Vulnerable-(ODw)}{Vulnérable} +\NewDictTranslation{vul-(ODw)}{vul} +\NewDictTranslation{Vul-(ODw)}{Vul} +\NewDictTranslation{west-(ODw)}{ouest} +\NewDictTranslation{West-(ODw)}{Ouest} +\NewDictTranslation{w-(ODw)}{o} +\NewDictTranslation{W-(ODw)}{O} +% +\endinput diff --git a/Master/texmf-dist/tex/latex/onedown/ODw-german.trsl b/Master/texmf-dist/tex/latex/onedown/ODw-german.trsl new file mode 100644 index 00000000000..9f2e86753e1 --- /dev/null +++ b/Master/texmf-dist/tex/latex/onedown/ODw-german.trsl @@ -0,0 +1,158 @@ +% this is file ODw-german.trsl from the OneDown bundle +% +% Entries with a "!" denote an abreviated form +% +% retrieve with e.g. \GetTranslation{dealer-(ODw)} to get teiler +% +\ProvideDictionaryFor{german}{ODw}[V0.4] + +\NewDictTranslation{1st-(ODw)}{1.} +\NewDictTranslation{2nd-(ODw)}{2.} +\NewDictTranslation{3rd-(ODw)}{3.} +\NewDictTranslation{4th-(ODw)}{4.} +\NewDictTranslation{ace-(ODw)}{ass} +\NewDictTranslation{Ace-(ODw)}{Ass} +\NewDictTranslation{all-(ODw)}{alle} +\NewDictTranslation{All-(ODw)}{Alle} +\NewDictTranslation{all!-(ODw)}{alle} +\NewDictTranslation{All!-(ODw)}{Alle} +\NewDictTranslation{all pass-(ODw)}{alle passen} +\NewDictTranslation{All pass-(ODw)}{Alle passen} +\NewDictTranslation{a-(ODw)}{a} +\NewDictTranslation{A-(ODw)}{A} +\NewDictTranslation{ap-(ODw)}{ap} +\NewDictTranslation{AP-(ODw)}{AP} +\NewDictTranslation{award-(ODw)}{Bewertung} +\NewDictTranslation{Award-(ODw)}{Bewertung} +\NewDictTranslation{bid-(ODw)}{gebot} +\NewDictTranslation{Bid-(ODw)}{Gebot} +\NewDictTranslation{board-(ODw)}{board} +\NewDictTranslation{Board-(ODw)}{Board} +\NewDictTranslation{brd-(ODw)}{brd} +\NewDictTranslation{Brd-(ODw)}{Brd} +\NewDictTranslation{by-(ODw)}{von} +\NewDictTranslation{call-(ODw)}{ansage} +\NewDictTranslation{Call-(ODw)}{Ansage} +\NewDictTranslation{-card-(ODw)}{er} +\NewDictTranslation{contract-(ODw)}{kontrakt} +\NewDictTranslation{Contract-(ODw)}{Kontrakt} +\NewDictTranslation{contr-(ODw)}{kontr} +\NewDictTranslation{Contr-(ODw)}{Kontr} +\NewDictTranslation{Dbl-(ODw)}{Kontra} +\NewDictTranslation{dealer-(ODw)}{teiler} +\NewDictTranslation{Dealer-(ODw)}{Teiler} +\NewDictTranslation{deal!-(ODw)}{aust} +\NewDictTranslation{Deal!-(ODw)}{Aust} +\NewDictTranslation{deal-(ODw)}{austeilung} +\NewDictTranslation{Deal-(ODw)}{Austeilung} +\NewDictTranslation{declarer-(ODw)}{alleinspieler} +\NewDictTranslation{Declarer-(ODw)}{Alleinspieler} +\NewDictTranslation{decl-(ODw)}{alleinsp} +\NewDictTranslation{Decl-(ODw)}{Alleinsp} +\NewDictTranslation{distribution points-(ODw)}{verteilungspunkte} +\NewDictTranslation{Distribution Points-(ODw)}{Verteilungspunkte} +\NewDictTranslation{doubled-(ODw)}{kontriert} +\NewDictTranslation{Doubled-(ODw)}{Kontriert} +\NewDictTranslation{double-(ODw)}{kontra} +\NewDictTranslation{Double-(ODw)}{Kontra} +\NewDictTranslation{dp-(ODw)}{v} +\NewDictTranslation{DP-(ODw)}{V} +\NewDictTranslation{east-(ODw)}{ost} +\NewDictTranslation{East-(ODw)}{Ost} +\NewDictTranslation{e-(ODw)}{o} +\NewDictTranslation{E-(ODw)}{O} +\NewDictTranslation{fourth suit forcing-(ODw)}{vierte farbe forcing} +\NewDictTranslation{Fourth Suit Forcing-(ODw)}{Vierte Farbe Forcing} +\NewDictTranslation{fsf-(ODw)}{4. farbe forcing} +\NewDictTranslation{FSF-(ODw)}{4. Farbe forcing} +\NewDictTranslation{game forcing-(ODw)}{partie forcing} +\NewDictTranslation{Game Forcing-(ODw)}{Partie Forcing} +\NewDictTranslation{gf-(ODw)}{pf} +\NewDictTranslation{GF-(ODw)}{PF} +\NewDictTranslation{hand-(ODw)}{blatt} +\NewDictTranslation{Hand-(ODw)}{Blatt} +\NewDictTranslation{hcp-(ODw)}{fp} +\NewDictTranslation{HCP-(ODw)}{FP} +\NewDictTranslation{high card points-(ODw)}{figuren-punkte} +\NewDictTranslation{High Card Points-(ODw)}{Figuren-Punkte} +\NewDictTranslation{jack-(ODw)}{bube} +\NewDictTranslation{Jack-(ODw)}{Bube} +\NewDictTranslation{j-(ODw)}{b} +\NewDictTranslation{J-(ODw)}{B} +\NewDictTranslation{king-(ODw)}{könig} +\NewDictTranslation{King-(ODw)}{König} +\NewDictTranslation{k-(ODw)}{k} +\NewDictTranslation{K-(ODw)}{K} +\NewDictTranslation{lead!-(ODw)}{aussp.} +\NewDictTranslation{Lead!-(ODw)}{Aussp.} +\NewDictTranslation{lead-(ODw)}{ausspiel} +\NewDictTranslation{Lead-(ODw)}{Ausspiel} +\NewDictTranslation{length points-(ODw)}{längenpunkte} +\NewDictTranslation{Length Points-(ODw)}{Längenpunkte} +\NewDictTranslation{lp-(ODw)}{fl} +\NewDictTranslation{LP-(ODw)}{FL} +\NewDictTranslation{new minor forcing-(ODw)}{neue unterfarbe forcing} +\NewDictTranslation{New Minor Forcing-(ODw)}{Neue Unterfarbe Forcing} +\NewDictTranslation{nmf-(ODw)}{nuf} +\NewDictTranslation{NMF-(ODw)}{NUF} +\NewDictTranslation{n-(ODw)}{n} +\NewDictTranslation{N-(ODw)}{N} +\NewDictTranslation{none-(ODw)}{keiner} +\NewDictTranslation{None-(ODw)}{Keiner} +\NewDictTranslation{none!-(ODw)}{keiner} +\NewDictTranslation{None!-(ODw)}{Keiner} +\NewDictTranslation{north-(ODw)}{nord} +\NewDictTranslation{North-(ODw)}{Nord} +\NewDictTranslation{no trump-(ODw)}{sans atout} +\NewDictTranslation{No Trump-(ODw)}{Sans Atout} +\NewDictTranslation{Nr-(ODw)}{\textnumero} +\NewDictTranslation{Nr.-(ODw)}{\textnumero.} +\NewDictTranslation{nt-(ODw)}{sa} +\NewDictTranslation{NT-(ODw)}{S\kern-0.01emA} +\NewDictTranslation{pass-(ODw)}{passe} +\NewDictTranslation{Pass-(ODw)}{Passe} +\NewDictTranslation{pass!-(ODw)}{passe} +\NewDictTranslation{Pass!-(ODw)}{Passe} +\NewDictTranslation{q-(ODw)}{d} +\NewDictTranslation{Q-(ODw)}{D} +\NewDictTranslation{queen-(ODw)}{dame} +\NewDictTranslation{Queen-(ODw)}{Dame} +\NewDictTranslation{ReDbl-(ODw)}{ReKontra} +\NewDictTranslation{redoubled-(ODw)}{rekontriert} +\NewDictTranslation{Redoubled-(ODw)}{Rekontriert} +\NewDictTranslation{redouble-(ODw)}{rekontra} +\NewDictTranslation{Redouble-(ODw)}{Rekontra} +\NewDictTranslation{semi forcing-(ODw)}{semi forcing} +\NewDictTranslation{Semi Forcing-(ODw)}{Semi Forcing} +\NewDictTranslation{sf-(ODw)}{sf} +\NewDictTranslation{SF-(ODw)}{SF} +\NewDictTranslation{s-(ODw)}{s} +\NewDictTranslation{S-(ODw)}{S} +\NewDictTranslation{south-(ODw)}{süd} +\NewDictTranslation{South-(ODw)}{Süd} +\NewDictTranslation{suiter-(ODw)}{färber} +\NewDictTranslation{Suiter-(ODw)}{Färber} +\NewDictTranslation{suit-(ODw)}{farbe} +\NewDictTranslation{Suit-(ODw)}{Farbe} +\NewDictTranslation{third suit forcing-(ODw)}{dritte farbe forcing} +\NewDictTranslation{Third Suit Forcing-(ODw)}{Dritte Farbe Forcing} +\NewDictTranslation{total points-(ODw)}{figuren-verteilungspunkte} +\NewDictTranslation{Total Points-(ODw)}{Figuren-Verteilungspunkte} +\NewDictTranslation{tp-(ODw)}{fv} +\NewDictTranslation{TP-(ODw)}{FV} +\NewDictTranslation{trial bid-(ODw)}{versuchsgebot} +\NewDictTranslation{Trial bid-(ODw)}{Versuchsgebot} +\NewDictTranslation{trick-(ODw)}{stich} +\NewDictTranslation{Trick-(ODw)}{Stich} +\NewDictTranslation{tsf-(ODw)}{3. farbe forcing} +\NewDictTranslation{TSF-(ODw)}{3. Farbe Forcing} +\NewDictTranslation{vulnerable-(ODw)}{gefahr} +\NewDictTranslation{Vulnerable-(ODw)}{Gefahr} +\NewDictTranslation{vul-(ODw)}{gef} +\NewDictTranslation{Vul-(ODw)}{Gef} +\NewDictTranslation{west-(ODw)}{west} +\NewDictTranslation{West-(ODw)}{West} +\NewDictTranslation{w-(ODw)}{w} +\NewDictTranslation{W-(ODw)}{W} +% +\endinput diff --git a/Master/texmf-dist/tex/latex/onedown/ODw-norwegian.trsl b/Master/texmf-dist/tex/latex/onedown/ODw-norwegian.trsl new file mode 100644 index 00000000000..d0975002594 --- /dev/null +++ b/Master/texmf-dist/tex/latex/onedown/ODw-norwegian.trsl @@ -0,0 +1,159 @@ +% this is file ODw-norsk.trsl from the OneDown bundle +% Entries with a "!" denote an abreviated form +% Thanks to Gunnar & Anne +% +% retrieve with e.g \GetTranslation{dealer-(ODw)} to get givare +% +\ProvideDictionaryFor{norwegian}{ODw}[V0.4] +%\ProvideDictionaryFor{norsk}{ODw}[V0.4] + +\NewDictTranslation{1st-(ODw)}{1.} +\NewDictTranslation{2nd-(ODw)}{2.} +\NewDictTranslation{3rd-(ODw)}{3.} +\NewDictTranslation{4th-(ODw)}{4.} +\NewDictTranslation{ace-(ODw)}{ess} +\NewDictTranslation{Ace-(ODw)}{Ess} +\NewDictTranslation{all-(ODw)}{alle} +\NewDictTranslation{All-(ODw)}{Alle} +\NewDictTranslation{all!-(ODw)}{alle} +\NewDictTranslation{All!-(ODw)}{Alle} +\NewDictTranslation{all pass-(ODw)}{pass rundt} +\NewDictTranslation{All pass-(ODw)}{Pass rundt} +\NewDictTranslation{a-(ODw)}{e} +\NewDictTranslation{A-(ODw)}{E} +%\NewDictTranslation{award-(ODw)}{poeng} +%\NewDictTranslation{Award-(ODw)}{Poeng} +\NewDictTranslation{award-(ODw)}{vurdering} +\NewDictTranslation{Award-(ODw)}{Vurdering} +\NewDictTranslation{bid-(ODw)}{bud} +\NewDictTranslation{Bid-(ODw)}{Bud} +\NewDictTranslation{board-(ODw)}{spill} +\NewDictTranslation{Board-(ODw)}{Spill} +\NewDictTranslation{brd-(ODw)}{spill} +\NewDictTranslation{Brd-(ODw)}{Spill} +\NewDictTranslation{by-(ODw)}{ved} +\NewDictTranslation{call-(ODw)}{bud} +\NewDictTranslation{Call-(ODw)}{Bud} +\NewDictTranslation{-card-(ODw)}{-kortfarger} +\NewDictTranslation{contract-(ODw)}{kontrakt} +\NewDictTranslation{Contract-(ODw)}{Kontrakt} +\NewDictTranslation{contr-(ODw)}{kontr} +\NewDictTranslation{Contr-(ODw)}{Kontr} +\NewDictTranslation{Dbl-(ODw)}{Dbl} +\NewDictTranslation{dealer-(ODw)}{giver} +\NewDictTranslation{Dealer-(ODw)}{Giver} +\NewDictTranslation{deal-(ODw)}{giv} +\NewDictTranslation{Deal-(ODw)}{Giv} +\NewDictTranslation{deal!-(ODw)}{giv} +\NewDictTranslation{Deal!-(ODw)}{Giv} +\NewDictTranslation{declarer-(ODw)}{spilleförer} +\NewDictTranslation{Declarer-(ODw)}{Spilleförer} +\NewDictTranslation{decl-(ODw)}{spför} +\NewDictTranslation{Decl-(ODw)}{Spför} +\NewDictTranslation{distribution points-(ODw)}{trumfpoeng} +\NewDictTranslation{Distribution Points-(ODw)}{Trumfpoeng} +\NewDictTranslation{doubled-(ODw)}{doblet} +\NewDictTranslation{Doubled-(ODw)}{Doblet} +\NewDictTranslation{double-(ODw)}{doblet} +\NewDictTranslation{Double-(ODw)}{Doblet} +\NewDictTranslation{dp-(ODw)}{tp} +\NewDictTranslation{DP-(ODw)}{TP} +\NewDictTranslation{east-(ODw)}{øst} +\NewDictTranslation{East-(ODw)}{Øst} +\NewDictTranslation{e-(ODw)}{ø} +\NewDictTranslation{E-(ODw)}{Ø} +\NewDictTranslation{fourth suit forcing-(ODw)}{fjerde farge forcing} +\NewDictTranslation{Fourth Suit Forcing-(ODw)}{Fjerde Farge Forcing} +\NewDictTranslation{fsf-(ODw)}{4. ff} +\NewDictTranslation{FSF-(ODw)}{4. FF} +\NewDictTranslation{game forcing-(ODw)}{utgangskrav} +\NewDictTranslation{Game Forcing-(ODw)}{UtgangsKrav} +\NewDictTranslation{gf-(ODw)}{uk} +\NewDictTranslation{GF-(ODw)}{UK} +\NewDictTranslation{Hand-(ODw)}{Hånd} +\NewDictTranslation{hand-(ODw)}{hånd} +\NewDictTranslation{hcp-(ODw)}{hp} +\NewDictTranslation{HCP-(ODw)}{HP} +\NewDictTranslation{high card points-(ODw)}{høy kort poeng} +\NewDictTranslation{High Card Points-(ODw)}{høy Kort Poeng} +\NewDictTranslation{jack-(ODw)}{knekt} +\NewDictTranslation{Jack-(ODw)}{Knekt} +\NewDictTranslation{J-(ODw)}{\mbox{K\kern-0.08emn}} +\NewDictTranslation{j-(ODw)}{\mbox{kn}} +\NewDictTranslation{king-(ODw)}{konge} +\NewDictTranslation{King-(ODw)}{Konge} +\NewDictTranslation{k-(ODw)}{k} +\NewDictTranslation{K-(ODw)}{K} +\NewDictTranslation{lead!-(ODw)}{utsp.} +\NewDictTranslation{Lead!-(ODw)}{Utsp.} +\NewDictTranslation{lead-(ODw)}{utspill} +\NewDictTranslation{Lead-(ODw)}{Utspill} +\NewDictTranslation{length points-(ODw)}{lengde poeng} +\NewDictTranslation{Length Points-(ODw)}{Lengde Poeng} +\NewDictTranslation{lp-(ODw)}{lp} +\NewDictTranslation{LP-(ODw)}{LP} +\NewDictTranslation{new minor forcing-(ODw)}{nye minor krav} +\NewDictTranslation{New Minor Forcing-(ODw)}{Nye Minor Krav} +\NewDictTranslation{nmf-(ODw)}{nmk} +\NewDictTranslation{NMF-(ODw)}{NMK} +\NewDictTranslation{n-(ODw)}{n} +\NewDictTranslation{N-(ODw)}{N} +\NewDictTranslation{none!-(ODw)}{ing} +\NewDictTranslation{None!-(ODw)}{Ing} +\NewDictTranslation{none-(ODw)}{ingen} +\NewDictTranslation{None-(ODw)}{Ingen} +\NewDictTranslation{north-(ODw)}{nord} +\NewDictTranslation{North-(ODw)}{Nord} +\NewDictTranslation{no trump-(ODw)}{uten trumf} +\NewDictTranslation{No Trump-(ODw)}{Uten Trumf} +\NewDictTranslation{Nr-(ODw)}{\textnumero} +\NewDictTranslation{Nr.-(ODw)}{\textnumero.} +\NewDictTranslation{NT-(ODw)}{N\kern-0.07emT} +\NewDictTranslation{nt-(ODw)}{nt} +\NewDictTranslation{pass-(ODw)}{pass} +\NewDictTranslation{Pass-(ODw)}{Pass} +\NewDictTranslation{pass!-(ODw)}{pass} +\NewDictTranslation{Pass!-(ODw)}{Pass} +\NewDictTranslation{q-(ODw)}{d} +\NewDictTranslation{Q-(ODw)}{D} +\NewDictTranslation{queen-(ODw)}{dame} +\NewDictTranslation{Queen-(ODw)}{Dame} +\NewDictTranslation{ReDbl-(ODw)}{ReDbl} +\NewDictTranslation{redoubled-(ODw)}{redoblet} +\NewDictTranslation{Redoubled-(ODw)}{Redoblet} +\NewDictTranslation{redouble-(ODw)}{redoblet} +\NewDictTranslation{Redouble-(ODw)}{Redoblet} +\NewDictTranslation{semi forcing-(ODw)}{RundKrav} +\NewDictTranslation{Semi Forcing-(ODw)}{RundKrav} +\NewDictTranslation{sf-(ODw)}{rk} +\NewDictTranslation{SF-(ODw)}{RK} +\NewDictTranslation{s-(ODw)}{s} +\NewDictTranslation{S-(ODw)}{S} +\NewDictTranslation{south-(ODw)}{syd} +\NewDictTranslation{South-(ODw)}{Syd} +\NewDictTranslation{suiter-(ODw)}{farger} +\NewDictTranslation{Suiter-(ODw)}{Farger} +\NewDictTranslation{suit-(ODw)}{farge} +\NewDictTranslation{Suit-(ODw)}{Farge} +\NewDictTranslation{third suit forcing-(ODw)}{tredje farge forcing} +\NewDictTranslation{Third Suit Forcing-(ODw)}{Tredje Farge Forcing} +\NewDictTranslation{total points-(ODw)}{totalt poeng} +\NewDictTranslation{Total Points-(ODw)}{Totalt Poeng} +\NewDictTranslation{tp-(ODw)}{sp} +\NewDictTranslation{TP-(ODw)}{SP} +\NewDictTranslation{trial bid-(ODw)}{prøving bud} +\NewDictTranslation{Trial bid-(ODw)}{Prøving bud} +\NewDictTranslation{trick-(ODw)}{trekk} +\NewDictTranslation{Trick-(ODw)}{Trekk} +\NewDictTranslation{tsf-(ODw)}{3. ff} +\NewDictTranslation{TSF-(ODw)}{3. FF} +\NewDictTranslation{vulnerable-(ODw)}{sone} +\NewDictTranslation{Vulnerable-(ODw)}{Sone} +\NewDictTranslation{vul-(ODw)}{sone} +\NewDictTranslation{Vul-(ODw)}{Sone} +\NewDictTranslation{west-(ODw)}{vest} +\NewDictTranslation{West-(ODw)}{Vest} +\NewDictTranslation{w-(ODw)}{v} +\NewDictTranslation{W-(ODw)}{V} +% +\endinput diff --git a/Master/texmf-dist/tex/latex/onedown/ODw-swedish.trsl b/Master/texmf-dist/tex/latex/onedown/ODw-swedish.trsl new file mode 100644 index 00000000000..ec0d4d269d2 --- /dev/null +++ b/Master/texmf-dist/tex/latex/onedown/ODw-swedish.trsl @@ -0,0 +1,160 @@ +% this is file ODw-swedish.trsl from the OneDown bundle +% +% Entries with a "!" denote an abreviated form +% Thanks to Per Karlberg +% retrieve with e.g \GetTranslation{dealer-(ODw)} to get givare +% +\ProvideDictionaryFor{swedish}{ODw}[V0.4] + +\NewDictTranslation{1st-(ODw)}{1:a} +\NewDictTranslation{2nd-(ODw)}{2:a} +\NewDictTranslation{3rd-(ODw)}{3:e} +\NewDictTranslation{4th-(ODw)}{4:e} +\NewDictTranslation{ace-(ODw)}{äss} +\NewDictTranslation{Ace-(ODw)}{Äss} +\NewDictTranslation{all-(ODw)}{alla} +\NewDictTranslation{All-(ODw)}{Alla} +\NewDictTranslation{all!-(ODw)}{alla} +\NewDictTranslation{All!-(ODw)}{Alla} +\NewDictTranslation{all pass-(ODw)}{alla passet} +\NewDictTranslation{All pass-(ODw)}{Alla passet} +\NewDictTranslation{a-(ODw)}{ä} +\NewDictTranslation{A-(ODw)}{Ä} +\NewDictTranslation{ap-(ODw)}{ap} +\NewDictTranslation{AP-(ODw)}{AP} +%\NewDictTranslation{award-(ODw)}{poäng} +%\NewDictTranslation{Award-(ODw)}{Poäng} +\NewDictTranslation{award-(ODw)}{värdering} +\NewDictTranslation{Award-(ODw)}{Värdering} +\NewDictTranslation{bid-(ODw)}{bud} +\NewDictTranslation{Bid-(ODw)}{Bud} +\NewDictTranslation{board-(ODw)}{bricka} +\NewDictTranslation{Board-(ODw)}{Bricka} +\NewDictTranslation{brd-(ODw)}{brck} +\NewDictTranslation{Brd-(ODw)}{Brck} +\NewDictTranslation{by-(ODw)}{per} +\NewDictTranslation{call-(ODw)}{bud} +\NewDictTranslation{Call-(ODw)}{Bud} +\NewDictTranslation{-card-(ODw)}{-kort} +\NewDictTranslation{contract-(ODw)}{kontrakt} +\NewDictTranslation{Contract-(ODw)}{Kontrakt} +\NewDictTranslation{contr-(ODw)}{kontr} +\NewDictTranslation{Contr-(ODw)}{Kontr} +\NewDictTranslation{Dbl-(ODw)}{Dbl} +\NewDictTranslation{dealer-(ODw)}{givare} +\NewDictTranslation{Dealer-(ODw)}{Givare} +\NewDictTranslation{deal-(ODw)}{giv} +\NewDictTranslation{Deal-(ODw)}{Giv} +\NewDictTranslation{deal!-(ODw)}{giv} +\NewDictTranslation{Deal!-(ODw)}{Giv} +\NewDictTranslation{declarer-(ODw)}{spelförare} +\NewDictTranslation{Declarer-(ODw)}{Spelförare} +\NewDictTranslation{decl-(ODw)}{spför} +\NewDictTranslation{Decl-(ODw)}{Spför} +\NewDictTranslation{distribution points-(ODw)}{fördelningpoints} +\NewDictTranslation{Distribution Points-(ODw)}{Fördelningpoints} +\NewDictTranslation{doubled-(ODw)}{dubbelt} +\NewDictTranslation{Doubled-(ODw)}{Dubbelt} +\NewDictTranslation{double-(ODw)}{dubbelt} +\NewDictTranslation{Double-(ODw)}{Dubbelt} +\NewDictTranslation{dp-(ODw)}{fp} +\NewDictTranslation{DP-(ODw)}{FP} +\NewDictTranslation{east-(ODw)}{öst} +\NewDictTranslation{East-(ODw)}{Öst} +\NewDictTranslation{e-(ODw)}{ö} +\NewDictTranslation{E-(ODw)}{Ö} +\NewDictTranslation{fourth suit forcing-(ODw)}{fjärde farve forcing} +\NewDictTranslation{Fourth Suit Forcing-(ODw)}{Fjärde Farve Forcing} +\NewDictTranslation{fsf-(ODw)}{4:e ff} +\NewDictTranslation{FSF-(ODw)}{4:e FF} +\NewDictTranslation{game forcing-(ODw)}{krav till udgang} +\NewDictTranslation{Game Forcing-(ODw)}{Krav till Udgang} +\NewDictTranslation{gf-(ODw)}{ku} +\NewDictTranslation{GF-(ODw)}{KU} +\NewDictTranslation{Hand-(ODw)}{Hand} +\NewDictTranslation{hand-(ODw)}{hand} +\NewDictTranslation{hcp-(ODw)}{hp} +\NewDictTranslation{HCP-(ODw)}{HP} +\NewDictTranslation{high card points-(ODw)}{Honnørpoints} +\NewDictTranslation{High Card Points-(ODw)}{honnørpoints} +\NewDictTranslation{jack-(ODw)}{knekt} +\NewDictTranslation{Jack-(ODw)}{Knekt} +\NewDictTranslation{j-(ODw)}{kn} +\NewDictTranslation{J-(ODw)}{\mbox{K\kern-0.08emn}} +\NewDictTranslation{king-(ODw)}{kung} +\NewDictTranslation{King-(ODw)}{Kung} +\NewDictTranslation{k-(ODw)}{k} +\NewDictTranslation{K-(ODw)}{K} +\NewDictTranslation{lead!-(ODw)}{utsp.} +\NewDictTranslation{Lead!-(ODw)}{Utsp.} +\NewDictTranslation{lead-(ODw)}{utspel} +\NewDictTranslation{Lead-(ODw)}{Utspel} +\NewDictTranslation{length points-(ODw)}{längd points} +\NewDictTranslation{Length Points-(ODw)}{Längd Points} +\NewDictTranslation{lp-(ODw)}{lp} +\NewDictTranslation{LP-(ODw)}{LP} +\NewDictTranslation{new minor forcing-(ODw)}{new minor forcing} +\NewDictTranslation{New Minor Forcing-(ODw)}{New Minor Forcing} +\NewDictTranslation{nmf-(ODw)}{nmf} +\NewDictTranslation{NMF-(ODw)}{NMF} +\NewDictTranslation{n-(ODw)}{n} +\NewDictTranslation{N-(ODw)}{N} +\NewDictTranslation{none!-(ODw)}{ing} +\NewDictTranslation{None!-(ODw)}{Ing} +\NewDictTranslation{none-(ODw)}{ingen} +\NewDictTranslation{None-(ODw)}{Ingen} +\NewDictTranslation{north-(ODw)}{norr} +\NewDictTranslation{North-(ODw)}{Norr} +\NewDictTranslation{no trump-(ODw)}{utan trumf} +\NewDictTranslation{No Trump-(ODw)}{Utan Trumf} +\NewDictTranslation{Nr-(ODw)}{\textnumero} +\NewDictTranslation{Nr.-(ODw)}{\textnumero.} +\NewDictTranslation{NT-(ODw)}{N\kern-0.07emT} +\NewDictTranslation{nt-(ODw)}{nt} +\NewDictTranslation{pass-(ODw)}{pass} +\NewDictTranslation{Pass-(ODw)}{Pass} +\NewDictTranslation{pass!-(ODw)}{pass} +\NewDictTranslation{Pass!-(ODw)}{Pass} +\NewDictTranslation{q-(ODw)}{d} +\NewDictTranslation{Q-(ODw)}{D} +\NewDictTranslation{queen-(ODw)}{dame} +\NewDictTranslation{Queen-(ODw)}{Dame} +\NewDictTranslation{ReDbl-(ODw)}{ReDbl} +\NewDictTranslation{redoubled-(ODw)}{redubbelt} +\NewDictTranslation{Redoubled-(ODw)}{Redubbelt} +\NewDictTranslation{redouble-(ODw)}{redubbelt} +\NewDictTranslation{Redouble-(ODw)}{Redubbelt} +\NewDictTranslation{semi forcing-(ODw)}{semi forcing} +\NewDictTranslation{Semi Forcing-(ODw)}{Semi Forcing} +\NewDictTranslation{sf-(ODw)}{sf} +\NewDictTranslation{SF-(ODw)}{SF} +\NewDictTranslation{s-(ODw)}{s} +\NewDictTranslation{S-(ODw)}{S} +\NewDictTranslation{south-(ODw)}{syd} +\NewDictTranslation{South-(ODw)}{Syd} +\NewDictTranslation{suiter-(ODw)}{farver} +\NewDictTranslation{Suiter-(ODw)}{Farver} +\NewDictTranslation{suit-(ODw)}{farve} +\NewDictTranslation{Suit-(ODw)}{Farve} +\NewDictTranslation{third suit forcing-(ODw)}{tredje farve forcing} +\NewDictTranslation{Third Suit Forcing-(ODw)}{Tredje Farve Forcing} +\NewDictTranslation{total points-(ODw)}{total points} +\NewDictTranslation{Total Points-(ODw)}{Total Points} +\NewDictTranslation{tp-(ODw)}{sp} +\NewDictTranslation{TP-(ODw)}{SP} +\NewDictTranslation{trial bid-(ODw)}{pröv bud} +\NewDictTranslation{Trial bid-(ODw)}{Pröv bud} +\NewDictTranslation{trick-(ODw)}{stik} +\NewDictTranslation{Trick-(ODw)}{Stik} +\NewDictTranslation{tsf-(ODw)}{3:e ff} +\NewDictTranslation{TSF-(ODw)}{3:e FF} +\NewDictTranslation{vulnerable-(ODw)}{zon} +\NewDictTranslation{Vulnerable-(ODw)}{Zon} +\NewDictTranslation{vul-(ODw)}{zon} +\NewDictTranslation{Vul-(ODw)}{Zon} +\NewDictTranslation{west-(ODw)}{väst} +\NewDictTranslation{West-(ODw)}{Väst} +\NewDictTranslation{w-(ODw)}{v} +\NewDictTranslation{W-(ODw)}{V} +% +\endinput diff --git a/Master/texmf-dist/tex/latex/onedown/ODw-turkish.trsl b/Master/texmf-dist/tex/latex/onedown/ODw-turkish.trsl new file mode 100644 index 00000000000..06786e7af4c --- /dev/null +++ b/Master/texmf-dist/tex/latex/onedown/ODw-turkish.trsl @@ -0,0 +1,158 @@ +% this is file ODw-turkish.trsl from the OneDown bundle +% thanks to Yilmaz Aksoy +% Entries with a "!" denote an abreviated form +% +% retrieve with e.g. \GetTranslation{dealer-(ODw)} to get kâğıdı +% +\ProvideDictionaryFor{turkish}{ODw}[V0.4] + +\NewDictTranslation{1st-(ODw)}{1.} +\NewDictTranslation{2nd-(ODw)}{2.} +\NewDictTranslation{3rd-(ODw)}{3.} +\NewDictTranslation{4th-(ODw)}{4.} +\NewDictTranslation{ace-(ODw)}{as} +\NewDictTranslation{Ace-(ODw)}{As} +\NewDictTranslation{all!-(ODw)}{herk} +\NewDictTranslation{All!-(ODw)}{Herk} +\NewDictTranslation{all-(ODw)}{herkes} +\NewDictTranslation{All-(ODw)}{Herkes} +\NewDictTranslation{all pass-(ODw)}{pas geçildi} +\NewDictTranslation{All pass-(ODw)}{Pas geçildi} +\NewDictTranslation{a-(ODw)}{a} +\NewDictTranslation{A-(ODw)}{A} +\NewDictTranslation{ap-(ODw)}{ap} +\NewDictTranslation{AP-(ODw)}{AP} +\NewDictTranslation{award-(ODw)}{puan} +\NewDictTranslation{Award-(ODw)}{Puan} +\NewDictTranslation{Bid-(ODw)}{Deklare} +\NewDictTranslation{bid-(ODw)}{deklare} +\NewDictTranslation{Board-(ODw)}{Oyun Tahtası} +\NewDictTranslation{board-(ODw)}{oyun tahtası} +\NewDictTranslation{Brd-(ODw)}{Oyun} +\NewDictTranslation{brd-(ODw)}{oyun} +\NewDictTranslation{by-(ODw)}{tarafından} +\NewDictTranslation{Call-(ODw)}{İlan etme} +\NewDictTranslation{call-(ODw)}{ilan etme} +\NewDictTranslation{-card-(ODw)}{-card} +\NewDictTranslation{contract-(ODw)}{kontrat} +\NewDictTranslation{Contract-(ODw)}{Kontrat} +\NewDictTranslation{contr-(ODw)}{kontr} +\NewDictTranslation{Contr-(ODw)}{Kontr} +\NewDictTranslation{Dbl-(ODw)}{Knt} +\NewDictTranslation{dealer-(ODw)}{dağıtan} +\NewDictTranslation{Dealer-(ODw)}{Dağıtan} +\NewDictTranslation{Deal-(ODw)}{El} +\NewDictTranslation{Deal!-(ODw)}{El} +\NewDictTranslation{deal-(ODw)}{el} +\NewDictTranslation{deal!-(ODw)}{el} +\NewDictTranslation{declarer-(ODw)}{deklaran} +\NewDictTranslation{Declarer-(ODw)}{Deklaran} +\NewDictTranslation{decl-(ODw)}{dekl} +\NewDictTranslation{Decl-(ODw)}{Dekl} +\NewDictTranslation{distribution points-(ODw)}{dağılım puanı} +\NewDictTranslation{Distribution Points-(ODw)}{Dağılım Puanı} +\NewDictTranslation{doubled-(ODw)}{konturlu} +\NewDictTranslation{Doubled-(ODw)}{Konturlu} +\NewDictTranslation{double-(ODw)}{kontur} +\NewDictTranslation{Double-(ODw)}{Kontur} +\NewDictTranslation{dp-(ODw)}{dp} +\NewDictTranslation{DP-(ODw)}{DP} +\NewDictTranslation{east-(ODw)}{doğu} +\NewDictTranslation{East-(ODw)}{Doğu} +\NewDictTranslation{e-(ODw)}{d} +\NewDictTranslation{E-(ODw)}{D} +\NewDictTranslation{fourth suit forcing-(ODw)}{dördüncü renk forsingi} +\NewDictTranslation{Fourth Suit Forcing-(ODw)}{Dördüncü Renk Forsingi} +\NewDictTranslation{fsf-(ODw)}{4. rf} +\NewDictTranslation{FSF-(ODw)}{4. RF} +\NewDictTranslation{game forcing-(ODw)}{manş forsingi} +\NewDictTranslation{Game Forcing-(ODw)}{Manş Forsingi} +\NewDictTranslation{gf-(ODw)}{mf} +\NewDictTranslation{GF-(ODw)}{MF} +\NewDictTranslation{hand-(ODw)}{el} +\NewDictTranslation{Hand-(ODw)}{El} +\NewDictTranslation{hcp-(ODw)}{op} +\NewDictTranslation{HCP-(ODw)}{OP} +\NewDictTranslation{high card points-(ODw)}{onör puanı} +\NewDictTranslation{High Card Points-(ODw)}{Onör Puanı} +\NewDictTranslation{jack-(ODw)}{vale} +\NewDictTranslation{Jack-(ODw)}{Vale} +\NewDictTranslation{j-(ODw)}{v} +\NewDictTranslation{J-(ODw)}{V} +\NewDictTranslation{king-(ODw)}{papaz} +\NewDictTranslation{King-(ODw)}{Papaz} +\NewDictTranslation{k-(ODw)}{p} +\NewDictTranslation{K-(ODw)}{P} +\NewDictTranslation{Lead!-(ODw)}{Atak} +\NewDictTranslation{lead-(ODw)}{atak} +\NewDictTranslation{Lead-(ODw)}{Atak} +\NewDictTranslation{lead!-(ODw)}{atak} +\NewDictTranslation{length points-(ODw)}{uzunluk puanları} +\NewDictTranslation{Length Points-(ODw)}{Uunluk Puanları} +\NewDictTranslation{lp-(ODw)}{up} +\NewDictTranslation{LP-(ODw)}{UP} +\NewDictTranslation{new minor forcing-(ODw)}{yeni minör forsingi} +\NewDictTranslation{New Minor Forcing-(ODw)}{Yeni Minör Forsingi} +\NewDictTranslation{nmf-(ODw)}{nmf} +\NewDictTranslation{NMF-(ODw)}{NMF} +\NewDictTranslation{n-(ODw)}{k} +\NewDictTranslation{N-(ODw)}{K} +\NewDictTranslation{none-(ODw)}{hiç} +\NewDictTranslation{None-(ODw)}{Hiç} +\NewDictTranslation{none!-(ODw)}{hiç} +\NewDictTranslation{None!-(ODw)}{Hiç} +\NewDictTranslation{north-(ODw)}{kuzey} +\NewDictTranslation{North-(ODw)}{Kuzey} +\NewDictTranslation{no trump-(ODw)}{sanzatu} +\NewDictTranslation{No Trump-(ODw)}{Sanzatu} +\NewDictTranslation{Nr-(ODw)}{\textnumero} +\NewDictTranslation{Nr.-(ODw)}{\textnumero.} +\NewDictTranslation{nt-(ODw)}{sa} +\NewDictTranslation{NT-(ODw)}{S\kern-0.01emA} +\NewDictTranslation{pass-(ODw)}{pas} +\NewDictTranslation{Pass-(ODw)}{Pas} +\NewDictTranslation{pass!-(ODw)}{pas} +\NewDictTranslation{Pass!-(ODw)}{Pas} +\NewDictTranslation{q-(ODw)}{k} +\NewDictTranslation{Q-(ODw)}{K} +\NewDictTranslation{queen-(ODw)}{kız} +\NewDictTranslation{Queen-(ODw)}{Kız} +\NewDictTranslation{ReDbl-(ODw)}{SürKnt} +\NewDictTranslation{Redoubled-(ODw)}{Sürkonturlu} +\NewDictTranslation{redoubled-(ODw)}{sürkonturlu} +\NewDictTranslation{redouble-(ODw)}{sürkontur} +\NewDictTranslation{Redouble-(ODw)}{Sürkontur} +\NewDictTranslation{semi forcing-(ODw)}{semi forsingi} +\NewDictTranslation{Semi Forcing-(ODw)}{Semi Forsingi} +\NewDictTranslation{sf-(ODw)}{sf} +\NewDictTranslation{SF-(ODw)}{SF} +\NewDictTranslation{s-(ODw)}{g} +\NewDictTranslation{S-(ODw)}{G} +\NewDictTranslation{south-(ODw)}{güney} +\NewDictTranslation{South-(ODw)}{Güney} +\NewDictTranslation{suiter-(ODw)}{renkli} +\NewDictTranslation{Suiter-(ODw)}{Renkli} +\NewDictTranslation{suit-(ODw)}{renk} +\NewDictTranslation{Suit-(ODw)}{Renk} +\NewDictTranslation{third suit forcing-(ODw)}{üçüncü renk forsingi} +\NewDictTranslation{Third Suit Forcing-(ODw)}{Üçüncü Renk Forsingi} +\NewDictTranslation{total points-(ODw)}{onör destek puanı} +\NewDictTranslation{Total Points-(ODw)}{Onör Destek Puanı} +\NewDictTranslation{tp-(ODw)}{odp} +\NewDictTranslation{TP-(ODw)}{ODP} +\NewDictTranslation{trial bid-(ODw)}{trial bid} +\NewDictTranslation{Trial bid-(ODw)}{Trial bid} +\NewDictTranslation{trick-(ODw)}{löve} +\NewDictTranslation{Trick-(ODw)}{Löve} +\NewDictTranslation{tsf-(ODw)}{3. sf} +\NewDictTranslation{TSF-(ODw)}{3. SF} +\NewDictTranslation{vulnerable-(ODw)}{zonda} +\NewDictTranslation{Vulnerable-(ODw)}{Zonda} +\NewDictTranslation{vul-(ODw)}{zon} +\NewDictTranslation{Vul-(ODw)}{Zon} +\NewDictTranslation{west-(ODw)}{batı} +\NewDictTranslation{West-(ODw)}{Batı} +\NewDictTranslation{w-(ODw)}{b} +\NewDictTranslation{W-(ODw)}{B} +% +\endinput diff --git a/Master/texmf-dist/tex/latex/onedown/onedown.sty b/Master/texmf-dist/tex/latex/onedown/onedown.sty new file mode 100644 index 00000000000..0134ff66660 --- /dev/null +++ b/Master/texmf-dist/tex/latex/onedown/onedown.sty @@ -0,0 +1,2177 @@ +%% +%% This is file `onedown.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% onedown.dtx (with options: `package') +%% +%% This is a generated file. +%% +%% Copyright (C) 2018 by Jacob Wiersma +%% +%% This file may be distributed and/or modified under the conditions of +%% the LaTeX Project Public License, either version 1.3 of this license +%% or (at your option) any later version. The latest version of this +%% license is in: +%% +%% http://www.latex-project.org/lppl.txt +%% +%% and version 1.3 or later is part of all distributions of LaTeX version +%% 2005/12/01 or later. +%% +\NeedsTeXFormat{LaTeX2e}[2014/05/01] +\def\ODwstyleversion{1.0}\def\ODwstyledate{2018/05/23} +\ProvidesPackage{onedown} + [\ODwstyledate\space v\ODwstyleversion\space + Typeset Bridge Diagrams - Jacob Wiersma (C) 2016-2018] + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\RequirePackage{% + xcolor,% colorizing symbols \Sp etc. + textcomp,% for the numbersign in environment play. + moresize,% add \HUGE and \ssmall to font-sizes + relsize,% relative font-sizes. (e.g. \smaller) + makecmds,% needed for provideenvironment + expl3,% needed for LaTeX3 packages (xparse) + xparse,% optional params and starred commands + xspace,% handling of spacing behind a command + calc,% makes calculations and lengths easier + ifthen,% easy booleans, tests and loops + adjustbox,% stacked boxes in L-/R-Lower captions + translations,% auto-translate terms (e.g. East->Ost) + array,% actions for tabular column cells + collcell,% macro calls for tabular column cells + pgfopts,% for keyval opts, loads also pgfkeys + environ,% for handling bidding environments + xstring,% for easy string processing. + tracklang,% for iterating over loaded languages + pict2e,% for drawing the compass +} +\xspaceaddexceptions{% + = \markit \, \suit \GetTranslation + 2 3 4 5 6 7 8 9 T J Q K A +} +\LoadDictionaryFor{fallback}{ODw} +\pgfkeys{/ODw/.is family} +\def\ODw@set#1{\pgfkeys{/ODw,#1}} +\ODw@set{colors/.is choice,} +\ODw@set{warn/.is choice,} +\ODw@set{err/.is choice,} +\AtBeginDocument{% + \renewcommand{\,}[1][1]{% + \ifmmode\mskip#1\thinmuskip% + \else\thinspace[#1]\fi% + }% + \renewcommand{\thinspace}[1][1]{% + \kern#1\dimexpr0.16667em\relax% + }% +}% AtBeginDocument +\gdef\ODw@gsetlength#1#2{% + \begingroup + \setlength\skip@{#2}% local assign to scratch reg. + \global#1=\skip@% global assignment to #1; + \endgroup% restore \skip@ by endgroup. +}% ODw@gsetlength +\gdef\ODw@append#1{% + \bgroup% + \edef\tmp{\the\ODw@Scratch #1}% + \global\ODw@Scratch=\expandafter{\tmp}% + \egroup% +}% ODw@append +\def\ODw@CompSize{1}% factor to enlarge the compass +\def\ODw@CompLine{}% thickness of compass frame +\def\ODw@Skipwidth{1em}% +\newif\ifODw@description% must typeset an annotation +\newif\ifODw@short% short form in bidding header +\newif\ifODw@monochrome% no colors wanted +\newif\ifOdW@CardSkip% skip between ranks needed +\newif\ifODw@Bidders% suppress bidders in bidding header +\newif\ifODw@BidLine% draw \hline below bidding header +\newif\ifODw@LongCalls% switch between long/short calls +\newif\ifODw@CompShow% show compass or not +\newif\ifODw@CompTurn% turn E-W letters 90° +\newboolean{ODw@EmptyHeader}% = 'header is empty' +\newboolean{ODw@EmptyFooter}% = 'footer is empty' +\newsavebox\ODw@Diagram@Box +\newsavebox\ODw@Hand@Box +\newsavebox\ODw@BidBox +\newlength\ODw@Compasssize% the size of the compass. +\newlength\ODw@Diagram@Width +\newlength\ODw@Card@Skip +\setlength\ODw@Card@Skip{.15em}% space between cards +\newlength\ODw@Bid@Width +\newlength\ODw@Skip@Width + \setlength\ODw@Skip@Width{\ODw@Skipwidth} +\newlength\ODw@Tmp@Len% temp var for computations +\newlength\ODw@Tmp@Width% temp var for computations +\newcounter{ODw@Nr} +\newcounter{ODw@Cnt} +\newcounter{ODw@PlayerNr} +\newcounter{ODw@NSCnt} +\newcounter{ODw@EWCnt} +\newtoks{\ODw@Scratch} +\newcommand\bidderfont[1]{\gdef\ODw@BidderFont{#1}} +\newcommand\compassfont[1]{\gdef\ODw@CompassFont{#1}} +\newcommand\namefont[1]{\gdef\ODw@NameFont{#1}} +\newcommand\legendfont[1]{\gdef\ODw@LegendFont{#1}} +\newcommand\otherfont[1]{\gdef\ODw@OtherFont{#1}} +\newcommand\gamefont[1]{% + \gdef\ODw@GameFont{#1}% + \gdef\ODw@GameSize{% recalculate dimens for the new font + \ODw@GameFont% + \setlength\ODw@Skip@Width{\ODw@Skipwidth}% + }% +}% gamefont +\fontencoding{T1}\fontfamily{stix} +\fontseries{m}\fontshape{n}\selectfont +\DeclareSymbolFont{symbols}{OMS}{txsy}{m}{n} +\SetSymbolFont{symbols}{bold}{OMS}{txsy}{bx}{n} +\DeclareFontSubstitution{OMS}{txsy}{m}{n} +\DeclareSymbolFont{symbolsC}{U}{txsyc}{m}{n} +\SetSymbolFont{symbolsC}{bold}{U}{txsyc}{bx}{n} +\DeclareFontSubstitution{U}{txsyc}{m}{n} +\DeclareMathSymbol{\ODw@spadesuit}{\mathord}{symbols}{127} +\DeclareMathSymbol{\ODw@varheart}{\mathord}{symbolsC}{114} +\DeclareMathSymbol{\ODw@vardiamond}{\mathord}{symbolsC}{113} +\DeclareMathSymbol{\ODw@clubsuit}{\mathord}{symbols}{124} +\def\Cl{}\def\Di{}\def\He{}\def\Sp{}% +\ODw@set{% + colors/0/.code={% + \ODw@monochrometrue% + \renewrobustcmd\Cl{\textcolor{black}% + {\,[0.3]\ensuremath{\ODw@clubsuit}}\xspace}% + \renewrobustcmd\Di{\textcolor{black}% + {\,[0.3]\ensuremath{\ODw@vardiamond}}\xspace}% + \renewrobustcmd\He{\textcolor{black}% + {\,[0.3]\ensuremath{\ODw@varheart}}\xspace}% + \renewrobustcmd\Sp{\textcolor{black}% + {\,[0.3]\ensuremath{\ODw@spadesuit}}\xspace}% + }% +} +\ODw@set{colors/mono/.code={\pgfkeys{/ODw/colors=0}}} +\ODw@set{colors/black/.code={\pgfkeys{/ODw/colors=0}}} +\ODw@set{% + colors/1/.code={% + \ODw@monochrometrue% + \renewrobustcmd\Cl{\textcolor{black}% + {\,[0.3]\ensuremath{\ODw@clubsuit}}\xspace}% + \renewrobustcmd\Di{\,[0.3]\ensuremath{\diamondsuit}\xspace}% + \renewrobustcmd\He{\,[0.3]\ensuremath{\heartsuit}\xspace}% + \renewrobustcmd\Sp{\textcolor{black}% + {\,[0.3]\ensuremath{\ODw@spadesuit}}\xspace}% + }% +} +\ODw@set{colors/b+w/.code={\pgfkeys{/ODw/colors=1}}} +\ODw@set{% + colors/2/.code={% + \renewrobustcmd\Cl{\textcolor{black}% + {\,[0.3]\ensuremath{\ODw@clubsuit}}\xspace}% + \renewrobustcmd\Di{\textcolor{red}% + {\,[0.3]\ensuremath{\ODw@vardiamond}}\xspace}% + \renewrobustcmd\He{\textcolor{red}% + {\,[0.3]\ensuremath{\ODw@varheart}}\xspace}% + \renewrobustcmd\Sp{\textcolor{black}% + {\,[0.3]\ensuremath{\ODw@spadesuit}}\xspace}% + }% +} +\ODw@set{colors/b+r/.code={\pgfkeys{/ODw/colors=2}}} +\ODw@set{% + colors/4A/.code={% + \renewrobustcmd\Cl{\textcolor{green}% + {\,[0.3]\ensuremath{\ODw@clubsuit}}\xspace}% + \renewrobustcmd\Di{\textcolor{orange}% + {\,[0.3]\ensuremath{\ODw@vardiamond}}\xspace}% + \renewrobustcmd\He{\textcolor{red}% + {\,[0.3]\ensuremath{\ODw@varheart}}\xspace}% + \renewrobustcmd\Sp{\textcolor{blue}% + {\,[0.3]\ensuremath{\ODw@spadesuit}}\xspace}% + }% +} +\ODw@set{colors/fourA/.code={\pgfkeys{/ODw/colors=4A}}} +\ODw@set{colors/4a/.code={\pgfkeys{/ODw/colors=4A}}} +\ODw@set{% + colors/4B/.code={% + \renewrobustcmd\Cl{\textcolor{black}% + {\,[0.3]\ensuremath{\ODw@clubsuit}}\xspace}% + \renewrobustcmd\Di{\textcolor{orange}% + {\,[0.3]\ensuremath{\ODw@vardiamond}}\xspace}% + \renewrobustcmd\He{\textcolor{red}% + {\,[0.3]\ensuremath{\ODw@varheart}}\xspace}% + \renewrobustcmd\Sp{\textcolor{green}% + {\,[0.3]\ensuremath{\ODw@spadesuit}}\xspace}% + }% +} +\ODw@set{colors/fourB/.code={\pgfkeys{/ODw/colors=4B}}} +\ODw@set{colors/4b/.code={\pgfkeys{/ODw/colors=4B}}} +\ODw@set{colors=2} +\NewDocumentCommand\nt{s t!}{% + \bgroup% + \ODw@OtherFont% + \IfBooleanTF#1{% + \IfBooleanTF#2 + {\,[0.3]\GetTranslation{NT-(ODw)}}% + {\GetTranslation{No Trump-(ODw)}}% + }{% + \IfBooleanTF#2 + {\,[0.3]\GetTranslation{nt-(ODw)}}% + {\GetTranslation{no trump-(ODw)}}% + }% + \egroup% + \xspace% +}% nt +\def\NT{\nt*!} +\gdef\ODw@SuitPlayed{N} +\gdef\ODw@SuitLead{N} +\gdef\ODw@TrumpSuit{N} +\newcounter{ODw@Rank} +\def\ODw@SetRank#1{% + \ifthenelse{\equal{\ODw@SuitPlayed}{\ODw@SuitLead}}% + % if a suit is followed, store the intrinsic rank + {\setcounter{ODw@Rank}{#1}}% + {% else, if a suit is not followed then ... + % (at NoTrump, the trumpsuit is coded 'N' and will + % never match a real suit (coded C, D, H and S)) + % thus avoiding that trump cards are detected + \ifthenelse{\equal{\ODw@SuitPlayed}{\ODw@TrumpSuit}}% + % if it is a trump card, increase the rank + {\setcounter{ODw@Rank}{#1}% + \addtocounter{ODw@Rank}{15}}% + % if it is a discard, set the rank to 0 to make + % sure it will never win + {\setcounter{ODw@Rank}{0}}% + }% ifthen + % If the card was of another suit, + % then ODw@SuitPlayed was changed. + % If we encounter 'unsuited' cards, + % then we must reestablish the + % original ODw@SuitPlayed. + \global\edef\ODw@SuitPlayed{\ODw@SuitLead}% org. suit +}% ODw@SetRank +\ExplSyntaxOn + % NB: now all spaces are ignored, use '~' if needed. +\NewDocumentCommand{\ODw@Xfer}{m}{ + \bgroup + % we do not want spaces here + \def\xspace{} + \tl_map_function:nN {#1} \ODw@translate:n + \egroup +}% ODw@Xfer +\cs_new_protected:Nn \ODw@translate:n + { + \setcounter{ODw@Rank}{0} + \str_case:nnTF {#1} + { % Store the suit of the card played + % needed to determine the winner + % and for checking for multiple cards + {C}{\Cl\gdef\ODw@SuitPlayed{C}} + {D}{\Di\gdef\ODw@SuitPlayed{D}} + {H}{\He\gdef\ODw@SuitPlayed{H}} + {S}{\Sp\gdef\ODw@SuitPlayed{S}} + {N}{\NT\gdef\ODw@SuitPlayed{N}} + % Translate a hyphen into an en-dash + {-}{--} + % + % 1: translate the honour cards, + % 2: store the played cards for checking + % 3: and set their rank. This must be done last, because + % \ODw@SetRank resets \ODw@SuitPlayed to \ODw@SuitLead + % Honour Cards + % 1 2 + {A}{\Ace*!\ODw@AppendCard{\ODw@SuitPlayed}{A} + \ODw@SetRank{14}}% 3 + {K}{\King*!\ODw@AppendCard{\ODw@SuitPlayed}{K} + \ODw@SetRank{13}} + {Q}{\Queen*!\ODw@AppendCard{\ODw@SuitPlayed}{Q} + \ODw@SetRank{12}} + {J}{\Jack*!\ODw@AppendCard{\ODw@SuitPlayed}{J} + \ODw@SetRank{11}} + {T}{\kern-0.1em1\kern-0.1em0% massage 1 and 0 a bit + \ODw@AppendCard{\ODw@SuitPlayed}{T}\ODw@SetRank{10}} + % Numeral Cards + {9}{9\ODw@AppendCard{\ODw@SuitPlayed}{9}\ODw@SetRank{9}} + {8}{8\ODw@AppendCard{\ODw@SuitPlayed}{8}\ODw@SetRank{8}} + {7}{7\ODw@AppendCard{\ODw@SuitPlayed}{7}\ODw@SetRank{7}} + {6}{6\ODw@AppendCard{\ODw@SuitPlayed}{6}\ODw@SetRank{6}} + {5}{5\ODw@AppendCard{\ODw@SuitPlayed}{5}\ODw@SetRank{5}} + {4}{4\ODw@AppendCard{\ODw@SuitPlayed}{4}\ODw@SetRank{4}} + {3}{3\ODw@AppendCard{\ODw@SuitPlayed}{3}\ODw@SetRank{3}} + {2}{2\ODw@AppendCard{\ODw@SuitPlayed}{2}\ODw@SetRank{2}} + % A spot card has rank 0 + {x}{x\ODw@SetRank{0}} + % + % Non cards (bidding only) + {1}{1}% this enables e.g. 1\He in biddings + {p}{\ifODw@LongCalls\Pass*\else\Pass!\fi} + {P}{\ifODw@LongCalls\Allpass*\else\Allpass*!\fi} + {X}{\ifODw@LongCalls\Double*\else\Double!\fi} + {R}{\ifODw@LongCalls\Redouble*\else\Redouble!\fi} + }% case + {% if matched (case T(rue)) + \ifOdW@CardSkip\hspace{\ODw@Card@Skip}\fi + % suit of 1st card (ODw@SuitLead) is ODw@SuitPlayed + \if\theODw@PlayerNr1 + \global\edef\ODw@SuitLead{\ODw@SuitPlayed} + \fi + } + {% if not matched (case F(alse)) + \ifx#1\Cl\gdef\ODw@SuitPlayed{C}\fi + \ifx#1\Di\gdef\ODw@SuitPlayed{D}\fi + \ifx#1\He\gdef\ODw@SuitPlayed{H}\fi + \ifx#1\Sp\gdef\ODw@SuitPlayed{S}\fi + \expandafter{#1}% enables e.g. 1\He + % suit of 1st card (ODw@SuitLead) is ODw@SuitPlayed + \if\theODw@PlayerNr1 + \global\edef\ODw@SuitLead{\ODw@SuitPlayed} + \fi + } +}% ODw@translate +\ExplSyntaxOff +\newcommand{\ODw@appendcard}[2]{\xdef#1{#1#2}} + +\newcommand\ODw@AppendCard[2]{% + \IfEqCase{#1}{% + {C}{\ODw@appendcard{\ODw@Clubs}{#2}}% + {D}{\ODw@appendcard{\ODw@Diamonds}{#2}}% + {H}{\ODw@appendcard{\ODw@Hearts}{#2}}% + {S}{\ODw@appendcard{\ODw@Spades}{#2}}% + }% +}% ODw@AppendCard +\newcounter{ODw@Highest}% the highest rank until now +\setcounter{ODw@Highest}{0} +\newcounter{ODw@WinningNr}% player with the highest rank +\setcounter{ODw@WinningNr}{0} + +\def\ODw@PTfer#1{% + \stepcounter{ODw@PlayerNr}% + \ODw@Xfer{#1}% ODw@Rank = the rank for this card + \ifthenelse{\value{ODw@Rank} > \value{ODw@Highest}}% + {% This rank is higher than previous highest one + \setcounter{ODw@WinningNr}{\theODw@PlayerNr}% + \setcounter{ODw@Highest}{\theODw@Rank}% + }% + {}% + \ifthenelse{\value{ODw@PlayerNr} = 4}% + {% last player: Process the winning trick: + \stepcounter{ODw@Nr}% Start new row with new player + \ODw@AccTricks% Accumulate tricks for N-S/E-W + }% + {}% +} +\def\ODw@FTfer#1{% + \ODw@Tricks% + \ODw@PTfer{#1}% +}% ODw@FTfer +\def\ODw@BTfer#1{% + \ODw@Xfer{#1}% +} +\NewDocumentCommand\North{s t!}{% + \bgroup% + \ODw@OtherFont% + \IfBooleanTF#1{% + \IfBooleanTF{#2}{\ODw@N*}{\ODw@North*}% + }{% + \IfBooleanTF{#2}{\ODw@N}{\ODw@North}% + }% TF#1 + \egroup% + \xspace% +}% North +\def\north{\North*} + +\NewDocumentCommand\East{s t!}{% + \bgroup% + \ODw@OtherFont% + \IfBooleanTF#1{% + \IfBooleanTF{#2}{\ODw@E*}{\ODw@East*}% + }{% + \IfBooleanTF{#2}{\ODw@E}{\ODw@East}% + }% TF#1 + \egroup% + \xspace% +}% East +\def\east{\East*} + +\NewDocumentCommand\South{s t!}{% + \bgroup% + \ODw@OtherFont% + \IfBooleanTF#1{% + \IfBooleanTF{#2}{\ODw@S*}{\ODw@South*}% + }{% + \IfBooleanTF{#2}{\ODw@S}{\ODw@South}% + }% TF#1 + \egroup% + \xspace% +}% South +\def\south{\South*} + +\NewDocumentCommand\West{s t!}{% + \bgroup% + \ODw@OtherFont% + \IfBooleanTF#1{% + \IfBooleanTF{#2}{\ODw@W*}{\ODw@West*}% + }{% + \IfBooleanTF{#2}{\ODw@W}{\ODw@West}% + }% TF#1 + \egroup% + \xspace% +}% West +\def\west{\West*} +\NewDocumentCommand\NorthSouth{s t!}{% + \bgroup% + \ODw@OtherFont% + \IfBooleanTF#1{% + \IfBooleanTF{#2}{\North*!--\South*!}{\North*--\South*}% + }{% + \IfBooleanTF{#2}{\North!--\South!}{\North--\South}% + }% + \egroup% + \xspace% +}% NorthSouth +\def\northsouth{\NorthSouth*} + +\NewDocumentCommand\EastWest{s t!}{% + \bgroup% + \ODw@OtherFont% + \IfBooleanTF#1{% + \IfBooleanTF{#2}{\East*!--\West*!}{\East*--\West*}% + }{% + \IfBooleanTF{#2}{\East!--\West!}{\East--\West}% + }% + \egroup% + \xspace% +}% EastWest +\def\eastwest{\EastWest*} +\def\ODw@N{% + \@ifstar{\GetTranslation{N-(ODw)}}% + {\GetTranslation{n-(ODw)}}% +} +\def\ODw@E{% + \@ifstar{\GetTranslation{E-(ODw)}}% + {\GetTranslation{e-(ODw)}}% +} +\def\ODw@S{% + \@ifstar{\GetTranslation{S-(ODw)}}% + {\GetTranslation{s-(ODw)}}% +} +\def\ODw@W{% + \@ifstar{\GetTranslation{W-(ODw)}}% + {\GetTranslation{w-(ODw)}}% +} +\def\ODw@NS{\ODw@N--\ODw@S} +\def\ODw@EW{\ODw@E--\ODw@W} +\def\ODw@North{% + \@ifstar{\GetTranslation{North-(ODw)}}% + {\GetTranslation{north-(ODw)}}% +} +\def\ODw@East{% + \@ifstar{\GetTranslation{East-(ODw)}}% + {\GetTranslation{east-(ODw)}}% +} +\def\ODw@South{% + \@ifstar{\GetTranslation{South-(ODw)}}% + {\GetTranslation{south-(ODw)}}% +} +\def\ODw@West{% + \@ifstar{\GetTranslation{West-(ODw)}}% + {\GetTranslation{west-(ODw)}}% +} +\NewDocumentCommand\Pass{s t!}{% + \bgroup% + \ODw@OtherFont% + \IfBooleanTF{#1}{% + \IfBooleanTF{#2}% + {\GetTranslation{Pass!-(ODw)}}% + {\GetTranslation{Pass-(ODw)}}% + }{% + \IfBooleanTF{#2}% + {\GetTranslation{pass!-(ODw)}}% + {\GetTranslation{pass-(ODw)}}% + }% TF#1 + \egroup% + \xspace% +}% Pass +\def\pass{\Pass*} + +\NewDocumentCommand\Allpass{s t!}{% + \bgroup% + \ODw@OtherFont% + \IfBooleanTF#1{% + \IfBooleanTF{#2}% + {\GetTranslation{AP-(ODw)}}% + {\GetTranslation{All pass-(ODw)}}% + }{% + \IfBooleanTF{#2}% + {\GetTranslation{ap-(ODw)}}% + {\GetTranslation{all pass-(ODw)}}% + }% TF#1 + \egroup% + \xspace% +}% Allpass +\def\allpass{\Allpass*} + +\NewDocumentCommand\Double{s t!}{% + \bgroup% + \ODw@OtherFont% + \IfBooleanTF#1{% + \IfBooleanTF{#2}% + {\GetTranslation{Dbl-(ODw)}}% + {\GetTranslation{Double-(ODw)}}% + }{% + \IfBooleanTF{#2}% + {X}% + {\GetTranslation{double-(ODw)}}% + }% TF#1 + \egroup% + \xspace% +}% Double +\def\double{\Double*} + +\NewDocumentCommand\Redouble{s t!}{% + \bgroup% + \ODw@OtherFont% + \IfBooleanTF#1{% + \IfBooleanTF{#2}% + {\GetTranslation{ReDbl-(ODw)}}% + {\GetTranslation{ReDouble-(ODw)}}% + }{% + \IfBooleanTF{#2}% + {\mbox{X\kern-0.1em X}}% + {\GetTranslation{redouble-(ODw)}}% + }% TF#1 + \egroup% + \xspace% +}% Redouble +\def\redouble{\Redouble*} +\newcommand\ODw@FirstBidCol[1]{% + \IfEqCase{#1}{% + {N}{% + \gdef\ODw@BidderI{\@ifstar{\ODw@North*}{\ODw@N*}}% + \gdef\ODw@BidderII{\@ifstar{\ODw@East*}{\ODw@E*}}% + \gdef\ODw@BidderIII{\@ifstar{\ODw@South*}{\ODw@S*}}% + \gdef\ODw@BidderIV{\@ifstar{\ODw@West*}{\ODw@W*}}% + \gdef\ODw@NameI{\ODw@North@Name}% + \gdef\ODw@NameII{\ODw@East@Name}% + \gdef\ODw@NameIII{\ODw@South@Name}% + \gdef\ODw@NameIV{\ODw@West@Name}% + }% + {E}{% + \gdef\ODw@BidderI{\@ifstar{\ODw@East*}{\ODw@E*}}% + \gdef\ODw@BidderII{\@ifstar{\ODw@South*}{\ODw@S*}}% + \gdef\ODw@BidderIII{\@ifstar{\ODw@West*}{\ODw@W*}}% + \gdef\ODw@BidderIV{\@ifstar{\ODw@North*}{\ODw@N*}}% + \gdef\ODw@NameI{\ODw@East@Name}% + \gdef\ODw@NameII{\ODw@South@Name}% + \gdef\ODw@NameIII{\ODw@West@Name}% + \gdef\ODw@NameIV{\ODw@North@Name}% + }% + {S}{% + \gdef\ODw@BidderI{\@ifstar{\ODw@South*}{\ODw@S*}}% + \gdef\ODw@BidderII{\@ifstar{\ODw@West*}{\ODw@W*}}% + \gdef\ODw@BidderIII{\@ifstar{\ODw@North*}{\ODw@N*}}% + \gdef\ODw@BidderIV{\@ifstar{\ODw@East*}{\ODw@E*}}% + \gdef\ODw@NameI{\ODw@South@Name}% + \gdef\ODw@NameII{\ODw@West@Name}% + \gdef\ODw@NameIII{\ODw@North@Name}% + \gdef\ODw@NameIV{\ODw@East@Name}% + }% + {W}{% + \gdef\ODw@BidderI{\@ifstar{\ODw@West*}{\ODw@W*}}% + \gdef\ODw@BidderII{\@ifstar{\ODw@North*}{\ODw@N*}}% + \gdef\ODw@BidderIII{\@ifstar{\ODw@East*}{\ODw@E*}}% + \gdef\ODw@BidderIV{\@ifstar{\ODw@South*}{\ODw@S*}}% + \gdef\ODw@NameI{\ODw@West@Name}% + \gdef\ODw@NameII{\ODw@North@Name}% + \gdef\ODw@NameIII{\ODw@East@Name}% + \gdef\ODw@NameIV{\ODw@South@Name}% + }% + }% IfEqCase +}% ODw@FirstBidCol +\newcommand\namesNS[2]{% + \gdef\ODw@North@Name{#1}% + \gdef\ODw@South@Name{#2}% + \gdef\ODw@All@Names{#1#2\ODw@East@Name\ODw@West@Name}% +}% namesNS +\newcommand\namesEW[2]{% + \gdef\ODw@East@Name{#1}% + \gdef\ODw@West@Name{#2}% + \gdef\ODw@All@Names{#1#2\ODw@North@Name\ODw@South@Name}% +}% namesEW +\newcommand\northhand[5][0pt]{% + \ODw@ChkNrOfCards{#2#3#4#5}{\north}% + \gdef\ODw@NSpades{#2}% Save norths cards + \gdef\ODw@NHearts{#3}% of all suits + \gdef\ODw@NDiamonds{#4}% for later + \gdef\ODw@NClubs{#5}% checking + \gdef\ODw@Nhand{% + \makebox[\ODw@Compasssize + 2ex][l]{% + \ODw@hand{t}{#2}{#3}{#4}{#5}% + }% + \vspace{#1}% + }% +}% northhand + +\newcommand\easthand[5][0pt]{% + \ODw@ChkNrOfCards{#2#3#4#5}{\east}% + \gdef\ODw@ESpades{#2}% Save easts cards + \gdef\ODw@EHearts{#3}% of all suits + \gdef\ODw@EDiamonds{#4}% for later + \gdef\ODw@EClubs{#5}% checking + \gdef\ODw@Ehand{% + \hspace{#1}% + \ODw@hand{c}{#2}{#3}{#4}{#5}% + }% +}% easthand + +\newcommand\southhand[5][0pt]{% + \ODw@ChkNrOfCards{#2#3#4#5}{\south}% + \gdef\ODw@SSpades{#2}% Save souths cards + \gdef\ODw@SHearts{#3}% of all suits + \gdef\ODw@SDiamonds{#4}% for later + \gdef\ODw@SClubs{#5}% checking + \gdef\ODw@Shand{% + \parbox[b]{\ODw@Compasssize + 2ex}{% + \vspace*{#1}\par% + \makebox[0pt][l]{% + \ODw@hand{b}{#2}{#3}{#4}{#5}% + }% + }% + }% +}% southhand + +\newcommand\westhand[5][0pt]{% + \ODw@ChkNrOfCards{#2#3#4#5}{\west}% + \gdef\ODw@WSpades{#2}% Save wests cards + \gdef\ODw@WHearts{#3}% of all suits + \gdef\ODw@WDiamonds{#4}% for later + \gdef\ODw@WClubs{#5}% checking + \gdef\ODw@Whand{% + \ODw@hand{c}{#2}{#3}{#4}{#5}% + \hspace*{#1}% + }% +}% westhand +\NewDocumentCommand\hand{s t! t- O{c}mmmm}{% + \ODw@ChkNrOfCards{#5#6#7#8}{Hand}% + \ODw@ChkSameCards{#5}{\Sp}% + \ODw@ChkSameCards{#6}{\He}% + \ODw@ChkSameCards{#7}{\Di}% + \ODw@ChkSameCards{#8}{\Cl}% + \global\sbox{\ODw@Hand@Box}{% + \bgroup% + \ODw@GameSize% + \IfBooleanTF{#2}% + {\ODw@vhand[#4]{#5}{#6}{#7}{#8}}% + {\ODw@hhand{#5}{#6}{#7}{#8}}% + \egroup% + }% sbox + \IfBooleanTF{#3}{}{% + \IfBooleanTF{#1}% + {{\centering \usebox{\ODw@Hand@Box}\par}}% + {\usebox{\ODw@Hand@Box}}% + }% +}% hand +\newcommand\ODw@hhand[4]{% + \bgroup% + \def\xspace{}% undo xspace locally + % it screws the distance between suit and cards + \setlength\tabcolsep{1\ODw@Card@Skip}% + \begin{tabular}{llll} + % we can't use \suit here: it would cause double checks! + \Sp\hspace{0.3em}\ODw@Cards{#1} &% + \He\hspace{0.3em}\ODw@Cards{#2} &% + \Di\hspace{0.3em}\ODw@Cards{#3} &% + \Cl\hspace{0.3em}\ODw@Cards{#4} \\ + \end{tabular}% + \egroup% +}% ODw@hhand +\newcommand\ODw@vhand[5][c]{% + \ODw@hand{#1}{#2}{#3}{#4}{#5}% +}% ODw@vhand +\newcommand\ODw@hand[5]{% + \ifthenelse{\equal{#2#3#4#5}{}}{}{% + \setlength\tabcolsep{\ODw@Card@Skip}% + \begin{tabular}[#1]{ll}% + % we can't use \suit here: it would cause double checks! + \Sp & \ODw@Cards{#2}\\[-0.5ex] + \He & \ODw@Cards{#3}\\[-0.5ex] + \Di & \ODw@Cards{#4}\\[-0.5ex] + \Cl & \ODw@Cards{#5}\\ + \end{tabular}% + }% ifthenelse +}% ODw@hand +\NewDocumentCommand\onesuitAll{s t! mmmm}{% + \ODw@ChkSameCards{#3#4#5#6}{}% + \IfBooleanTF#1{\begin{center}}{}% + \bgroup% + \ODw@GameSize% + \setlength\tabcolsep{0em}% +\begin{tabular}{@{}r@{ }c@{ }l@{}}% + & \ODw@Cards{#3} \IfBooleanTF#2{\\[-0.2em]}{\\}% + \ODw@Cards{#6} & \IfBooleanTF#2{\ODw@Compass}{\ODw@Box}% + & \ODw@Cards{#5} \IfBooleanTF#2{\\[-0.2em]}{\\}% + & \ODw@Cards{#4}\\ + \end{tabular}% + \egroup% + \IfBooleanTF#1{\end{center}}{}% +}% onesuitAll +\NewDocumentCommand\onesuitNS{s t! mm}{% + \ODw@ChkSameCards{#3#4}{}% + \IfBooleanTF#1{\begin{center}}{}% + \bgroup% + \ODw@GameSize% + \begin{tabular}{@{}c@{}}% + \ODw@Cards{#3}\IfBooleanTF#2{\\[-0.2em]}{\\}% + \IfBooleanTF#2{\ODw@Compass\\[-0.2em]}{\ODw@Box\\}% + \ODw@Cards{#4}% + \end{tabular}% + \egroup% + \IfBooleanTF#1{\end{center}}{}% +}% onesuitNS +\NewDocumentCommand\onesuitEW{s t! mm}{% + \ODw@ChkSameCards{#3#4}{}% + \IfBooleanTF#1{\begin{center}}{}% + \bgroup% + \ODw@GameSize% + \begin{tabular}{@{}r@{ }c@{ }l@{}}% + \ODw@Cards{#4} &% + \IfBooleanTF#2{\ODw@Compass}{\ODw@Box} &% + \ODw@Cards{#3} \\% + \end{tabular}% + \egroup% + \IfBooleanTF#1{\end{center}}{}% +}% onesuitEW +\NewDocumentCommand\onesuitNE{s t! mm}{% + \ODw@ChkSameCards{#3#4}{}% + \IfBooleanTF#1{\begin{center}}{}% + \bgroup% + \ODw@GameSize% + \begin{tabular}[b]{c@{ }l@{}}% + \ODw@Cards{#3} \\% + \IfBooleanTF#2{\ODw@Compass}{\ODw@Box} &% + \ODw@Cards{#4} \\% + \end{tabular}% + \egroup% + \IfBooleanTF#1{\end{center}}{}% +}% onesuitEW +\NewDocumentCommand\onesuitNW{s t! mm}{% + \ODw@ChkSameCards{#3#4}{}% + \IfBooleanTF#1{\begin{center}}{}% + \bgroup% + \ODw@GameSize% + \begin{tabular}[b]{r@{ }c}% + & \ODw@Cards{#3} \\% + \ODw@Cards{#4} & \IfBooleanTF#2{\ODw@Compass}{\ODw@Box} \\% + \end{tabular}% + \egroup% + \IfBooleanTF#1{\end{center}}{}% +}% onesuitEW +\newcommand\suit[2][]{% + \ODw@ChkNrOfCards{#2}{suit}% + \ODw@ChkSameCards{#2}{#1}% + \bgroup% keep font change local + #1\ODw@Cards{#2}% + \egroup% + \xspace% +}% suit +\newcommand{\ODw@Cards}[1]{% + \OdW@CardSkiptrue% + \ODw@Xfer{#1}% +}% ODw@Cards +\NewDocumentCommand\showAll{s t+ O{c}}{% + \gdef\ODw@Spades{% store all Spades together + \ODw@NSpades\ODw@ESpades\ODw@SSpades\ODw@WSpades% + }% + \gdef\ODw@Hearts{% store all Hearts together + \ODw@NHearts\ODw@EHearts\ODw@SHearts\ODw@WHearts% + }% + \gdef\ODw@Diamonds{% store all Diamonds together + \ODw@NDiamonds\ODw@EDiamonds\ODw@SDiamonds\ODw@WDiamonds% + }% + \gdef\ODw@Clubs{% store all Clubs together + \ODw@NClubs\ODw@EClubs\ODw@SClubs\ODw@WClubs% + }% + % check for multiple and nr. of cards + \ODw@ChkNrOfCards{\ODw@Spades}{\Sp}% + \ODw@ChkSameCards{\ODw@Spades}{\Sp}% + \ODw@ChkNrOfCards{\ODw@Hearts}{\He}% + \ODw@ChkSameCards{\ODw@Hearts}{\He}% + \ODw@ChkNrOfCards{\ODw@Diamonds}{\Di}% + \ODw@ChkSameCards{\ODw@Diamonds}{\Di}% + \ODw@ChkNrOfCards{\ODw@Clubs}{\Cl}% + \ODw@ChkSameCards{\ODw@Clubs}{\Cl}% + \IfBooleanTF#1{\begin{center}}{}% + \bgroup% + \setlength\tabcolsep{0em}% + \ODw@GameSize% + \ODw@TestIfEmpty{\ODw@HeaderText}{ODw@EmptyHeader}% + \ODw@TestIfEmpty{\ODw@FooterText}{ODw@EmptyFooter}% + % sbox1 necessary to calc. |Compasssize| for |Nhand| + \sbox1{\ODw@Compass}% + \sbox0{% +\begin{tabular}[#3]{@{}r@{}c@{}l@{}}% + \ODw@LeftUpperText & \ODw@Nhand & \ODw@RightUpperText\\ + \ODw@Whand & \usebox{1} & \ODw@Ehand\\ + \ODw@LeftLowerText & \ODw@Shand & \ODw@RightLowerText\\ +\end{tabular}% + }% sbox + \ODw@gsetlength{\ODw@Diagram@Width}{\wd0}% + \begin{tabular}[#3]{@{}r@{}c@{}l@{}}% + \ODw@ProcessHeader{3}% span 3 columns + \ODw@LeftUpperText & \ODw@Nhand & \ODw@RightUpperText\\ + \ODw@Whand & \usebox{1} & \ODw@Ehand\\ + \ODw@LeftLowerText & \ODw@Shand & \ODw@RightLowerText\\ + \ODw@ProcessFooter{3}% span 3 columns + \end{tabular}% + \IfBooleanTF#2{% + % needed for \ODw@CondNewLine + \setlength{\ODw@Bid@Width}{\wd\ODw@BidBox}% + \ODw@CondNewLine% + \usebox{\ODw@BidBox}% + }{}% + \egroup% + \IfBooleanTF#1{\end{center}}{}% +}% showAll +\NewDocumentCommand\showNS{s t+ O{c}}{% + \gdef\ODw@Spades{\ODw@NSpades\ODw@SSpades}% + \gdef\ODw@Hearts{\ODw@NHearts\ODw@SHearts}% + \gdef\ODw@Diamonds{\ODw@NDiamonds\ODw@SDiamonds}% + \gdef\ODw@Clubs{\ODw@NClubs\ODw@SClubs}% + \ODw@ChkSameCards{\ODw@Spades}{\Sp}% + \ODw@ChkSameCards{\ODw@Hearts}{\He}% + \ODw@ChkSameCards{\ODw@Diamonds}{\Di}% + \ODw@ChkSameCards{\ODw@Clubs}{\Cl}% + \IfBooleanTF#1{\begin{center}}{}% + \bgroup% + \setlength\tabcolsep{0em}% + \ODw@GameSize% + \ODw@TestIfEmpty{\ODw@HeaderText}{ODw@EmptyHeader}% + \ODw@TestIfEmpty{\ODw@FooterText}{ODw@EmptyFooter}% + % sbox1 necessary to calc. |Compasssize| for |Nhand| + \sbox1{\ODw@Compass}% + \sbox0{% + \begin{tabular}[#3]{@{}r@{}c@{}l@{}}% + & \ODw@Nhand & \\ + & \usebox{1} & \\ + & \ODw@Shand & \\ + \end{tabular}% + }% sbox0 + \ODw@gsetlength\ODw@Diagram@Width{\wd0}% + \begin{tabular}[#3]{@{}r@{}c@{}l@{}}% + \ODw@ProcessHeader{3}% span 3 columns + & \ODw@Nhand & \\ + & \usebox{1} & \\ + & \ODw@Shand & \\ + \ODw@ProcessFooter{3}% span 3 columns + \end{tabular}% + \IfBooleanTF#2{% + % necessary for \ODw@CondNewLine + \setlength{\ODw@Bid@Width}{\wd\ODw@BidBox}% + \ODw@CondNewLine% + \usebox{\ODw@BidBox}% + }{}% + \egroup% + \IfBooleanTF#1{\end{center}}{}% +}% showNS +\NewDocumentCommand\showEW{s t+ O{c}}{% + \gdef\ODw@Spades{\ODw@ESpades\ODw@WSpades}% + \gdef\ODw@Hearts{\ODw@EHearts\ODw@WHearts}% + \gdef\ODw@Diamonds{\ODw@EDiamonds\ODw@WDiamonds}% + \gdef\ODw@Clubs{\ODw@EClubs\ODw@WClubs}% + \ODw@ChkSameCards{\ODw@Spades}{\Sp}% + \ODw@ChkSameCards{\ODw@Hearts}{\He}% + \ODw@ChkSameCards{\ODw@Diamonds}{\Di}% + \ODw@ChkSameCards{\ODw@Clubs}{\Cl}% + \IfBooleanTF#1{\begin{center}}{}% + \bgroup% + \setlength\tabcolsep{0em}% + \ODw@GameSize% + \ODw@TestIfEmpty{\ODw@HeaderText}{ODw@EmptyHeader}% + \ODw@TestIfEmpty{\ODw@FooterText}{ODw@EmptyFooter}% + \sbox0{% + \begin{tabular}[#3]{@{}r@{}c@{}l@{}}% + \ODw@Whand & \ODw@Compass & \ODw@Ehand \\ + \end{tabular}% + }% sbox + \ODw@gsetlength{\ODw@Diagram@Width}{\wd0}% + \begin{tabular}[#3]{@{}r@{}c@{}l@{}}% + \ODw@ProcessHeader{3}% span 3 columns + & & \\ + \ODw@Whand & \ODw@Compass & \ODw@Ehand \\ + \ODw@ProcessFooter{3}% span 3 columns + \end{tabular}% + \IfBooleanTF#2{% + % necessary for \ODw@CondNewLine + \setlength{\ODw@Bid@Width}{\wd\ODw@BidBox}% + \ODw@CondNewLine% + \usebox{\ODw@BidBox}% + }{}% + \egroup% + \IfBooleanTF#1{\end{center}}{}% +}% showEW +\NewDocumentCommand\showNE{s t+ O{c}}{% + \gdef\ODw@Spades{\ODw@NSpades\ODw@ESpades}% + \gdef\ODw@Hearts{\ODw@NHearts\ODw@EHearts}% + \gdef\ODw@Diamonds{\ODw@NDiamonds\ODw@EDiamonds}% + \gdef\ODw@Clubs{\ODw@NClubs\ODw@EClubs}% + \ODw@ChkSameCards{\ODw@Spades}{\Sp}% + \ODw@ChkSameCards{\ODw@Hearts}{\He}% + \ODw@ChkSameCards{\ODw@Diamonds}{\Di}% + \ODw@ChkSameCards{\ODw@Clubs}{\Cl}% + \IfBooleanTF#1{\begin{center}}{}% + \bgroup% + \setlength\tabcolsep{0em}% + \ODw@GameSize% + \ODw@TestIfEmpty{\ODw@HeaderText}{ODw@EmptyHeader}% + \ODw@TestIfEmpty{\ODw@FooterText}{ODw@EmptyFooter}% + % sbox1 necessary to calc. |Compasssize| for |Nhand| + \sbox1{\ODw@Compass}% + \sbox0{% + \begin{tabular}[#3]{@{}c@{}l@{}}% + \ODw@Nhand & \ODw@RightUpperText\\ + \usebox{1} & \ODw@Ehand\\ + \end{tabular}% + }% sbox + \ODw@gsetlength{\ODw@Diagram@Width}{\wd0}% + \begin{tabular}[#3]{@{}c@{}l@{}}% + \ODw@ProcessHeader{2}% span 2 columns + \ODw@Nhand & \ODw@RightUpperText\\ + \usebox{1} & \ODw@Ehand\\ + \ODw@ProcessFooter{2}% span 2 columns + \end{tabular}% + \IfBooleanTF#2{% + % necessary for \ODw@CondNewLine + \setlength{\ODw@Bid@Width}{\wd\ODw@BidBox}% + \ODw@CondNewLine% + \usebox{\ODw@BidBox}% + }{}% + \egroup% + \IfBooleanTF#1{\end{center}}{}% +}% showNE +\NewDocumentCommand\showNW{s t+ O{c}}{% + \gdef\ODw@Spades{\ODw@NSpades\ODw@WSpades}% + \gdef\ODw@Hearts{\ODw@NHearts\ODw@WHearts}% + \gdef\ODw@Diamonds{\ODw@NDiamonds\ODw@WDiamonds}% + \gdef\ODw@Clubs{\ODw@NClubs\ODw@WClubs}% + \ODw@ChkSameCards{\ODw@Spades}{\Sp}% + \ODw@ChkSameCards{\ODw@Hearts}{\He}% + \ODw@ChkSameCards{\ODw@Diamonds}{\Di}% + \ODw@ChkSameCards{\ODw@Clubs}{\Cl}% + \IfBooleanTF#1{\begin{center}}{}% + \bgroup% + \setlength\tabcolsep{0em}% + \ODw@GameSize% + \ODw@TestIfEmpty{\ODw@HeaderText}{ODw@EmptyHeader}% + \ODw@TestIfEmpty{\ODw@FooterText}{ODw@EmptyFooter}% + % sbox1 necessary to calc. |Compasssize| for |Nhand| + \sbox1{\ODw@Compass}% + \sbox0{% + \begin{tabular}[#3]{@{}c@{}l@{}}% + \ODw@LeftUpperText & \ODw@Nhand\\ + \ODw@Whand & \usebox{1}\\ + \end{tabular}% + }% sbox + \ODw@gsetlength{\ODw@Diagram@Width}{\wd0}% + \begin{tabular}[#3]{@{}r@{}c@{}}% + \ODw@ProcessHeader{2}% span 2 columns + \ODw@LeftUpperText & \ODw@Nhand\\ + \ODw@Whand & \usebox{1}\\ + \ODw@ProcessFooter{2}% span 2 columns + \end{tabular}% + \IfBooleanTF#2{% + % necessary for \ODw@CondNewLine + \setlength{\ODw@Bid@Width}{\wd\ODw@BidBox}% + \ODw@CondNewLine% + \usebox{\ODw@BidBox}% + }{}% + \egroup% + \IfBooleanTF#1{\end{center}}{}% +}% showNW +\newcommand{\ODw@Compass}{% + \begingroup + \def\ODw@V{-1}\def\ODw@D{-1}% + \def\@ODw{\none}\ifx\ODw@Vulner\@ODw\def\ODw@V{0}\fi% + \def\@ODw{\none*}\ifx\ODw@Vulner\@ODw\def\ODw@V{0}\fi% + \def\@ODw{\none!}\ifx\ODw@Vulner\@ODw\def\ODw@V{0}\fi% + \def\@ODw{\none*!}\ifx\ODw@Vulner\@ODw\def\ODw@V{0}\fi% + \def\@ODw{\all}\ifx\ODw@Vulner\@ODw\def\ODw@V{1}\fi% + \def\@ODw{\all*}\ifx\ODw@Vulner\@ODw\def\ODw@V{1}\fi% + \def\@ODw{\all!}\ifx\ODw@Vulner\@ODw\def\ODw@V{1}\fi% + \def\@ODw{\all*!}\ifx\ODw@Vulner\@ODw\def\ODw@V{1}\fi% + \def\@ODw{\NorthSouth}\ifx\ODw@Vulner\@ODw\def\ODw@V{2}\fi% + \def\@ODw{\NorthSouth*}\ifx\ODw@Vulner\@ODw\def\ODw@V{2}\fi% + \def\@ODw{\NorthSouth!}\ifx\ODw@Vulner\@ODw\def\ODw@V{2}\fi% + \def\@ODw{\NorthSouth*!}\ifx\ODw@Vulner\@ODw\def\ODw@V{2}\fi% + \def\@ODw{\EastWest}\ifx\ODw@Vulner\@ODw\def\ODw@V{3}\fi% + \def\@ODw{\EastWest*}\ifx\ODw@Vulner\@ODw\def\ODw@V{3}\fi% + \def\@ODw{\EastWest!}\ifx\ODw@Vulner\@ODw\def\ODw@V{3}\fi% + \def\@ODw{\EastWest*!}\ifx\ODw@Vulner\@ODw\def\ODw@V{3}\fi% + \def\@ODw{\North}\ifx\ODw@Dealer\@ODw\def\ODw@D{0}\fi% + \def\@ODw{\North*}\ifx\ODw@Dealer\@ODw\def\ODw@D{0}\fi% + \def\@ODw{\North!}\ifx\ODw@Dealer\@ODw\def\ODw@D{0}\fi% + \def\@ODw{\North*!}\ifx\ODw@Dealer\@ODw\def\ODw@D{0}\fi% + \def\@ODw{\East}\ifx\ODw@Dealer\@ODw\def\ODw@D{1}\fi% + \def\@ODw{\East*}\ifx\ODw@Dealer\@ODw\def\ODw@D{1}\fi% + \def\@ODw{\East!}\ifx\ODw@Dealer\@ODw\def\ODw@D{1}\fi% + \def\@ODw{\East*!}\ifx\ODw@Dealer\@ODw\def\ODw@D{1}\fi% + \def\@ODw{\South}\ifx\ODw@Dealer\@ODw\def\ODw@D{2}\fi% + \def\@ODw{\South*}\ifx\ODw@Dealer\@ODw\def\ODw@D{2}\fi% + \def\@ODw{\South!}\ifx\ODw@Dealer\@ODw\def\ODw@D{2}\fi% + \def\@ODw{\South*!}\ifx\ODw@Dealer\@ODw\def\ODw@D{2}\fi% + \def\@ODw{\West}\ifx\ODw@Dealer\@ODw\def\ODw@D{3}\fi% + \def\@ODw{\West*}\ifx\ODw@Dealer\@ODw\def\ODw@D{3}\fi% + \def\@ODw{\West!}\ifx\ODw@Dealer\@ODw\def\ODw@D{3}\fi% + \def\@ODw{\West*!}\ifx\ODw@Dealer\@ODw\def\ODw@D{3}\fi% + \ODw@CompassDefault% use the compass font + \def\PicSize{500}% + \def\MidSize{250}% + % Multiply unitlength=0.005em with CompSize (default= 1) + \setlength\unitlength{0.005em * \real{\ODw@CompSize}}% + \ODw@gsetlength\ODw@Compasssize{\unitlength * \PicSize + 2ex}% + \def\Hoffset{30}% distance between W (E) and frame + \def\Voffset{30}% distance between N (S) and frame + \setlength\ODw@Tmp@Width{0.1em * \real{\ODw@CompLine}}% + \linethickness{\ODw@Tmp@Width}% + % leave 1ex space on all sides + \parbox[c][\ODw@Compasssize]{\ODw@Compasssize}{% + \centering% + \begin{picture}(\PicSize,\PicSize)% + \ifODw@CompShow% + % the frame + \moveto(0,0) + \if\ODw@CompLine0% must do it this way, because + \else% linethickness zero does not suppress the line + \lineto(0,\PicSize)\lineto(\PicSize,\PicSize) + \lineto(\PicSize,0)\closepath\strokepath + \fi% + % the cardinal points + \put(\MidSize,\the\numexpr \PicSize - \Voffset)% + {\makebox[0pt]{\raisebox{-\height}{\ODw@Print{0}}}}% N + \put(\MidSize,\Voffset){\makebox[0pt]{\ODw@Print{2}}}% S + \put(\Hoffset,\MidSize){% + \makebox[0pt][l]{% + \ifODw@CompTurn% + \raisebox{-0.5\height}{% + \rotatebox[origin=t]{90}{\ODw@Print{3}}% + }% + \else% + \raisebox{-0.5\height}{\ODw@Print{3}}% + \fi% + }% makebox + }% W + \put(\the\numexpr \PicSize - \Hoffset,\MidSize)% + {\makebox[0pt][r]{% + \raisebox{-0.5\height}{% + \ifODw@CompTurn% + \rotatebox[origin=c]{90}{\ODw@Print{1}}% + \else% + \ODw@Print{1}% + \fi% + }% + }% makebox + }% E + % the center + \put(\MidSize,\MidSize){\makebox(0,0){\ODw@mid}} + \fi% + \end{picture}% + }% parbox + \endgroup +}% ODw@Compass +\newcommand\ODw@Print[1]{% +\bgroup + \smaller\smaller% + \ifcase#1% #1=0: print N + \ifboolexpr{ test {\ifnumcomp{\ODw@D}{=}{0}}}% + {% dealer = N + \ifboolexpr{ test {\ifnumcomp{\ODw@V}{=}{1}} or% + test {\ifnumcomp{\ODw@V}{=}{2}} }% + {\ODw@PrintColor{\underline{\ODw@N*}}}% Vul + {\underline{\ODw@N*}}% not Vul + }{% dealer <> N + \ifboolexpr{ test {\ifnumcomp{\ODw@V}{=}{1}} or% + test {\ifnumcomp{\ODw@V}{=}{2}} }% + {\ODw@PrintColor{\ODw@N*}}% Vul + {\ODw@N*}% not Vul + }% + \or% #1=1: print E + \ifboolexpr{ test {\ifnumcomp{\ODw@D}{=}{1}}}% + {% dealer E + \ifboolexpr{ test {\ifnumcomp{\ODw@V}{=}{1}} or% + test {\ifnumcomp{\ODw@V}{=}{3}} }% + {\ODw@PrintColor{\underline{\ODw@E*}}}% Vul + {\underline{\ODw@E*}}% not Vul + }{% dealer <> E + \ifboolexpr{ test {\ifnumcomp{\ODw@V}{=}{1}} or% + test {\ifnumcomp{\ODw@V}{=}{3}} }% + {\ODw@PrintColor{\ODw@E*}}% Vul + {\ODw@E*}% not Vul + }% + \or% #1=2: print S + \ifboolexpr{ test {\ifnumcomp{\ODw@D}{=}{2}}}% + {% dealer S + \ifboolexpr{ test {\ifnumcomp{\ODw@V}{=}{1}} or% + test {\ifnumcomp{\ODw@V}{=}{2}} }% + {\ODw@PrintColor{% + \ensuremath{\overline{\mbox{\ODw@S*}}}}% + }% Vul + {\ensuremath{\overline{\mbox{\ODw@S*}}}}% not Vul + }{% dealer <> S + \ifboolexpr{ test {\ifnumcomp{\ODw@V}{=}{1}} or% + test {\ifnumcomp{\ODw@V}{=}{2}} }% + {\ODw@PrintColor{\ODw@S*}}% Vul + {\ODw@S*}% not Vul + }% + \or% #1=3: print W + \ifboolexpr{ test {\ifnumcomp{\ODw@D}{=}{3}}}% + {% dealer W + \ifboolexpr{ test {\ifnumcomp{\ODw@V}{=}{1}} or% + test {\ifnumcomp{\ODw@V}{=}{3}} }% + {\ODw@PrintColor{\underline{\ODw@W*}}}% Vul + {\underline{\ODw@W*}}% not Vul + }{% dealer <> W + \ifboolexpr{ test {\ifnumcomp{\ODw@V}{=}{1}} or% + test {\ifnumcomp{\ODw@V}{=}{3}} }% + {\ODw@PrintColor{\ODw@W*}}% Vul + {\ODw@W*}% not Vul + }% + \fi% (ifcase#1) +\egroup% +}% ODw@Print +\newcommand\ODw@PrintColor[1]{% + \ifODw@monochrome\textit{#1}\else\textcolor{red}{#1}\fi% +}% ODw@PrintColor +\def\ODw@CompMid{} +\def\ODw@mid{{\smaller\smaller\smaller\ODw@CompMid}} +\newcommand{\ODw@Box}{% + \bgroup + \setlength{\fboxsep}{0pt}% + \setlength{\fboxrule}{0.1em}% + \fbox{\rule{0mm}{0.7em}\rule{0.7em}{0mm}}% + \egroup +}% ODw@Box +\def\ODw@BoardText{} +\NewDocumentCommand\boardtext{s}{% + \IfBooleanTF#1{\GetTranslation{Board-(ODw)}:\,\ODw@BoardText}% + {\ODw@BoardText}% +}% boardtext +\newcommand{\boardnr}[1]{% + \IfInteger{#1}{% + \gdef\ODw@BoardText{% + \bgroup% + \ODw@OtherFont% + #1% + \egroup% + }% + \setcounter{ODw@Cnt}{#1}% + \whiledo{\theODw@Cnt > 16}{% + \addtocounter{ODw@Cnt}{-16}% + }% whiledo, now 1 <= Cnt <= 16 + \IfEqCase{\theODw@Cnt}{% set dealer/vulner + {0}{\gdef\ODw@BoardText{}\vulner[-1]\dealer[-1]} + {1}{\vulner[\none]\dealer[\North*!]} + {2}{\vulner[\NorthSouth*!]\dealer[\East*!]} + {3}{\vulner[\EastWest*!]\dealer[\South*!]} + {4}{\vulner[\all]\dealer[\West*!]} + {5}{\vulner[\NorthSouth*!]\dealer[\North*!]} + {6}{\vulner[\EastWest*!]\dealer[\East*!]} + {7}{\vulner[\all]\dealer[\South*!]} + {8}{\vulner[\none]\dealer[\West*!]} + {9}{\vulner[\EastWest*!]\dealer[\North*!]} + {10}{\vulner[\all]\dealer[\East*!]} + {11}{\vulner[\none]\dealer[\South*!]} + {12}{\vulner[\NorthSouth*!]\dealer[\West*!]} + {13}{\vulner[\all]\dealer[\North*!]} + {14}{\vulner[\none]\dealer[\East*!]} + {15}{\vulner[\NorthSouth*!]\dealer[\South*!]} + {16}{\vulner[\EastWest*!]\dealer[\West*!]} + }% IfEqCase + }{\gdef\ODw@BoardText{#1}}% otherwise take #1 +}% boardnr +\newcommand\headlinetext[1]{\gdef\ODw@HeaderText{#1}} +\headlinetext{} +\newcommand\footlinetext[1]{\gdef\ODw@FooterText{#1}} +\footlinetext{} +\def\ODw@LeftUpperText{} +\newcommand\leftupper[4][0pt]{% + \gdef\ODw@LeftUpperText{% + \hspace{-#1}% + \begin{tabular}[t]{l}#2\\#3\\#4\\\end{tabular} + }% +}% leftupper +\def\ODw@LeftLowerText{} +\newcommand\leftlower[4][0pt]{% + \gdef\ODw@LeftLowerText{% + \hspace{-#1}% + \begin{tabular}[b]{l}#2\\#3\\#4\\\end{tabular} + }% +}% leftlower +\def\ODw@RightUpperText{} +\newcommand\rightupper[4][0pt]{% + \gdef\ODw@RightUpperText{% + \hspace{#1}% + \begin{tabular}[t]{l}#2\\#3\\#4\\\end{tabular} + }% +}% rightupper +\def\ODw@RightLowerText{} +\newcommand\rightlower[4][0pt]{% + \gdef\ODw@RightLowerText{% + \hspace{#1}% + \begin{tabular}[b]{l}#2\\#3\\#4\\\end{tabular} + }% +}% rightlower +\newcommand{\ODw@ProcessHeader}[1]{% + \ifODw@EmptyHeader% Must be this way (StackExchange) + \else% |\ifthenelse| bites |\multicolumn|! + \multicolumn{#1}{% + p{\dimexpr\ODw@Diagram@Width-% + 2\tabcolsep-2\arrayrulewidth}% + }{{\ODw@LegendFont\ODw@HeaderText}}\\ + \fi% +}% ODw@ProcessHeader +\newcommand{\ODw@TestIfEmpty}[2]{% + \ifthenelse{\equal{#1}{}}{% + \setboolean{#2}{true}}{% + \setboolean{#2}{false}% + }% +}% ODw@TestIfEmpty +\newcommand{\ODw@ProcessFooter}[1]{% + \ifODw@EmptyFooter% Must be this way (StackExchange) + \else% |\ifthenelse| bites |\multicolumn|! + \multicolumn{#1}{% + p{\dimexpr\ODw@Diagram@Width% + -2\tabcolsep-2\arrayrulewidth}% + }{{\ODw@LegendFont\ODw@FooterText}}\\ + \fi% +}% ODw@ProcessFooter +\newcommand\handskip[1]{% + \def\ODw@Skipwidth{1em + #1}% recalculate the new Skipwidth + \setlength\ODw@Skip@Width{\ODw@Skipwidth}% +}% handskip +\def\ODw@DealerText{% + \bgroup% + \ODw@OtherFont\GetTranslation{Dealer-(ODw)}% + \egroup% +}% ODw@DealerText +\NewDocumentCommand\ODw@VulnerText{s t!}{% + \bgroup% + \ODw@OtherFont% + \IfBooleanTF#1{% + \IfBooleanTF#2{\GetTranslation{Vul-(ODw)}}% + {\GetTranslation{Vulnerable-(ODw)}}% + }{% + \IfBooleanTF#2{\GetTranslation{vul-(ODw)}}% + {\GetTranslation{vulnerable-(ODw)}}% + }% + \egroup% + \xspace% +}% ODw@VulnerText +\def\ODw@AwardText{\textsf{\GetTranslation{Award-(ODw)}}} +\newcommand\dealer[1][]{% + \ifthenelse{\equal{#1}{}}% + {\ODw@Dealer}% + {\gdef\ODw@Dealer{#1}}% +}% dealer +\def\ODw@Dealer{\North*} +\newcommand\vulner[1][]{% + \ifthenelse{\equal{#1}{}}% + {\ODw@Vulner}% + {\gdef\ODw@Vulner{#1}}% +}% vulner +\def\ODw@Vulner{\NorthSouth} +\newcommand\dealertext[1][\ODw@Dealer]{\ODw@DealerText:\,#1} +\newcommand\vulnertext[1][\ODw@Vulner]{% + \ifODw@LongCalls% + \ODw@VulnerText*% + \else% + \ODw@VulnerText*!% + \fi% + :\,#1% +} +\newcommand{\alert}{{}\ensuremath{^\textbf{*}}} +\newcommand{\announce}{{}\ensuremath{^\textbf{\smaller A}}} +\newcommand\markit{% + \stepcounter{ODw@Nr}% + \footnotemark[\theODw@Nr]% +}% markit +\newcommand\explainit[1]{% + \stepcounter{ODw@Nr}% + \ensuremath{{}^\textrm{\smaller\alph{ODw@Nr}}}\,#1% +}% explainit +\newcolumntype{B}{% for Biddings + >{\collectcell\ODw@BTfer}c<{\endcollectcell}} +\newcolumntype{F}{% for First column in |play| diagrams + >{\collectcell\ODw@FTfer}c<{\endcollectcell}} +\newcolumntype{P}{% for |Play| diagrams (2nd--4th column) + >{\collectcell\ODw@PTfer}c<{\endcollectcell}} +\NewEnviron{ODw@Bidding}[2][t]{% + \def\xspace{}% + \setlength\tabcolsep{0.2em}% + \sbox{0}{% + \begin{tabular}[#1]{BBBB}% 1st column + \ifODw@Bidders% + \cci{ % there MUST be a ' ' (space) + \ODw@BidderFont% + \ifODw@short\ODw@BidderI% + \else\ODw@BidderI*% + \fi% + } &% 2nd column + \cci{ % there MUST be a ' ' (space) + \ODw@BidderFont% + \ifODw@short\ODw@BidderII% + \else\ODw@BidderII*% + \fi% + } &% 3rd column + \cci{ % there MUST be a ' ' (space) + \ODw@BidderFont% + \ifODw@short\ODw@BidderIII% + \else\ODw@BidderIII*% + \fi% + } &% 4th column + \cci{ % there MUST be a ' ' (space) + \ODw@BidderFont% + \ifODw@short\ODw@BidderIV% + \else\ODw@BidderIV*% + \fi% + } \\% end of 1st row + \if\ODw@All@Names\empty% + \else% 2nd row + \cci{ \ODw@NameFont\ODw@NameI} &% please + \cci{ \ODw@NameFont\ODw@NameII} &% mind + \cci{ \ODw@NameFont\ODw@NameIII} &% the + \cci{ \ODw@NameFont\ODw@NameIV} \\% spaces! + \fi% + \ifODw@BidLine\hline\fi% + \fi% + \BODY% +%%%%%% + \end{tabular}% + }% sbox0 + \setcounter{ODw@Nr}{0}% + \setlength{\ODw@Bid@Width}{\wd0}% + \global\sbox\ODw@BidBox{% + \begin{tabular}[#1]{BBBB}% 1st column + \ifODw@Bidders% + \cci{ % there MUST be a ' ' (space) + \ODw@BidderFont% + \ifODw@short\ODw@BidderI% + \else\ODw@BidderI*% + \fi% + } &% 2nd column + \cci{ % there MUST be a ' ' (space) + \ODw@BidderFont% + \ifODw@short\ODw@BidderII% + \else\ODw@BidderII*% + \fi% + } &% 3rd column + \cci{ % there MUST be a ' ' (space) + \ODw@BidderFont% + \ifODw@short\ODw@BidderIII% + \else\ODw@BidderIII*% + \fi% + } &% 4th column + \cci{ % there MUST be a ' ' (space) + \ODw@BidderFont% + \ifODw@short\ODw@BidderIV% + \else\ODw@BidderIV*% + \fi% + } \\% end of 1st row + \if\ODw@All@Names\empty% + \else% 2nd row + \cci{ \ODw@NameFont\ODw@NameI} &% please + \cci{ \ODw@NameFont\ODw@NameII} &% mind + \cci{ \ODw@NameFont\ODw@NameIII} &% the + \cci{ \ODw@NameFont\ODw@NameIV} \\% spaces! + \fi% + \ifODw@BidLine\hline\fi% + \fi + \BODY% +%%%%% Until here the same code as in the sbox! + \ifODw@description% + % Add the description, if not empty + \hline% + \multicolumn{4}{% span explanations over 4 cols... + p{\dimexpr\ODw@Bid@Width-2\tabcolsep}% + }{% ...with the right width + \setcounter{ODw@Nr}{0}% + \raggedright% + \smaller\smaller#2% + }\\% + \fi% + \end{tabular}% + }% sbox ODw@BidBox +}% ODw@Bidding +\NewEnviron{ODw@Biddingpair}[2][t]{% + \def\xspace{}% + \setlength\tabcolsep{0.2em}% + \sbox{0}{% + \begin{tabular}[#1]{BB}% 1st column + \ifODw@Bidders% + \cci{ % there MUST be a ' ' (space) + \ODw@BidderFont% + \ifODw@short\ODw@BidderI% + \else\ODw@BidderI*% + \fi% + } &% 2nd column + \cci{ % there MUST be a ' ' (space) + \ODw@BidderFont% + \ifODw@short\ODw@BidderIII% + \else\ODw@BidderIII*% + \fi% + } \\% end of 1st row + \if\ODw@All@Names\empty% + \else% 2nd row + \cci{ \ODw@NameFont\ODw@NameI} &% please mind + \cci{ \ODw@NameFont\ODw@NameIII} \\% the spaces! + \fi% + \ifODw@BidLine\hline\fi% + \fi% + \BODY% +%%%%%%% + \end{tabular}% + }% sbox0 + \setcounter{ODw@Nr}{0}% + \setlength{\ODw@Bid@Width}{\wd0}% + \global\sbox\ODw@BidBox{% + \begin{tabular}[#1]{BB}% 1st column + \ifODw@Bidders% + \cci{ % there MUST be a ' ' (space) + \ODw@BidderFont% + \ifODw@short\ODw@BidderI% + \else\ODw@BidderI*% + \fi% + } &% 2nd column + \cci{ % there MUST be a ' ' (space) + \ODw@BidderFont% + \ifODw@short\ODw@BidderIII% + \else\ODw@BidderIII*% + \fi% + } \\% end of 1st row + \if\ODw@All@Names\empty% + \else% 2nd row + \cci{ \ODw@NameFont\ODw@NameI} &% please mind + \cci{ \ODw@NameFont\ODw@NameIII} \\% the spaces! + \fi% + \ifODw@BidLine\hline\fi% + \fi% + \BODY% + %%%%%% Until here the same code as in the sbox! + \ifODw@description% + % Add the description, if not empty + \hline% + \multicolumn{2}{% + p{\dimexpr\ODw@Bid@Width-2\tabcolsep}% + }{% + \setcounter{ODw@Nr}{0}% + \raggedright% + \smaller\smaller#2% + }\\% + \fi% + \end{tabular}% + }% sbox ODw@BidBox +}% ODw@Biddingpair +\NewDocumentEnvironment{bidding}{s t! t- O{c}d()}{% + \ODw@GameSize% + \renewcommand{\thefootnote}{\alph{footnote}}% + \setcounter{ODw@Nr}{0}% + \IfBooleanTF#1{\center}{}% "*" detected + \IfBooleanTF{#2}{\ODw@shorttrue}{}% "!" detected + \IfValueTF{#5}{\ODw@descriptiontrue}{\ODw@descriptionfalse}% + \ODw@Bidding[#4]{#5}% +}{% + \endODw@Bidding% + \IfBooleanTF{#3}% + {\rule{0pt}{0pt}}% + % +---without this, pdflatex aborts compilation! + {\usebox{\ODw@BidBox}}% "-" detected + \IfBooleanTF#1{\endcenter}{}% +}% bidding +\NewDocumentEnvironment{biddingpair}{s t! t- O{c}d()}{% + \def\xspace{}% + \ODw@GameSize% + \renewcommand{\thefootnote}{\alph{footnote}}% + \setcounter{ODw@Nr}{0}% + \IfBooleanTF#1{\center}{}% "*" detected + \IfBooleanTF{#2}{\ODw@shorttrue}{}% "+" detected + \IfValueTF{#5}{\ODw@descriptiontrue}{\ODw@descriptionfalse}% + \ODw@Biddingpair[#4]{#5}% +}{% + \endODw@Biddingpair% + \IfBooleanTF{#3}% + {\rule{0pt}{0pt}}% + % +---without this, pdflatex aborts compilation! + {\usebox{\ODw@BidBox}}% "-" detected + \IfBooleanTF#1{\endcenter}{}% +}% biddingpair +\def\ODw@AccTricks{% + \ODw@LastTrick{\ODw@Last}{\theODw@WinningNr}% + \ODw@append{\theODw@NSCnt,\theODw@EWCnt,}% store counters + \setcounter{ODw@Highest}{0}% reset for next trick +}% ODw@AccTricks +\def\ODw@Tricks{% + \setcounter{ODw@PlayerNr}{0}% + \gdef\ODw@Last{\ODw@NextLead}% + \expandafter\GetTranslation% + \expandafter{\ODw@NextLead-(ODw)}:\,% +}% ODw@Tricks +\newcommand\ODw@LastTrick[2]{% + \IfEqCase{#1}{% + {W}{\setcounter{ODw@Cnt}{0}}% + {N}{\setcounter{ODw@Cnt}{1}}% + {E}{\setcounter{ODw@Cnt}{2}}% + {S}{\setcounter{ODw@Cnt}{3}}% + }% IfEqCase + \addtocounter{ODw@Cnt}{#2}% + \IfEqCase{\theODw@Cnt}{% + {1}{\gdef\ODw@NextLead{W}\stepcounter{ODw@EWCnt}} + {2}{\gdef\ODw@NextLead{N}\stepcounter{ODw@NSCnt}} + {3}{\gdef\ODw@NextLead{E}\stepcounter{ODw@EWCnt}} + {4}{\gdef\ODw@NextLead{S}\stepcounter{ODw@NSCnt}} + {5}{\gdef\ODw@NextLead{W}\stepcounter{ODw@EWCnt}} + {6}{\gdef\ODw@NextLead{N}\stepcounter{ODw@NSCnt}} + {7}{\gdef\ODw@NextLead{E}\stepcounter{ODw@EWCnt}} + }% IfEqCase +}% ODw@LastTrick +\NewDocumentEnvironment{play}{s mO{N}}{% + \def\ODw@TrumpSuit{#3} + \gdef\ODw@NextLead{#2}% + \setcounter{ODw@Nr}{0}% + \setcounter{ODw@NSCnt}{0} + \setcounter{ODw@EWCnt}{0}% + \ODw@GameSize% + \ODw@Scratch{}% make empty + \let\ODw@Clubs\empty% + \let\ODw@Diamonds\empty% + \let\ODw@Hearts\empty% + \let\ODw@Spades\empty% +\def\ODw@EXtra{0.9em}% white space in title +\provideenvironment{TableII}{% + \begin{tabular}[b]{FPPP}% + \multicolumn{1}{c}{\GetTranslation{Lead!-(ODw)}} &% + \cci{\GetTranslation{2nd-(ODw)}} &% + \cci{\GetTranslation{3rd-(ODw)}} &% + \cci{\GetTranslation{4th-(ODw)}} \\[0.3em]\hline% + \multicolumn{4}{c}{}\\[-\ODw@EXtra]% +}{% + \end{tabular}% +}% TableII + \begin{lrbox}{0}% save TableII for later + \begin{TableII} +}{% + \end{TableII} + \end{lrbox}% + % Check consistency of the played cards + \ODw@ChkSameCards{\ODw@Spades}{\Sp}% + \ODw@ChkSameCards{\ODw@Hearts}{\He}% + \ODw@ChkSameCards{\ODw@Diamonds}{\Di}% + \ODw@ChkSameCards{\ODw@Clubs}{\Cl}% + \setcounter{ODw@Cnt}{0}% + \IfBooleanTF#1{\begin{center}}{}% + \begin{tabular}[b]{r}% TableI + \cci{\GetTranslation{Nr-(ODw)}}\\[0.3em] + \hline\\[-\ODw@EXtra]% + \setcounter{ODw@Cnt}{1}% + \whiledo{\theODw@Cnt<\theODw@Nr}{% + \theODw@Cnt\\ + \stepcounter{ODw@Cnt}% + }% + \theODw@Cnt\\% MUST be outside the loop + % (the extra line problem]! + \end{tabular}% + \usebox{0}% + \setcounter{ODw@Nr}{0}% + \renewcommand*{\do}[1]{% + \ifnumequal{\value{ODw@Nr}}{2}{\\\setcounter{ODw@Nr}{0}}{}% + \stepcounter{ODw@Nr}% + ##1 + \ifnumequal{\value{ODw@Nr}}{2}{}{&}% + }% + \begin{tabular}[b]{|cc}% TableIII + \multicolumn{1}{|c}{% + \cci{\scriptsize\shortstack[c]{\North*!\\\South*!}}} &% + \multicolumn{1}{c}{% + \cci{\scriptsize\shortstack[c]{\East*!\\\West*!}}% + }\\\hline\\[-\ODw@EXtra]% + \expandafter\docsvlist\expandafter{\the\ODw@Scratch}% + \end{tabular}% + \IfBooleanTF#1{\end{center}}{}% +}% play +\NewDocumentCommand\ODw@CondNewLine{O{0em}}{% + {\ODw@GameFont% needed to relate skips to the font-size + \setlength{\ODw@Tmp@Len}{\ODw@Bid@Width}% + \addtolength{\ODw@Tmp@Len}{\ODw@Diagram@Width}% + \addtolength{\ODw@Tmp@Len}{#1}% + \addtolength{\ODw@Tmp@Len}{\ODw@Skip@Width}% + \ifthenelse{\lengthtest{\ODw@Tmp@Len > \textwidth}}{% + \\[1em]}{% + \hspace{\ODw@Skip@Width}% + }% + }% +}% ODw@CondNewLine +\NewDocumentCommand\expertquiz{st! O{}m}{% + + \noindent% + \IfBooleanTF#1{\begin{center}}% "*" detected + {\par\vspace{0.5\baselineskip}}% + \bgroup% keep font changes local (e.g. "\smaller"). + \ODw@LegendFont% + \ifx#3\empty\else#3\par\fi% + \egroup% + \IfBooleanTF{#2}{~\hspace*{2em}}{}% "!" detected + \usebox{\ODw@Hand@Box}% display the saved hand + \IfBooleanTF{#2}{}{\quad}% no "!" detected + \setlength\ODw@Tmp@Width{\wd\ODw@BidBox + 1em}% + \IfBooleanTF{#2}% + {\\}% + {\addtolength\ODw@Tmp@Width{\wd\ODw@Hand@Box}}% + \usebox{\ODw@BidBox}% display the saved bidding + \par\vspace{0.3em}%\noindent% + {% keep legendfont and "smaller" local + \ODw@LegendFont% + \smaller% + \IfBooleanTF#1{\bgroup\centering}{}% + \parbox[t]{\ODw@Tmp@Width}{% + \textbf{\ODw@AwardText: }% + \raggedright#4% + }% parbox + \IfBooleanTF#1{\egroup}{}% + }% + \IfBooleanTF#1{\end{center}}{}% +}% expertquiz +\pgfkeys{% + /ODw/.is family, /ODw, + bidder/.store in = \ODw@BidderDefault, + compass/.store in = \ODw@CompassDefault, + game/.store in = \ODw@GameDefault, + legend/.store in = \ODw@LegendDefault, + name/.store in = \ODw@NameDefault, + other/.store in = \ODw@OtherDefault, + compline/.store in = \ODw@CompLine, + compmid/.store in = \ODw@CompMid, + compsize/.store in = \ODw@CompSize, +} + \ODw@set{compshow/.is choice} + \ODw@set{compshow/off/.code={\global\ODw@CompShowfalse}} + \ODw@set{compshow/on/.code={\global\ODw@CompShowtrue}} + \ODw@set{compturn/.is choice} + \ODw@set{compturn/off/.code={\global\ODw@CompTurnfalse}} + \ODw@set{compturn/on/.code={\global\ODw@CompTurntrue}} + \ODw@set{bidders/.is choice} + \ODw@set{bidders/off/.code={\global\ODw@Biddersfalse}} + \ODw@set{bidders/on/.code={\global\ODw@Bidderstrue}} + \ODw@set{bidfirst/.is choice} + \ODw@set{bidfirst/N/.code=\ODw@FirstBidCol{N}} + \ODw@set{bidfirst/E/.code=\ODw@FirstBidCol{E}} + \ODw@set{bidfirst/S/.code=\ODw@FirstBidCol{S}} + \ODw@set{bidfirst/W/.code=\ODw@FirstBidCol{W}} + \ODw@set{bidline/.is choice} + \ODw@set{bidline/off/.code={\global\ODw@BidLinefalse}} + \ODw@set{bidline/on/.code={\global\ODw@BidLinetrue}} + \ODw@set{bidlong/.is choice} + \ODw@set{bidlong/off/.code={\global\ODw@LongCallsfalse}} + \ODw@set{bidlong/on/.code={\global\ODw@LongCallstrue}} + \ODw@set{compshow/1/.code={\pgfkeys{/ODw/compshow=on}}} + \ODw@set{compshow/true/.code={\pgfkeys{/ODw/compshow=on}}} + \ODw@set{compturn/1/.code={\pgfkeys{/ODw/compturn=on}}} + \ODw@set{compturn/true/.code={\pgfkeys{/ODw/compturn=on}}} + \ODw@set{bidline/1/.code={\pgfkeys{/ODw/bidline=on}}} + \ODw@set{bidders/true/.code={\pgfkeys{/ODw/bidders=on}}} + \ODw@set{bidders/1/.code={\pgfkeys{/ODw/bidders=on}}} + \ODw@set{bidline/true/.code={\pgfkeys{/ODw/bidline=on}}} + \ODw@set{bidlong/1/.code={\pgfkeys{/ODw/bidlong=on}}} + \ODw@set{bidlong/true/.code={\pgfkeys{/ODw/bidlong=on}}} + \ODw@set{compshow/0/.code={\pgfkeys{/ODw/compshow=off}}} + \ODw@set{compshow/false/.code={\pgfkeys{/ODw/compshow=off}}} + \ODw@set{compturn/0/.code={\pgfkeys{/ODw/compturn=off}}} + \ODw@set{compturn/false/.code={\pgfkeys{/ODw/compturn=off}}} + \ODw@set{bidders/0/.code={\pgfkeys{/ODw/bidders=off}}} + \ODw@set{bidders/false/.code={\pgfkeys{/ODw/bidders=off}}} + \ODw@set{bidline/0/.code={\pgfkeys{/ODw/bidline=off}}} + \ODw@set{bidline/false/.code={\pgfkeys{/ODw/bidline=off}}} + \ODw@set{bidlong/0/.code={\pgfkeys{/ODw/bidlong=off}}} + \ODw@set{bidlong/false/.code={\pgfkeys{/ODw/bidlong=off}}} +\newcommand\resetfonts{% + \bidderfont{\ODw@BidderDefault}% + \compassfont{\ODw@CompassDefault}% + \gamefont{\ODw@GameDefault}% + \legendfont{\ODw@LegendDefault}% + \namefont{\ODw@NameDefault}% + \otherfont{\ODw@OtherDefault}% +}% resetfonts +\NewDocumentCommand\setdefaults{s m}{% + \pgfkeys{/ODw,#2}% + \IfBooleanTF{#1}{\resetfonts}{}% +}% setdefaults +\newcommand\newgame{% + \boardnr{0}% + \headlinetext{}% + \footlinetext{}% + \gdef\ODw@LeftUpperText{}% + \gdef\ODw@LeftLowerText{}% + \gdef\ODw@RightUpperText{}% + \gdef\ODw@RightLowerText{}% + \gdef\ODw@Nhand{\ODw@hand{t}{}{}{}{}}% + \gdef\ODw@Ehand{\ODw@hand{c}{}{}{}{}}% + \gdef\ODw@Shand{\ODw@hand{b}{}{}{}{}}% + \gdef\ODw@Whand{\ODw@hand{c}{}{}{}{}}% + \namesNS{}{}\namesEW{}{}% + \gdef\ODw@Spades{}% + \gdef\ODw@Hearts{}% + \gdef\ODw@Diamonds{}% + \gdef\ODw@Clubs{}% + \gdef\ODw@NSpades{}\gdef\ODw@ESpades{}% + \gdef\ODw@SSpades{}\gdef\ODw@WSpades{}% + \gdef\ODw@NHearts{}\gdef\ODw@EHearts{}% + \gdef\ODw@SHearts{}\gdef\ODw@WHearts{}% + \gdef\ODw@NDiamonds{}\gdef\ODw@EDiamonds{}% + \gdef\ODw@SDiamonds{}\gdef\ODw@WDiamonds{}% + \gdef\ODw@NClubs{}\gdef\ODw@EClubs{}% + \gdef\ODw@SClubs{}\gdef\ODw@WClubs{}% +}% newgame +\newcommand\ODw@ChkNrOfCards[2]{% + \StrDel{#1}{-}[\ODw@CardStr]% remove voids + \StrLen{\ODw@CardStr}[\ODw@CardLen]% + \ifthenelse{\ODw@CardLen > 13}{% + \ODw@Error{#2 has \ODw@CardLen{} cards}% + }{% + \ifthenelse{\ODw@CardLen < 13}{% + \ODw@Warning{#2 has \ODw@CardLen{} cards}% + }{}% + }% +}% ODw@ChkNrOfCards +\newcommand\ODw@PrErr[3]{% + \bgroup% + \if#1T\def\ODw@T{10}\else\def\ODw@T{#1}\fi% + \ifthenelse{#2 > 1}{% + \ODw@Error{Card #3\,\ODw@T{} occurs #2 times}% + }{% + \ifthenelse{#2 = 0}{% + \ODw@Warning{Card #3\,\ODw@T{} fails}}{}% + }% + \egroup% +}% ODw@PrErr +\newcommand\ODw@ChkSameCards[2]{% + \StrDel{#1}{-}[\ODw@CardStr]% + \StrCount{\ODw@CardStr}{2}[\ODw@CCnt]\ODw@PrErr{2}{\ODw@CCnt}{#2}% + \StrCount{\ODw@CardStr}{3}[\ODw@CCnt]\ODw@PrErr{3}{\ODw@CCnt}{#2}% + \StrCount{\ODw@CardStr}{4}[\ODw@CCnt]\ODw@PrErr{4}{\ODw@CCnt}{#2}% + \StrCount{\ODw@CardStr}{5}[\ODw@CCnt]\ODw@PrErr{5}{\ODw@CCnt}{#2}% + \StrCount{\ODw@CardStr}{6}[\ODw@CCnt]\ODw@PrErr{6}{\ODw@CCnt}{#2}% + \StrCount{\ODw@CardStr}{7}[\ODw@CCnt]\ODw@PrErr{7}{\ODw@CCnt}{#2}% + \StrCount{\ODw@CardStr}{8}[\ODw@CCnt]\ODw@PrErr{8}{\ODw@CCnt}{#2}% + \StrCount{\ODw@CardStr}{9}[\ODw@CCnt]\ODw@PrErr{9}{\ODw@CCnt}{#2}% + \StrCount{\ODw@CardStr}{T}[\ODw@CCnt]\ODw@PrErr{T}{\ODw@CCnt}{#2}% + \StrCount{\ODw@CardStr}{J}[\ODw@CCnt]\ODw@PrErr{J}{\ODw@CCnt}{#2}% + \StrCount{\ODw@CardStr}{Q}[\ODw@CCnt]\ODw@PrErr{Q}{\ODw@CCnt}{#2}% + \StrCount{\ODw@CardStr}{K}[\ODw@CCnt]\ODw@PrErr{K}{\ODw@CCnt}{#2}% + \StrCount{\ODw@CardStr}{A}[\ODw@CCnt]\ODw@PrErr{A}{\ODw@CCnt}{#2}% +}% ODw@ChkSameCards +\newbool{ODw@Warnings} +\newbool{ODw@Errors} +\ODw@set{warn/off/.code={% + \global\setbool{ODw@Warnings}{false}}} +\ODw@set{warn/on/.code={% + \global\setbool{ODw@Warnings}{true}}} +\ODw@set{err/off/.code={% + \global\setbool{ODw@Errors}{false}}} +\ODw@set{err/on/.code={% + \global\setbool{ODw@Errors}{true}}} +\ODw@set{warn=off} +\ODw@set{err=on} + +\ProcessPgfOptions{/ODw} + +\newcommand\ODw@Error[1]{% + \ifbool{ODw@Errors}{% + \par\textcolor{red}{Error: #1}\par}{}% +}% ODw@Error +\newcommand\ODw@Warning[1]{% + \ifbool{ODw@Warnings}{% + \par\textcolor{blue}{Warning: #1}\par}{}% +}% ODw@Warning +\NewDocumentCommand{\Ace}{s t!}{% + \bgroup% + \IfBooleanTF{#1}{% + \IfBooleanTF{#2}% + {\GetTranslation{A-(ODw)}}% + {\GetTranslation{Ace-(ODw)}}% + }{% + \IfBooleanTF{#2}% + {\GetTranslation{a-(ODw)}}% + {\GetTranslation{ace-(ODw)}}% + }% + \egroup% + \xspace% +}% Ace +\def\ace{\Ace*!} +\NewDocumentCommand{\King}{s t!}{% + \bgroup% + \IfBooleanTF{#1}{% + \IfBooleanTF{#2}% + {\GetTranslation{K-(ODw)}}% + {\GetTranslation{King-(ODw)}}% + }{% + \IfBooleanTF{#2}% + {\GetTranslation{k-(ODw)}}% + {\GetTranslation{king-(ODw)}}% + }% + \egroup% + \xspace% +}% King +\def\king{\King*!} +\NewDocumentCommand{\Queen}{s t!}{% + \bgroup% + \IfBooleanTF{#1}{% + \IfBooleanTF{#2}% + {\GetTranslation{Q-(ODw)}}% + {\GetTranslation{Queen-(ODw)}}% + }{% + \IfBooleanTF{#2}% + {\GetTranslation{q-(ODw)}}% + {\GetTranslation{queen-(ODw)}}% + }% + \egroup% + \xspace% +}% Queen +\def\queen{\Queen*!} +\NewDocumentCommand{\Jack}{s t!}{% + \bgroup% + \IfBooleanTF{#1}{% + \IfBooleanTF{#2}% + {\GetTranslation{J-(ODw)}}% + {\GetTranslation{Jack-(ODw)}}% + }{% + \IfBooleanTF{#2}% + {\GetTranslation{j-(ODw)}}% + {\GetTranslation{jack-(ODw)}}% + }% + \egroup% + \xspace% +}% Jack +\def\jack{\Jack*!} + +\NewDocumentCommand{\All}{s t!}{% + \bgroup% + \ODw@OtherFont% + \IfBooleanTF{#1}{% + \IfBooleanTF{#2}% + {\GetTranslation{All!-(ODw)}}% + {\GetTranslation{All-(ODw)}}% + }{% + \IfBooleanTF{#2}% + {\GetTranslation{all!-(ODw)}}% + {\GetTranslation{all-(ODw)}}% + }% + \egroup% + \xspace% +}% All +\def\all{\All*} + +\NewDocumentCommand{\None}{s t!}{% + \bgroup% + \ODw@OtherFont% + \IfBooleanTF{#1}{% + \IfBooleanTF{#2}% + {\GetTranslation{None!-(ODw)}}% + {\GetTranslation{None-(ODw)}}% + }{% + \IfBooleanTF{#2}% + {\GetTranslation{none!-(ODw)}}% + {\GetTranslation{none-(ODw)}}% + }% + \egroup% + \xspace% +}% None +\def\none{\None*} +%% \end{macrocode} +\NewDocumentCommand{\Contract}{s t!}{% + \bgroup% + \ODw@OtherFont% + \IfBooleanTF{#1}{% + \IfBooleanTF{#2}% + {\GetTranslation{Contr-(ODw)}}% + {\GetTranslation{Contract-(ODw)}}% + }{% + \IfBooleanTF{#2}% + {\GetTranslation{contr-(ODw)}}% + {\GetTranslation{contract-(ODw)}}% + }% + \egroup% + \xspace% +}% Contract +\def\contract{\Contract*} +%% \end{macrocode} +\NewDocumentCommand{\Lead}{s t!}{% + \bgroup% + \ODw@OtherFont% + \IfBooleanTF{#1}{% + \IfBooleanTF{#2}% + {\GetTranslation{Lead!-(ODw)}}% + {\GetTranslation{Lead-(ODw)}}% + }{% else #1 + \IfBooleanTF{#2}% + {\GetTranslation{lead!-(ODw)}}% + {\GetTranslation{lead-(ODw)}}% + }% #1 + \egroup% + \xspace% +}% Lead +\def\lead{\Lead*} +%% \end{macrocode} +\NewDocumentCommand{\Declarer}{s t!}{% + \bgroup% + \ODw@OtherFont% + \IfBooleanTF{#1}{% + \IfBooleanTF{#2}% + {\GetTranslation{Decl-(ODw)}}% + {\GetTranslation{Declarer-(ODw)}}% + }{% + \IfBooleanTF{#2}% + {\GetTranslation{decl-(ODw)}}% + {\GetTranslation{declarer-(ODw)}}% + }% + \egroup% + \xspace% +}% Declarer +\def\declarer{\Declarer*} +%% \end{macrocode} +\newcommand\by{% + \bgroup% + \ODw@OtherFont% + \GetTranslation{by-(ODw)}% + \egroup% + \xspace% +}% by +\NewDocumentCommand{\Board}{s t!}{% + \bgroup% + \ODw@OtherFont% + \IfBooleanTF{#1}{% + \IfBooleanTF{#2}% + {\GetTranslation{Brd-(ODw)}}% + {\GetTranslation{Board-(ODw)}}% + }{% + \IfBooleanTF{#2}% + {\GetTranslation{brd-(ODw)}}% + {\GetTranslation{board-(ODw)}}% + }% + \egroup% + \xspace% +}% Board +\def\board{\Board*} +%% \end{macrocode} +\NewDocumentCommand{\Deal}{s t!}{% + \bgroup% + \ODw@OtherFont% + \IfBooleanTF{#1}{% + \IfBooleanTF{#2}% + {\GetTranslation{Deal!-(ODw)}}% + {\GetTranslation{Deal-(ODw)}}% + }{% + \IfBooleanTF{#2}% + {\GetTranslation{deal!-(ODw)}}% + {\GetTranslation{deal-(ODw)}}% + }% + \egroup% + \xspace% +}% Deal +\def\deal{\Deal*} +%% \end{macrocode} +\NewDocumentCommand{\doubled}{s}{% + \bgroup% + \ODw@OtherFont% + \IfBooleanTF{#1}{% + \GetTranslation{Doubled-(ODw)}}{% + \GetTranslation{doubled-(ODw)}% + }% + \egroup% + \xspace% +}% doubled +\NewDocumentCommand{\redoubled}{s}{% + \bgroup% + \ODw@OtherFont% + \IfBooleanTF{#1}{% + \GetTranslation{Redoubled-(ODw)}}{% + \GetTranslation{redoubled-(ODw)}% + }% + \egroup% + \xspace% +}% redoubled +\NewDocumentCommand{\hpts}{s t!}{% + \bgroup% + \ODw@OtherFont% + \IfBooleanTF{#1}{% + \IfBooleanTF{#2}% + {\GetTranslation{HCP-(ODw)}}% + {\GetTranslation{High Card Points-(ODw)}}% + }{% + \IfBooleanTF{#2}% + {\GetTranslation{hcp-(ODw)}}% + {\GetTranslation{high card points-(ODw)}}% + }% + \egroup% + \xspace% +}% High Card Points +\def\HCP{\hpts*!} +\NewDocumentCommand{\lpts}{s t!}{% + \bgroup% + \ODw@OtherFont% + \IfBooleanTF{#1}{% + \IfBooleanTF{#2}% + {\GetTranslation{LP-(ODw)}}% + {\GetTranslation{Length Points-(ODw)}}% + }{% + \IfBooleanTF{#2}% + {\GetTranslation{lp-(ODw)}}% + {\GetTranslation{length points-(ODw)}}% + }% + \egroup% + \xspace% +}% Length Points +\def\LP{\lpts*!} +\NewDocumentCommand{\dpts}{s t!}{% + \bgroup% + \ODw@OtherFont% + \IfBooleanTF{#1}{% + \IfBooleanTF{#2}% + {\GetTranslation{DP-(ODw)}}% + {\GetTranslation{Distribution Points-(ODw)}}% + }{% + \IfBooleanTF{#2}% + {\GetTranslation{dp-(ODw)}}% + {\GetTranslation{distribution points-(ODw)}}% + }% + \egroup% + \xspace% +}% Distribution Points +\def\DP{\dpts*!} +\NewDocumentCommand{\tpts}{s t!}{% + \bgroup% + \ODw@OtherFont% + \IfBooleanTF{#1}{% + \IfBooleanTF{#2}% + {\GetTranslation{TP-(ODw)}}% + {\GetTranslation{Total Points-(ODw)}}% + }{% + \IfBooleanTF{#2}% + {\GetTranslation{tp-(ODw)}}% + {\GetTranslation{total points-(ODw)}}% + }% + \egroup% + \xspace% +}% Total Points +\def\TP{\tpts*!} +\NewDocumentCommand{\gforce}{s t!}{% + \bgroup% + \ODw@OtherFont% + \IfBooleanTF{#1}{% + \IfBooleanTF{#2}% + {\GetTranslation{GF-(ODw)}}% + {\GetTranslation{Game Forcing-(ODw)}}% + }{% + \IfBooleanTF{#2}% + {\GetTranslation{gf-(ODw)}}% + {\GetTranslation{game forcing-(ODw)}}% + }% + \egroup% + \xspace% +}% Game Forcing +\def\GF{\gforce*!} +\NewDocumentCommand{\sforce}{s t!}{% + \bgroup% + \ODw@OtherFont% + \IfBooleanTF{#1}{% + \IfBooleanTF{#2}% + {\GetTranslation{SF-(ODw)}}% + {\GetTranslation{Semi Forcing-(ODw)}}% + }{% + \IfBooleanTF{#2}% + {\GetTranslation{sf-(ODw)}}% + {\GetTranslation{semi forcing-(ODw)}}% + }% + \egroup% + \xspace% +}% Semi Forcing +\def\SF{\sforce*!} +\NewDocumentCommand{\nmforce}{s t!}{% + \bgroup% + \ODw@OtherFont% + \IfBooleanTF{#1}{% + \IfBooleanTF{#2}% + {\GetTranslation{NMF-(ODw)}}% + {\GetTranslation{New Minor Forcing-(ODw)}}% + }{% + \IfBooleanTF{#2}% + {\GetTranslation{nmf-(ODw)}}% + {\GetTranslation{new minor forcing-(ODw)}}% + }% + \egroup% + \xspace% +}% New Minor Forcing +\def\NMF{\nmforce*!} +\NewDocumentCommand{\tsforce}{s t!}{% + \bgroup% + \ODw@OtherFont% + \IfBooleanTF{#1}{% + \IfBooleanTF{#2}% + {\GetTranslation{TSF-(ODw)}}% + {\GetTranslation{Third Suit Forcing-(ODw)}}% + }{% + \IfBooleanTF{#2}% + {\GetTranslation{tsf-(ODw)}}% + {\GetTranslation{third suit forcing-(ODw)}}% + }% + \egroup% + \xspace% +}% Third Suit Forcing +\def\TSF{\tsforce*!} +\NewDocumentCommand{\fsforce}{s t!}{% + \bgroup% + \ODw@OtherFont% + \IfBooleanTF{#1}{% + \IfBooleanTF{#2}% + {\GetTranslation{FSF-(ODw)}}% + {\GetTranslation{Fourth Suit Forcing-(ODw)}}% + }{% + \IfBooleanTF{#2}% + {\GetTranslation{fsf-(ODw)}}% + {\GetTranslation{fourth suit forcing-(ODw)}}% + }% + \egroup% + \xspace% +}% Fourth Suit Forcing +\def\FSF{\fsforce*!} +\newgame +\setdefaults{bidder=\mdseries\sffamily} +\setdefaults{compass=\mdseries\sffamily} +\setdefaults{game=\bfseries\sffamily} +\setdefaults{legend=\mdseries\rmfamily} +\setdefaults{name=\mdseries\slshape} +\setdefaults*{other=\bfseries\sffamily} +\setdefaults{compshow=on,compturn=off} +\setdefaults{bidfirst=W,bidders=on,bidlong=on} +\AtBeginDocument{% +\ForEachTrackedLanguage{\thislang}{% + \ifthenelse{\equal{\thislang}{norsk}}% + {\def\thislang{norwegian}}{}% + \IfFileExists{ODw-\thislang.trsl}% + {% + \LoadDictionaryFor{\thislang}{ODw}% + \PackageInfo{ODw}{% + Translation dictionary ODw-\thislang.trsl loaded% + }% + }{% + \PackageWarning{ODw}{% + Translation dictionary ODw-\thislang.trsl not found% + }% + }% +}% ForEach +}% AtBeginDocument +\endinput% onedown.sty + +\endinput +%% +%% End of file `onedown.sty'. -- cgit v1.2.3