summaryrefslogtreecommitdiff
path: root/doc/context/sources/general/manuals/interaction/interaction-attachments.tex
diff options
context:
space:
mode:
Diffstat (limited to 'doc/context/sources/general/manuals/interaction/interaction-attachments.tex')
-rw-r--r--doc/context/sources/general/manuals/interaction/interaction-attachments.tex174
1 files changed, 174 insertions, 0 deletions
diff --git a/doc/context/sources/general/manuals/interaction/interaction-attachments.tex b/doc/context/sources/general/manuals/interaction/interaction-attachments.tex
new file mode 100644
index 000000000..6ae9b6310
--- /dev/null
+++ b/doc/context/sources/general/manuals/interaction/interaction-attachments.tex
@@ -0,0 +1,174 @@
+% language=uk
+
+% Written while intermittently watching those always positive "Walk off the Earth"
+% videos to keep me in the mood. They make what's normally not my kind of music
+% into something very interesting. I hope that this chapter is kind of interesting
+% in the end too.
+
+\environment interaction-style
+
+\enabletrackers[attachments.anchors]
+
+\setupattachment
+ [location=inmargin]
+
+\startcomponent interaction-attachments
+
+\startchapter[title=Attachments]
+
+Attachments are (normally) embedded files that the reader can extract. A viewer
+can decide to just show the content or call an associated program to deal with
+the file (which one depends on the operating system). As with other annotations
+they started out depicted by symbols but then browsers started showing them in
+lists next to the displayed page.
+
+\startbuffer
+\attachment
+ [attachment 1]
+ [file=interaction-attached-001.txt,
+ title=Just some text,
+ width=2em,
+ height=2em,
+ author=Hans,
+ subtitle=Plain text]
+
+\attachment
+ [attachment 2]
+ [file=cow.mp,
+ title=Just a graphic,
+ author=Hans,
+ subtitle=Some MetaPost,
+ method=hidden]
+\stopbuffer
+
+\typebuffer \getbuffer
+
+These two attachments differ in one aspect: the second one is hidden, i.e. it has
+no icon in the text. However, the attachment is in the file and is (often)
+visible in the side bar. The symbol for the visible one is in the margin, which
+is achieved with:
+
+\starttyping
+\setupattachment
+ [location=inmargin]
+\stoptyping
+
+You can use your own icon, for instance:
+
+\startbuffer
+\startuniqueMPgraphic{cow}{height,s:color}
+ loadfigure "cow.mp" number 1 ;
+ refill currentpicture withcolor "\MPvar{color}" ;
+ currentpicture := currentpicture ysized \MPvar{height} ;
+\stopuniqueMPgraphic
+
+\definesymbol
+ [attachment-normal]
+ [\uniqueMPgraphic{cow}{height=4ex,color=darkblue}]
+\definesymbol
+ [attachment-down]
+ [\uniqueMPgraphic{cow}{height=4ex,color=darkyellow}]
+\stopbuffer
+
+\typebuffer \getbuffer
+
+% \startattachment[hello][symbol={attachment-normal,attachment-down}]
+% oeps
+% \stopattachment
+
+\attachment
+ [symbol={attachment-normal,attachment-down},
+ file=cow.pdf,
+ title=A cow,
+ author=Hans,
+ subtitle=graphic]
+
+This time we get a cow as icon and the cow is also embedded as image. When
+writing this manual a click in Sumatra just opens the \PDF\ file, but when I
+embed an mp3 file, a save-as window pops up.
+
+The previous examples directly injected the attachment using the \type
+{\attachment} commands with the appropriate arguments. You can add titles, define
+a name that will be used when the attachment is saved:
+
+\starttyping
+\attachment[sometag][extra specs]
+\attachment[test.tex]
+\attachment[file=test.tex]
+\attachment[file=test.tex,method=hidden]
+\attachment[name=newname,file=test.tex]
+\attachment[title=mytitle,name=newname,file=test.tex]
+\stoptyping
+
+but there's also a more indirect way, for instance here we define some
+attachments:
+
+\starttyping
+\defineattachment[whatever-1][file=test.tex]
+\defineattachment[whatever-2][file=test.tex,method=hidden]
+\stoptyping
+
+that later can be called up with:
+
+\starttyping
+\attachment[whatever-1][method=hidden]
+\attachment[whatever-2]
+\stoptyping
+
+where of course hidden is to be omitted when you want an icon. The commands that
+are used to define and tune an instance are:
+
+\showsetup{defineattachment}
+
+\showsetup{setupattachment}
+
+There is one predefined instance:
+
+\starttyping
+\defineattachment[attachment]
+\stoptyping
+
+So we have:
+
+\showsetup{startattachment:instance}
+
+\showsetup{attachment:instance}
+
+Yet another level of abstraction can be achieved with:
+
+\showsetup{registerattachment}
+
+For example:
+
+\starttyping
+\registerattachment
+ [sometag]
+ [name=fool.txt,
+ file=foo.txt,
+ title=Fool me,
+ subtitle=Not you,
+ author= Joker]
+\stoptyping
+
+This is the \MKIV\ replacement for the \MKII\ method:
+
+\starttyping
+\useattachment[test.tex]
+\useattachment[whatever][test.tex]
+\useattachment[whatever][newname][test.tex]
+\useattachment[whatever][title][newname][test.tex]
+\stoptyping
+
+or with all options:
+
+\starttyping
+\useattachment[name][file][author][title][subtitle]
+\stoptyping
+
+The \type {\use...} variant stays around for old times sake and just maps onto
+\type {\registerattachment}, you can better use that one because it frees you
+from remembering which arguments is what for.
+
+\stopchapter
+
+\stopcomponent