# quotes # # Unbreakable `French quotes' (guillemets) def "<<" right word { { @Char guillemotleft }" "{ word } } def ">>" left word { { word }" "{ @Char guillemotright } } export @FrenchQuotes @Q @SQ def @QuoteSetup named @FrenchQuotes { No } # use angled quotes (Guillemets >>...<<) instead of normal quotes named @SlopedQuotation { Yes } # sloped quotations { # Sloped quotations def @Quotation right b { @SlopedQuotation @Case { { yes Yes } @Yield { @CurrFace @Case { Base @Yield { Slope @Font { b } } Slope @Yield { Base @Font { b } } Bold @Yield { BoldSlope @Font { b } } BoldSlope @Yield { Bold @Font { b } } else @Yield { Slope @Font { b } } } } else @Yield { b } } } # quotation marks def @OpeningQuote { @CurrLang @Case { { German Deutsch } @Yield { @FrenchQuotes @Case { { yes Yes } @Yield @Char guillemotright else @Yield @Char quotedblbase } } else @Yield { @FrenchQuotes @Case { { yes Yes } @Yield { address@hidden guillemotleft}" " } else @Yield @Char quotedblleft } } } } def @ClosingQuote { @CurrLang @Case { { German Deutsch } @Yield { @FrenchQuotes @Case { { yes Yes } @Yield @Char guillemotleft else @Yield @Char quotedblleft } } else @Yield { @FrenchQuotes @Case { { yes Yes } @Yield { " "address@hidden guillemotright} } else @Yield @Char quotedblright } } } } def @SingleOpeningQuote { @CurrLang @Case { { German Deutsch } @Yield { @FrenchQuotes @Case { { yes Yes } @Yield @Char guilsinglright else @Yield @Char quotesinglbase } } else @Yield { @FrenchQuotes @Case { { yes Yes } @Yield @Char guilsinglleft else @Yield @Char quoteleft } } } } def @SingleClosingQuote { @CurrLang @Case { { German Deutsch } @Yield { @FrenchQuotes @Case { { yes Yes } @Yield @Char guilsinglleft else @Yield @Char quoteleft } } else @Yield { @FrenchQuotes @Case { { yes Yes } @Yield @Char guilsinglright else @Yield @Char quoteright } } } } def @Q right x { @OpeningQuote{ @Quotation { x } address@hidden } def @SQ right x { @SingleOpeningQuote{ @Quotation { x } address@hidden } } @Use { @QuoteSetup @FrenchQuotes { Yes } }