Hiding Content
< Visuals | Presentations | Layers >
Probably for your slides, probably for some animation or for whatever reason you may want it: you can hide some content from the document, while leaving exactly the same amount of space as that content would need if typeset in the usual way.
Overview
On the [mailing list] Hans suggested many different ways (astonishing easy to use) to hide the content in a PDF document. Sadly, most of them are viewer-dependent.
method | principle | PROS | CONS |
---|---|---|---|
\defineproperty[my-secrets][layer][state=top] \startproperty[my-secrets] My public secret. \stopproperty |
|
|
|
\defineproperty[my-hasitations][layer][state=stop] \startproperty[my-hasitations] To \ConTeXt\ or not to \ConTeXt? \stopproperty \button{Show Decision}[VideLayer{my-hasitations}] \button{Hide Decision}[HideLayer{my-hasitations}] \button{Toggle Decision}[ToggleLayer{my-hasitations}] |
|
|
|
\startproperty[hidden] My secret hidden for Adam's apple ;) \stopproperty |
|
|
|
|
|
|
The plain TeX way
This example was adapted from the TeXBOOK. However, it can only handle usual text. Forget about macros, forget about graphics ...
I hope and still believe that it is possible to extend this macro to make it work in general case. This would also be a preferred solution as it doesn't depend on the viewer's JavaScript incapabilities.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % the portion of code adapted from the TeXBOOK, Excercise 11.5 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def\dolist{\afterassignment\dodolist\let\next= } \def\dodolist{\ifx\next\endlist\let\next\relax \else \\\let\next\dolist \fi \next} \def\endlist{\endlist} \def\\{\if\space\next\ % assume that \next is unexpandable \else\setbox0=\hbox{\next}\setbox1=\hbox{}% \dp1=\dp0\ht1=\ht0\wd1=\wd0\box1\fi} \def\demobox#1{{\dolist#1\endlist}}
Layer: state=top
You can try something like:
\defineproperty[my-secrets][layer][state=top] I don't tell this to everybody: % \startproperty[my-secrets]% \quotation{\ConTeXt\ goes beyond the limits of imagination, that's why I love it!} \stopproperty % You'll understand that once you get to know it better.
which results in
This can be compared to the non-hidden version, which is:
Layer: state=stop
Transparent fonts
Final Remarks
- Just as a hint: Don't ever think about hiding your secrets or solutions to the problems for your students that way!
If you happen to have Adobe Acrobat Professional, you can select Layers on the left and switch the hidden layer on again.
YOU HAVE BEEN WARNED!
- kerning: could cause micro differences in the exact placemet of the (hidden) content