|
37 | 37 | version ; string? version number |
38 | 38 | tags ; (listof string?) |
39 | 39 | tocset ; (list?) |
| 40 | + tocset-xexpr |
40 | 41 | article ; xexpr? |
41 | 42 | ) #:prefab) |
42 | 43 |
|
|
861 | 862 | (if (null? ps) |
862 | 863 | null |
863 | 864 | (list |
864 | | - (get-onthispage-label) |
865 | | - "tocsublist" |
866 | | - (map (lambda (p) |
867 | | - (let ([p (vector-ref p 0)] |
868 | | - [prefixes (vector-ref p 1)] |
869 | | - [from-d (vector-ref p 2)] |
870 | | - [add-tag-prefixes |
871 | | - (lambda (t prefixes) |
872 | | - (if (null? prefixes) |
873 | | - t |
874 | | - (cons (car t) (append prefixes (cdr t)))))]) |
875 | | - (list |
876 | | - (if (part? p) |
877 | | - (format-number |
878 | | - (collected-info-number |
879 | | - (part-collected-info p ri)) |
| 865 | + box-class |
| 866 | + (list |
| 867 | + (get-onthispage-label) |
| 868 | + "tocsublist" |
| 869 | + (map (lambda (p) |
| 870 | + (let ([p (vector-ref p 0)] |
| 871 | + [prefixes (vector-ref p 1)] |
| 872 | + [from-d (vector-ref p 2)] |
| 873 | + [add-tag-prefixes |
| 874 | + (lambda (t prefixes) |
| 875 | + (if (null? prefixes) |
| 876 | + t |
| 877 | + (cons (car t) (append prefixes (cdr t)))))]) |
| 878 | + (list |
| 879 | + (if (part? p) |
| 880 | + (format-number |
| 881 | + (collected-info-number |
| 882 | + (part-collected-info p ri)) |
| 883 | + null) |
880 | 884 | null) |
881 | | - null) |
882 | | - (if (toc-element? p) |
883 | | - (render-content (toc-element-toc-content p) |
884 | | - from-d ri) |
885 | | - (parameterize ([current-no-links #t] |
886 | | - [extra-breaking? #t]) |
887 | | - (list |
888 | | - (uri-unreserved-encode |
889 | | - (anchor-name |
890 | | - (add-tag-prefixes |
891 | | - (tag-key (if (part? p) |
892 | | - (car (part-tags/nonempty p)) |
893 | | - (target-element-tag p)) |
894 | | - ri) |
895 | | - prefixes))) |
896 | | - (cond |
897 | | - [(part? p) "tocsubseclink"] |
898 | | - [any-parts? "tocsubnonseclink"] |
899 | | - [else "tocsublink"]) |
| 885 | + (if (toc-element? p) |
| 886 | + (render-content (toc-element-toc-content p) |
| 887 | + from-d ri) |
| 888 | + (parameterize ([current-no-links #t] |
| 889 | + [extra-breaking? #t]) |
| 890 | + (list |
| 891 | + (format |
| 892 | + "#~a" |
| 893 | + (uri-unreserved-encode |
| 894 | + (anchor-name |
| 895 | + (add-tag-prefixes |
| 896 | + (tag-key (if (part? p) |
| 897 | + (car (part-tags/nonempty p)) |
| 898 | + (target-element-tag p)) |
| 899 | + ri) |
| 900 | + prefixes)))) |
| 901 | + (cond |
| 902 | + [(part? p) "tocsubseclink"] |
| 903 | + [any-parts? "tocsubnonseclink"] |
| 904 | + [else "tocsublink"]) |
900 | 905 |
|
901 | | - (render-content |
902 | | - (if (part? p) |
903 | | - (strip-aux |
904 | | - (or (part-title-content p) |
905 | | - "???")) |
906 | | - (if (toc-target2-element? p) |
907 | | - (toc-target2-element-toc-content p) |
908 | | - (element-content p))) |
909 | | - from-d ri))))))) |
910 | | - ps))))) |
| 906 | + (render-content |
| 907 | + (if (part? p) |
| 908 | + (strip-aux |
| 909 | + (or (part-title-content p) |
| 910 | + "???")) |
| 911 | + (if (toc-target2-element? p) |
| 912 | + (toc-target2-element-toc-content p) |
| 913 | + (element-content p))) |
| 914 | + from-d ri))))))) |
| 915 | + ps)))))) |
911 | 916 |
|
912 | 917 | (define/private (render-onthispage-contents d ri top box-class sections-in-toc?) |
913 | 918 | (let ([nearly-top? (lambda (d) |
|
1173 | 1178 | (if (part-style? d 'no-toc+aux) |
1174 | 1179 | null |
1175 | 1180 | (list-of-toc-view d ri)) ; tocset |
| 1181 | + (if (part-style? d 'no-toc+aux) |
| 1182 | + null |
| 1183 | + (render-toc-view d ri)) ; tocset-xexpr |
1176 | 1184 | article-xexpr ; article |
1177 | 1185 | ))] |
1178 | 1186 | [else (xml:write-xexpr part-xexpr)]))))) |
|
0 commit comments