lout-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Quotes


From: Michael Piotrowski
Subject: Re: Quotes
Date: Fri, 21 Sep 2001 17:49:14 +0200
User-agent: Gnus/5.090004 (Oort Gnus v0.04) XEmacs/21.1 (Cuyahoga Valley)

Jeff Kingston <address@hidden> writes:

> On Thu, 20 Sep 2001 20:30:43 +0200, Giovanni Salmeri wrote:
>   > 
>   > In Italian ``x'' is much more common than ``x,,. The first choice is
>   > however «x». It would be very nice to specify different quotes for the
>   > various level of embedding (two would suffice), as in the 'quotes'
>   > property in CSS2. But I don't know if this is possible in Lout!
>
> Again, I wonder about the utility of this - why not just type the quotes
> you want at the place you want them?  I know, because separating content
> from markup is a Good Thing - to which I say only up to the point where
> layout becomes content.
>
> However, you can do it but only by commandeering (say) the y unit or
> z unit of the style information and changing that.

It actually works ;-) Here's my first draft:

   def @OuterOpenQuotes
   {
      @CurrLang @Case
      {
         {de German}  @Yield address@hidden quotedblbase}
         {it Italian} @Yield address@hidden guillemotlef}
                 else @Yield {``}
      }
   }

   def @InnerOpenQuotes
   {
      @CurrLang @Case
      {
         {de German} @Yield address@hidden quotesinglbase}
         {it French} @Yield {``}
                else @Yield {`}
      }
   }

   def @OuterCloseQuotes
   {
      @CurrLang @Case
      {
         {de German} @Yield {``}
         {fr French} @Yield address@hidden guillemotright}
                else @Yield {''}
      }
   }

   def @InnerCloseQuotes
   {
      @CurrLang @Case
      {
         {de German} @Yield {`}
         {fr French} @Yield {''}
                else @Yield {'}
      }
   }

   macro @QuotingLevel        { @YUnit }
   macro @CurrentQuotingLevel { @CurrYUnit }
   macro @InsideQuotes        { "1p" }
   macro @InsideTwoQuotes     { "2p" }

   def @Q  right x { @InsideQuotes @QuotingLevel
                                   address@hidden@OuterCloseQuotes} }
   def @QQ right x { @InsideTwoQuotes @QuotingLevel
                                      address@hidden@InnerCloseQuotes} }

   def @Quote right x
   {
      @CurrentQuotingLevel @Case
      {
         @InsideQuotes @Yield @QQ x
                  else @Yield @Q  x
      }
   }

However, since this is obviously a hack, and since I'm mostly
generating my Lout code, it might make more sense to simply have two
functions for quotes and nested quotes and let the stylesheet do the
work.

-- 
Michael Piotrowski, M.A.                                  <address@hidden>


reply via email to

[Prev in Thread] Current Thread [Next in Thread]