On 15/04/2021 15:24, David Carlisle wrote:
The command is scanning ahead for keywords such as  page 2 in the unhboxed case

Shouldn't the \relax stop it scanning ahead anyway?

but in the boxed case the } stops the scan but it seems having decided that  test is not a keyword it is inserting a space before it which seems wrong. More surprising is that it eats ! here even though  ! isn't part of the allowed syntax as far as I can see


\def\imga{\hbox{\XeTeXpdffile "image.pdf"\relax!}}
\def\imgb{\XeTeXpdffile "image.pdf"\relax!}



test test test test test test test test test test test test test
test test test test test test test test test test test test test
test test test test test test test test test test test test test
test test test test test test test test test test test test test
\imga
test test test test test test test test test test test test test
test test test test test test test test test test test test test
test test test test test test test test test test test test test
test test test test test test test test test test test test test


test test test test test test test test test test test test test
test test test test test test test test test test test test test
test test test test test test test test test test test test test
test test test test test test test test test test test test test
\imgb
test test test test test test test test test test test test test
test test test test test test test test test test test test test
test test test test test test test test test test test test test
test test test test test test test test test test test test test

\end


The effect on linebreaking is more or less accidental "test" can't be hyphenated so it's not surprising that some lines can not be justified, and the extra space or not space after the image is changing the linebreaking in the paragraph.

David



On Thu, 15 Apr 2021 at 14:24, Gavin Smith <gavinsmith0...@gmail.com <mailto:gavinsmith0...@gmail.com>> wrote:

    If I XeTeX to display an image in text, like

    \def\img{\XeTeXpdffile "image.pdf"\relax}

    test test test test test test test test test test test test test
    test test test test test test test test test test test test test
    test test test test test test test test test test test test test
    test test test test test test test test test test test test test
    \img
    test test test test test test test test test test test test test
    test test test test test test test test test test test test test
    test test test test test test test test test test test test test
    test test test test test test test test test test test test test

    \end

    and then process with "xetex test.tex" on the command line, then the
    line
    after the image is too long and goes into the margin.  You can see this
    in the attached file.

    I found wrapping the \XeTeXpdffile in an \hbox, thus:

    \def\img{\hbox{\XeTeXpdffile "image.pdf"\relax}}

    fixed the problem, but I don't see why this should be necessary.

    Is this a bug?

    XeTeX reports its version as follows:

    $ xetex test.texi
    This is XeTeX, Version 3.14159265-2.6-0.99998 (TeX Live 2017/Debian)
    (preloaded format=xetex)
      restricted \write18 enabled.
    entering extended mode
    (./test.texi [1] )
    Output written on test.pdf (1 page).
    Transcript written on test.log.


Reply via email to