pgundlach / lvdebug

LuaTeX package lua-visual-debug
16 stars 1 forks source link

Misses markers for \vbox depending on ordering of packages, and has extra spurious line over text #10

Open 0-issue opened 4 years ago

0-issue commented 4 years ago

Hi pgundlach,

This package seems to interact with other packages, and depending on the relative ordering, misses printing markers for \vboxes. Ordering doesn't seem to affect markers outside \vboxes.

Have attached the complete example vld_vbox.tex (it has steps in comments), it has 4 simple steps mentioned from line 8 onwards. The first two pages do not have any \vbox (to notice that ordering has no effect on non-vbox contents), the third page has two \vboxes.

Another problem/question is that line-6 of the \vbox seems to have an extra line that looks like a strike-through on the text. Please see the screenshot image lvd_vbox_linemisplaced attached below the code snippet.

Best,

Aman

% vld_vbox.tex

\documentclass[notitlepage,letterpaper]{article}

\usepackage{geometry}
\usepackage{fontspec}
\usepackage{blindtext}
\usepackage{multicol}

% ================= Steps ===================
% Run1: Don't change anything, and run this file. vboxes on page-3 won't be marked

% Run2: Move \usepackage{lua-visual-debug} above \usepackage[absolute]{textpos} (but below the commented line %\usepackage{tikz}), run it again. vboxes on page-3 will now be marked.

% Run3: Uncomment the line %\usepackage{tikz}, and run it again. So now the order is tikz, lvd, textpos. vboxes on page-3 won't be marked again!

% Run4: Move \usepackage{lua-visual-debug} above uncommented line that imports tikz, now the order is lvd, tikz, texpos. vboxes on page-3 will now be marked again.

%\usepackage{tikz}

\usepackage[absolute]{textpos}

\usepackage{lua-visual-debug}

\geometry{left=1in,right=1in,top=1in,bottom=1in}
\setmainfont{Verdana}

\begin{document}
    \fontsize{8.8bp}{10.7bp}\selectfont
    \setlength\columnsep{10.7bp}
    \begin{minipage}{0.8\textwidth}
        \begin{multicols}{3}
            {\scshape san jose} -- \blindtext[4]
            \noindent\begin{minipage}[t][3cm][t]{\linewidth}
                \fontsize{6.16bp}{10.7bp}\selectfont
                \rule{0.75\textwidth}{0.6bp}\\
                Source: The Mercury News\\
                5 November 2019, Alex Hillan\\
                \vphantom{-}\\
                 \\
                \vphantom{-}\\
            \end{minipage}%
        \end{multicols}
    \end{minipage}
    \newpage
    \fontsize{4.4bp}{5.35bp}\selectfont
    \setlength\columnsep{5.35bp}
    \begin{minipage}{0.4\textwidth}
        \begin{multicols}{3}
            {\scshape san jose} -- \blindtext[4]
            \noindent\begin{minipage}[t][3cm][t]{\linewidth}
                \fontsize{3.08bp}{5.35bp}\selectfont
                \rule{\textwidth}{0.3bp}\\
                Source: The Mercury News\\
                5 November 2019, Alex Hillan\\
                \vphantom{-}\\
                \\
                \vphantom{-}\\
            \end{minipage}%
        \end{multicols}
    \end{minipage}

\null
\newpage
\thispagestyle{empty}

\newbox\myoddvbox
\splittopskip=0pt%
\savingvdiscards=1%
\newbox\myoddvboxsplit

 \begin{textblock*}{0.4\linewidth}[0,0](2in,2in)
    \begin{minipage}[t][1cm][t]{0.4\linewidth}%
        \global\setbox\myoddvbox=\vbox{{\hsize=\textwidth \blindtext[4]\endgraf}}%
        \setbox\myoddvboxsplit=\vsplit\myoddvbox to 4cm
        \setbox\myoddvboxsplit=\vbox{{\hsize=\textwidth \unvbox\myoddvboxsplit\endgraf}}%
        \box\myoddvboxsplit%
    \end{minipage}
 \end{textblock*}

 \begin{textblock*}{0.4\linewidth}[0,0](5in,2in)
    \begin{minipage}[t][1cm][t]{0.4\linewidth}%
        \setbox\myoddvboxsplit=\vsplit\myoddvbox to 4cm
        \setbox\myoddvboxsplit=\vbox{{\hsize=\textwidth \unvbox\myoddvboxsplit\endgraf}}%
        \box\myoddvboxsplit%
    \end{minipage}
 \end{textblock*}

\end{document}

lvd_vbox_linemisplaced

pgundlach commented 4 years ago

I can reproduce the problem, thank you very much for the report. There is currently no estimated time for the fix, I'll do my very best.