1

I find the presence of hyperref in a bxjsarticle document with flowfram causes effects in TeXLive 2021 that I did not see in TeXLive 2019. I'm hoping to find a workaround, to retain hyperref without fine adjustments to the geometry of the document.

My document is in 16x9 aspect ratio and uses CJK characters typeset in vertical columns, right to left.

With hyperref present, I don't seem to be able to control the aspect ratio using geometry; in addition, the text area shift well to the right.

Vertical Chinese handling is based on For vertical CJK in XeLaTex, how can I have roman characters aligned with chinese characters, and have chinese fonts "fallback" properly? (from 2017). I am also using other effects described in that post, but the hyperref issue doesn't seem to affect those, so I have excluded them from my MWE.


MWE without hyperref. Works as expected:

%!TEX TS-program = xelatex
%!TEX encoding = UTF-8 Unicode

\documentclass[landscape,11pt,a4paper]{bxjsarticle} \usepackage{geometry} \geometry{paperwidth=198 mm, paperheight=352 mm}

\usepackage{xeCJK} \setCJKmainfont[Scale=MatchLowercase,Mapping=tex-text,RawFeature={vertical}]{SimSun}

% Settings for a 90-degree rotated "flowframe" to enable vertical typesetting \usepackage{flowfram} \newflowframe% {\textheight}% {\textwidth+5em}% {0pt}% {\textheight}[mainframe] \setflowframe{1}{angle=-90}

\begin{document}

\fontsize{40}{40}\selectfont \raggedright

\vspace*{\fill}

一行中僅排漢字十為止

\vspace*{\fill} \end{document}

Without hyperref, page dimensions and text area are as expected.


MWE with hyperref present; both page dimensions and text area are altered shifted drastically:

%!TEX TS-program = xelatex
%!TEX encoding = UTF-8 Unicode

\documentclass[landscape,11pt,a4paper]{bxjsarticle} \usepackage{geometry} \geometry{paperwidth=198 mm, paperheight=352 mm}

\usepackage{xeCJK} \setCJKmainfont[Scale=MatchLowercase,Mapping=tex-text,RawFeature={vertical}]{SimSun}

% Settings for a 90-degree rotated "flowframe" to enable vertical typesetting \usepackage{flowfram} \newflowframe% {\textheight}% {\textwidth+5em}% {0pt}% {\textheight}[mainframe] \setflowframe{1}{angle=-90}

\usepackage{hyperref}

\begin{document}

\fontsize{40}{40}\selectfont \raggedright

\vspace*{\fill}

一行中僅排漢字十為止

\vspace*{\fill} \end{document}

Hyperref alters page dimensions and text area.

  • 2
    well I don't think that I want to understand what this class is doing regarding geometry settings. It seems to confuse hyperref quite thoroughly. You can use \usepackage[setpagesize=false]{hyperref}, then hyperref will leave the page size alone and the class and geometry can fight it out. – Ulrike Fischer Jun 24 '21 at 12:56
  • That does indeed to resolve everything instantly. Many thanks! – brannerchinese Jun 24 '21 at 13:59

0 Answers0