diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/l3backend/l3backend-pdf.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/l3backend/l3backend-pdf.dtx | 81 |
1 files changed, 80 insertions, 1 deletions
diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-pdf.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-pdf.dtx index b31805b0fd2..ed2339cb009 100644 --- a/Master/texmf-dist/source/latex/l3backend/l3backend-pdf.dtx +++ b/Master/texmf-dist/source/latex/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} |