ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Hans Hagen <pragma@wxs.nl>
Subject: Re: Absolute positioning
Date: Tue, 02 Dec 2003 17:27:35 +0100	[thread overview]
Message-ID: <6.0.0.22.2.20031202172137.0204c490@server-1> (raw)
In-Reply-To: <20031201181922793324.GyazMail.Gilles.Perez@univ-montp3.fr>

At 18:19 01/12/2003, you wrote:
>Hello,
>
>I didn't find a way to put text at specific locations on the page. It
>must be something obvious! :-)
>
>I try to design a screen document where every notes are, say, typeset
>on the lower half of the page and appear only when clicking on their
>number in the text (with layers I think).
>
>Thnaks in advance,
>
>Gilles.
>
>PS for Hans: I didn't forget the note problem we've discussed in Mâcon.
>I'll build a test file.

% interface=en

\setuppapersize[S6][S6]

\startJSpreamble {Notes} used now

   var lastNote = "" ;

   function Show_Note ( Name )
     { if (Name != lastNote)
         { Hide_Note () ;
           var v = this.getField(Name) ; if (v)
             { console.println("Show Note: " + Name) ;
               v.display = display.visible ;
               v.readonly = false ;
               this.dirty = false ;
               lastNote = Name } } }

   function Hide_Note ( )
     { if (lastNote != "")
         { var v = this.getField(lastNote) ; if (v)
             { console.println("Hide Note: " + lastNote) ;
               v.display = display.hidden ;
               v.readonly = true ;
               this.dirty = false } }
           lastNote = "" }

\stopJSpreamble

\newcounter\AnotherNote

\def\SomeNote#1#2%
   {\hbox
      {\doglobal\increment\AnotherNote
       \definesymbol[note:\AnotherNote:on][\WhatANote{#2}]%
       \setupfield[notes][offset=overlay,frame=off,option={readonly,hidden}]
     % this confuses acrobat, probably some interference bug, I spent too 
much time on that
     % 
\setupfield[notes][offset=overlay,frame=off,option={readonly,hidden},clickin=JS(Hide_Note)]
       \definefield[note:\AnotherNote][check][notes][note:\AnotherNote:on][note:\AnotherNote:on]%
       \doifreferencefoundelse{note:\AnotherNote}
         {\setlayer[notes][page=\currentrealreference]{\fitfield[note:\AnotherNote]}}
         {\setlayer[notes]{\fitfield[note:\AnotherNote]}}%
       \pagereference[note:\AnotherNote]\goto{#1}[JS(Show_Note{note:\AnotherNote})]}}

\setupinteraction
   [state=start,
    openpageaction=JS(Hide_Note),
    closepageaction=JS(Hide_Note)]

\definereference[CloseNote][JS(Hide_Note)]

\setupfootertexts[{\goto{Close Note}[CloseNote]}][]

\setupcolors
   [state=start]

\definecolor
   [notebackgroundcolor]
   [s=.85]

\defineframedtext
   [WhatANote]
   [background=color,
    backgroundcolor=notebackgroundcolor,
    width=.4\textwidth,
    height=fit,
    align=normal]

\definelayer
   [notes]
   [width=\paperwidth,
    height=\paperheight,
    preset=rightbottom,
    offset=1cm]

\setupbackgrounds
   [page]
   [background=notes]

\starttext

\startbuffer
\input ward   \SomeNote{[[ward]]}  {\input ward  \relax} \input ward   \blank
\input knuth  \SomeNote{[[knuth]]} {\input knuth \relax} \input knuth  \blank
\input tufte  \SomeNote{[[tufte]]} {\input tufte \relax} \input tufte  \blank
\input bryson \SomeNote{[[bryson]]}{\input bryson\relax} \input bryson \blank
\stopbuffer

\dorecurse{10}{\getbuffer}

\stoptext 

      parent reply	other threads:[~2003-12-02 16:27 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-12-01 17:19 Gilles Pérez-Lambert
2003-12-01 17:39 ` Martin Moncrieffe
2003-12-02 16:27 ` Hans Hagen [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6.0.0.22.2.20031202172137.0204c490@server-1 \
    --to=pragma@wxs.nl \
    --cc=ntg-context@ntg.nl \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).