[latex3-commits] [git/LaTeX3-latex3-pdfresources] master: more notes about outlines (7d3600d)
Ulrike Fischer
fischer at troubleshooting-tex.de
Fri Mar 27 00:20:29 CET 2020
Repository : https://github.com/latex3/pdfresources
On branch : master
Link : https://github.com/latex3/pdfresources/commit/7d3600d153994838f6969603a7bb045c955ef483
>---------------------------------------------------------------
commit 7d3600d153994838f6969603a7bb045c955ef483
Author: Ulrike Fischer <fischer at troubleshooting-tex.de>
Date: Fri Mar 27 00:20:29 2020 +0100
more notes about outlines
>---------------------------------------------------------------
7d3600d153994838f6969603a7bb045c955ef483
newpackages/outline-syntax.tex | 99 ++++++++++++++++++++++++++++++++++++------
1 file changed, 86 insertions(+), 13 deletions(-)
diff --git a/newpackages/outline-syntax.tex b/newpackages/outline-syntax.tex
index bcfce6d..f8f19e4 100644
--- a/newpackages/outline-syntax.tex
+++ b/newpackages/outline-syntax.tex
@@ -1,10 +1,40 @@
-dvipdfmx /Count is created automatically, so mainly the actions and options must be handled.
-\bookmarks writes out the needed \special directly.
-
- \special{pdf:%
+ p: \pdfoutline\BKM at attr\BKM at action
+ count\ifBKM at DO@open\else-\fi\BKM at x@childs
+ {\BKM at DO@title}%
+
+ \BKM at attr: attr{/F \BKM at DO@flags /C[\BKM at DO@color]}
+
+d: \BKM at write{[}%
+ \BKM at write{/Title(\BKM at DO@title)}%
+ \ifnum\BKM at x@childs>\z@
+ \BKM at write{/Count \ifBKM at DO@open\else-\fi\BKM at x@childs}%
+ \fi
+ \ifx\BKM at attr\@empty
+ \else
+ \BKM at write{\BKM at attr}%
+ \fi
+ \BKM at write{\BKM at action}%
+ \BKM at write{/OUT pdfmark}%
+
+ \BKM at attr: /F \BKM at DO@flags /C[\BKM at DO@color]
+
+e.g.
+[ /Title(\376\377\000f\000i\000r\000s\000t\000p\000a\000g\000e)
+/C[1 0 0]
+/Action<</Subtype/Named/N/FirstPage>>
+/OUT pdfmark
+
+[
+/Title(\376\377\000a\000b\000c)
+/Count -3
+/Action/GoTo/Dest(section.1)cvn
+/OUT pdfmark
+
+
+ x: \special{pdf:%
out
[] OR [-] %depending is open or not
- \BKM at abslevel %current level. Must be equal or one off to previous level
+ \BKM at abslevel %current level. Must be equal or if larger one off to previous level
<<
/Title(\BKM at title)%
@@ -13,17 +43,59 @@ dvipdfmx /Count is created automatically, so mainly the actions and options must
/F \BKM at FLAGS % flags, optional
\BKM at action % action.
- -> {/Dest[@page\BKM at page/\BKM at view]}
- -> /D[\BKM at page/\BKM at view]
- -> /D(\BKM at dest)
- -> /A<</S/URI /URI(\BKM at uri) >>
- -> /A<<\BKM at rawaction>>
- -> /A<</S/Named/N/\BKM at named>>%
- -> /A<</S/GoTo /D(\BKM at dest)>>%
- -> /A<</S/GoToR/F(\BKM at gotor)\BKM at action >>%
>>%
}%
+[
+/Title(\376\377\000a\000b\000c)
+/Action/GoTo/Dest(subsection.1.1)cvn
+/OUT pdfmark
+
+
+p: goto page1{/Fit}
+d: /Action/GoTo/Page 1 /View[/Fit]%
+x: /Dest[@page1/Fit]
+
+p: goto page\BKM at DO@page{/\BKM at DO@view}
+d: /Action/GoTo/Page \BKM at DO@page/View[/\BKM at DO@view]
+x: /Dest[@page\BKM at page/\BKM at view]
+
+uri:
+p: user{<</S/URI/URI(\BKM at DO@uri)>>}
+d: /Action<</Subtype/URI/URI(\BKM at DO@uri)>>%
+x: /A<</S/URI/URI(\BKM at uri)>>%
+
+rawaction (should not be used, as clearly driver dependant
+p: user{<<\BKM at DO@rawaction>>}%
+d: /Action<<\BKM at DO@rawaction>>
+x: /A<<\BKM at rawaction>>
+
+Named
+p: user{<</S/Named/N/\BKM at DO@named>>}
+d: /Action<</Subtype/Named/N/\BKM at DO@named>>%
+x: /A<</S/Named/N/\BKM at named>>%
+
+p: \BKM at DefGotoNameAction\BKM at action\BKM at DO@dest ?
+d: /Action/GoTo /Dest(\BKM at DO@dest)cvn%
+x: /A<< /S/GoTo/D(\BKM at dest) >>%
+
+for gotor:
+p: /D[\BKM at DO@page/\BKM at DO@view]
+d: /Page \BKM at DO@page /View[/\BKM at DO@view]%
+x: {/D[\BKM at page/\BKM at view]}
+
+p: /D(\BKM at DO@dest)
+d: /Dest(\BKM at DO@dest)cvn%
+x: /D(\BKM at dest)
+
+gotor
+p: user{ <</S/GoToR/F(\BKM at DO@gotor)\BKM at action>>%
+d: /Action/GoToR/File(\BKM at DO@gotor)\BKM at action
+x: /A<</S/GoToR/F(\BKM at gotor)\BKM at action>>%
+
+dvipdfmx /Count is created automatically, so mainly the actions and options must be handled.
+\bookmarks writes out the needed \special directly.
+
dvips writes out at the end a header file, jobname.out.ps, which is referenced with \special{header=#1}%
count must done by the document, so every \bookmark creates a BKM@<id> command which stores {parent,level,count}.
Childs update the count of their parent. Beside this every \bookmark writes the info with the destination (and more) to the aux-file as
@@ -32,6 +104,7 @@ dvips writes out at the end a header file, jobname.out.ps, which is referenced w
pdflatex,luatex: similar to dvips, only that \BKM at entry uses \pdfoutline directly.
+
Catalog
/Outlines 56 0 R
56 0 obj
More information about the latex3-commits
mailing list.