diff options
author | Norbert Preining <norbert@preining.info> | 2022-09-30 03:01:38 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2022-09-30 03:01:38 +0000 |
commit | d3a49f9b97d78b3719e84b2e704c59f0491190d5 (patch) | |
tree | bd50be75a1198c8104d7d3aa428106844ac69ad6 /macros/latex/contrib/l3backend/l3backend-pdf.dtx | |
parent | d7ca45f66f34e5ca724a739f420c99a7c9960a89 (diff) |
CTAN sync 202209300301
Diffstat (limited to 'macros/latex/contrib/l3backend/l3backend-pdf.dtx')
-rw-r--r-- | macros/latex/contrib/l3backend/l3backend-pdf.dtx | 81 |
1 files changed, 80 insertions, 1 deletions
diff --git a/macros/latex/contrib/l3backend/l3backend-pdf.dtx b/macros/latex/contrib/l3backend/l3backend-pdf.dtx index b31805b0fd..ed2339cb00 100644 --- a/macros/latex/contrib/l3backend/l3backend-pdf.dtx +++ b/macros/latex/contrib/l3backend/l3backend-pdf.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % @@ -1699,6 +1699,85 @@ %</dvisvgm> % \end{macrocode} % +% \subsection{PDF Page size (media box)} +% +% For setting the media box, the split between backends is somewhat different +% to other areas, thus we approach this separately. The code here assumes a +% recent \LaTeXe{}: that is ensured at the level above. +% +% \begin{macrocode} +%<*dvipdfmx|dvips> +% \end{macrocode} +% +% \begin{macro}{\@@_backend_pagesize_set:nn} +% \begin{macro}[EXP]{\@@_backend_pagesize_set:n} +% This is done as a backend literal, so we deal with it using the shipout +% hook. The inclusion of \cs{tex_mag:D} here is essentially to work with +% (u)p\LaTeX{}, where this is used to adjust apparent font size. +% \begin{macrocode} +\cs_new_protected:Npn \@@_backend_pagesize_set:nn #1#2 + { + \__kernel_backend_first_shipout:n + { + \__kernel_backend_literal:e + { +%<*dvipdfmx> + pdf:pagesize ~ + width ~ \@@_backend_pagesize_set:n {#1} ~ + height ~ \@@_backend_pagesize_set:n {#2} +%</dvipdfmx> +%<*dvips> + papersize = + \@@_backend_pagesize_set:n {#1} , + \@@_backend_pagesize_set:n {#2} +%</dvips> + } + } + } +\cs_new:Npn \@@_backend_pagesize_set:n #1 + { \fp_to_dim:n { \tex_mag:D / 1000 * (#1) } } +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macrocode} +%</dvipdfmx|dvips> +% \end{macrocode} +% +% \begin{macrocode} +%<*luatex|pdftex|xetex> +% \end{macrocode} +% +% \begin{macro}{\@@_backend_pagesize_set:nn} +% Pass to the primitives. +% \begin{macrocode} +\cs_new_protected:Npn \@@_backend_pagesize_set:nn #1#2 + { + \dim_set:Nn \tex_pagewidth:D {#1} + \dim_set:Nn \tex_pageheight:D {#2} + } +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +%</luatex|pdftex|xetex> +% \end{macrocode} +% +% \begin{macrocode} +%<*dvisvgm> +% \end{macrocode} +% +% \begin{macro}{\@@_backend_pagesize_set:nn} +% A no-op. +% \begin{macrocode} +\cs_new_protected:Npn \@@_backend_pagesize_set:nn #1#2 { } +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +%</dvisvgm> +% \end{macrocode} +% % \begin{macrocode} %</package> % \end{macrocode} |