Coder Social home page Coder Social logo

latex3 / latex2e Goto Github PK

View Code? Open in Web Editor NEW
1.8K 1.8K 240.0 86.03 MB

The LaTeX2e kernel

Home Page: https://www.latex-project.org/

License: LaTeX Project Public License v1.3c

TeX 99.00% Lua 0.27% PostScript 0.59% Shell 0.12% Clojure 0.01% HTML 0.01%
latex latex-kernel

latex2e's Introduction

The expl3 (LaTeX3) Development Repository

Overview

The repository contains development material for expl3. This includes not only code to be developed into the expl3 kernel, but also a variety of test, documentation and more experimental material. All of this code works on top of LaTeX2e.

The following directories are present in the repository:

  • l3kernel: code forms the expl3 kernel and all stable code. With a modern LaTeX2e kernel, this code is loaded during format creation; when using an older LaTeX2e kernel, this material is accessible using the expl3 package.
  • l3backend: code for backend (driver) level interfaces across the expl3 codebase; none of this code has public interfaces, and so no distinction is made between stable and experimental code.
  • l3packages: code which is written to be used on top of LaTeX2e to explore interfaces; this bundle is now made up of historical material, and the concepts have been migrated to the LaTeX2e kernel
  • l3experimental: code which is written to be used on top of LaTeX2e to experiment with code and interface concepts. The interfaces for these packages are still under active discussion. Parts of this code may eventually be migrated to l3kernel.
  • l3trial: material which is under very active development, for potential addition to l3kernel or l3experimental. Material in this directory may include potential replacements for existing modules, where large-scale changes are under-way. This code is not released to CTAN.
  • l3leftovers: code which has been developed in the past by The LaTeX Project but is not suitable for use in its current form. Parts of this code may be used as the basis for new developments in l3kernel or l3experimental over time.

Support material for development is found in:

  • support, which contains files for the automated test suite which are 'local' to the repository.

Documentation is found in:

  • articles: discussion of concepts by team members for publication in TUGBoat or elsewhere.

The repository also contains the directory xpackages. This contain code which is being moved (broadly) l3experimental. Over time, xpackages is expected to be removed from the repository.

Issues

The issue tracker for expl3 is currently located on GitHub.

Build status

We use GitHub Actions as a hosted continuous integration service. For each commit, the build status is tested using the current release of TeX Live.

Current build status: build status

Development team

This code is developed by The LaTeX Project.

Copyright

This README file is copyright 2021-2024 The LaTeX Project.

latex2e's People

Contributors

adunning avatar aminophen avatar car222222 avatar dahosek avatar daleif avatar davidcarlisle avatar dbitouze avatar dependabot[bot] avatar dr-scsi avatar e-kwsm avatar eg9 avatar frankmittelbach avatar gucci-on-fleek avatar ivan-pan avatar jbezos avatar jlaurens avatar josef-friedrich avatar josephwright avatar kesslermaximilian avatar mbertucci47 avatar minoki avatar mirabilos avatar muzimuzhi avatar phelypeoleinik avatar samuelmarks avatar skillmon avatar switwu avatar u-fischer avatar wspr avatar zauguin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

latex2e's Issues

Color lost on split footnote

Brief outline of the bug

This is a bug (but perhaps impossible to fix) I came across the other day: The color inside a footnote is partially lost if LaTex decides to split the footnote.

Minimal example showing the bug

\RequirePackage{latexbug}
\documentclass{article}

\usepackage{lipsum,color}

\setlength\textheight{16\baselineskip}

\begin{document}

\lipsum*[1]\footnote{\color{blue}\lipsum[2] Color partially lost on a split footnote!}

\lipsum*[3]\footnote{foo}

\end{document}

Log (and possibly PDF) file

colorbug.log

colorbug.pdf

\big does not force horizontal mode

Brief outline of the bug

Using \big at the beginning of a paragraph has the same problem as \hbox: the parenthesis ends up along in a line.

Minimal example showing the bug

\RequirePackage{latexbug}
\documentclass{article}
\usepackage{amsmath}
\begin{document}
We claim that $16^{3^2} = (8^4)^3$.

\big(Recall that $x^{y^z}=x^{(y^z)}$.\big)
\end{document}

Log file (required) and possibly PDF file

test.log
test.pdf

babel: \babeltags broken

[babel 3.16]

Have a look at the following example.

\documentclass{article}

\usepackage[italian, ngerman]{babel}
\babeltags{italian=italian}

\begin{document}
"~foo

\foreignlanguage{italian}{bar}

"~foo

\italian{bar}

"~foo
\end{document}

which gives the following output.

mwe

According to the documentation, the \italian command defined by \babeltags should be equivalent to \foreignlanguage. As can be seen, this is not the case: shorthands are not properly respected. It's even worse since the deactivation of the shorthands is not local to the scope of \italian.

Overlapping text with multicol

Brief outline of the bug

The final page of a multicols environment winds up with overlapping text when there are forced \columnbreaks on both the penultimate and the final page of the multicols and the columns on the penultimate page are short. If I fill the columns on the penultimate page, the problem does not occur.

Slightly more context here

Minimal example showing the bug

\RequirePackage{latexbug}
\documentclass{article}
\usepackage[debugshow]{multicol}
\usepackage{lipsum}

\raggedbottom
\raggedcolumns

\setlength\columnsep{0.5in}
\setlength\columnseprule{.5pt}

\begin{document}
\begin{multicols}{2}

\lipsum[4]
% Uncommenting either this rule or the one in the next column
% balances the columns on the last page
%\rule{1pt}{350pt}

\columnbreak

\lipsum[4]

%\rule{1pt}{350pt}

\columnbreak

\lipsum[1]

\columnbreak

\lipsum[4]

\end{multicols}
And some concluding text
\end{document}

Log file (required) and possibly PDF file

multicol overstrike.log
multicol overstrike.pdf

Testing the distribution fails

Brief outline of the bug

When checking the distribution starting on the top level it is impossible to test only etex

Minimal example showing the bug

$ texlua build.lua check -e etex

! Error: Engine "etex" not set up for testing!

  Valid values are:
  - pdftex
  - xetex
  - luatex

$ texlua build.lua check -e pdftex
Running script build.lua with target "check" for module base

! Error: Engine "pdftex" not set up for testing!

  Valid values are:
  - etex
  - xetex
  - luatex

LaTeX does not hyphenate some words with Romanian accented characters

Hello,

Brief outline of the bug

The following test file demonstrates that LaTeX refuses to hypenate some words with Romanian accented characters. In this file, the word "oricărei" at the end of a line generates an "Overfull \hbox" error instead of hypenating

The word's correct hypenation is "ori-că-rei".

Romanian language needs the full UTF-8 set, not just "latin1" or "latin2". The accented character in the test file is ă (small a with breve, Unicode U+0103).

Putting \hypenation{ori-că-rei} in the preamble gives a more serious error (the demonstation file will not compile).

By replacing "ă" with "a" inside the word "oricărei", the errors goes away and the word will be hypenated correctly.
The LaTeX environment I've used is pdfTeX 3.14159265-2.6-1.40.17 (TeX Live 2016)

Minimal example showing the bug

\documentclass[10pt,a4paper,twoside]{book}
\usepackage[romanian]{babel}
\usepackage[utf8]{inputenc}

\begin{document}
\paragraph{}Editorii și tehnoredactorii au depus eforturi susținute pentru înlăturarea oricărei erori, de fond sau de formă. Unele greșeli minore descoperite în manuscris au fost corectate tacit.
\end{document}

Log file (required) and possibly PDF file

test.log
test.pdf

Vertical space is wrong when \multicolumn spans the last column

Brief outline of the bug

When a \multicolumn spans the last column of a tabular, the vertical space in \\[<skip>] is not honored.

Minimal example showing the bug

\RequirePackage{latexbug}
\documentclass{article}
\usepackage{array}
\begin{document}
\begin{tabular}{lll}
  row 1 & \multicolumn{2}{l}{multi} \\[\medskipamount]
  row 2 & a & b                     \\
  row 3 & c & d                     \\[\medskipamount]
  row 4 & a & b                     \\
  row 5 & a & b                     \\
\end{tabular}
\end{document}

Log file (required) and possibly PDF file

This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2018) (preloaded format=pdflatex 2018.4.30)  30 APR 2018 12:44
entering extended mode
 restricted \write18 enabled.
 %&-line parsing enabled.
**ufarr
(./ufarr.tex
LaTeX2e <2018-04-01> patch level 3
Babel <3.19> and hyphenation patterns for 84 language(s) loaded.
(/usr/local/texlive/2018/texmf-dist/tex/latex/latexbug/latexbug.sty
Package: latexbug 2017/10/12 v1.0d Bug-classification
)
(/usr/local/texlive/2018/texmf-dist/tex/latex/base/article.cls
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
(/usr/local/texlive/2018/texmf-dist/tex/latex/base/size10.clo
File: size10.clo 2014/09/29 v1.4h Standard LaTeX file (size option)
)
\c@part=\count80
\c@section=\count81
\c@subsection=\count82
\c@subsubsection=\count83
\c@paragraph=\count84
\c@subparagraph=\count85
\c@figure=\count86
\c@table=\count87
\abovecaptionskip=\skip41
\belowcaptionskip=\skip42
\bibindent=\dimen102
)
(/usr/local/texlive/2018/texmf-dist/tex/latex/tools/array.sty
Package: array 2018/04/07 v2.4g Tabular extension package (FMi)
\col@sep=\dimen103
\ar@mcellbox=\box26
\extrarowheight=\dimen104
\NC@list=\toks14
\extratabsurround=\skip43
\backup@length=\skip44
\ar@cellbox=\box27
) (./ufarr.aux)
\openout1 = `ufarr.aux'.

LaTeX Font Info:    Checking defaults for OML/cmm/m/it on input line 4.
LaTeX Font Info:    ... okay on input line 4.
LaTeX Font Info:    Checking defaults for T1/cmr/m/n on input line 4.
LaTeX Font Info:    ... okay on input line 4.
LaTeX Font Info:    Checking defaults for OT1/cmr/m/n on input line 4.
LaTeX Font Info:    ... okay on input line 4.
LaTeX Font Info:    Checking defaults for OMS/cmsy/m/n on input line 4.
LaTeX Font Info:    ... okay on input line 4.
LaTeX Font Info:    Checking defaults for OMX/cmex/m/n on input line 4.
LaTeX Font Info:    ... okay on input line 4.
LaTeX Font Info:    Checking defaults for U/cmr/m/n on input line 4.
LaTeX Font Info:    ... okay on input line 4.
LaTeX Font Info:    External font `cmex10' loaded for size
(Font)              <7> on input line 5.
LaTeX Font Info:    External font `cmex10' loaded for size
(Font)              <5> on input line 5.

[1

{/usr/local/texlive/2018/texmf-var/fonts/map/pdftex/updmap/pdftex.map}]
(./ufarr.aux) ) 
Here is how much of TeX's memory you used:
 757 strings out of 492649
 12936 string characters out of 6129622
 65839 words of memory out of 5000000
 4718 multiletter control sequences out of 15000+600000
 3640 words of font info for 14 fonts, out of 8000000 for 9000
 1141 hyphenation exceptions out of 8191
 23i,7n,17p,139b,486s stack positions out of 5000i,500n,10000p,200000b,80000s
</usr/local/texlive/2018/texmf-dist/fonts/type1/public/amsfonts/
cm/cmr10.pfb>
Output written on ufarr.pdf (1 page, 13658 bytes).
PDF statistics:
 12 PDF objects out of 1000 (max. 8388607)
 7 compressed objects within 1 object stream
 0 named destinations out of 1000 (max. 500000)
 1 words of extra memory for PDF output out of 10000 (max. 10000000)

PDF file

ufarr.pdf

PNG image

screen shot 2018-04-30 at 12 51 18

PNG Image obtained with array version 2.4d (on TeX Live 2017)

screen shot 2018-04-30 at 12 52 14

babel: change in babel-ar.ini for different arabic months names

Brief outline of the bug

In context there are possibility to insert arabic months names with options ar, ar-dz, ar-sy, ar-ma

lang-txt.lua

Example in context

\setuppapersize[A4]
\mainlanguage[ar-sy] % ar, ar-dz, ar-sy, ar-ma
\setupdirections[bidi=global]
\setupalign[r2l] 

\setupbodyfontenvironment[default][em=italic]
\usemodule   [simplefonts]

\definefontfamily [myfont][serif][Amiri][features=arabic]
\definefontfamily [myfont][sans] [Amiri][features=arabic]
\setupbodyfont [myfont]

\starttext
\currentdate
\stoptext

These options are not available with babel, one option is available to write names of arabic months in eastern countries

babel-ar.ini

ar:
january =يناير
february =فبراير
march =مارس
april =أبريل
may =مايو
june =يونيو
july =يوليو
august =أغسطس
september=سبتمبر
october=أكتوبر
november=نوفمبر
december=ديسمبر

ar-dz: % algeria
january =جانفي
february =فيفري
march =مارس
april =أفريل
may =ماي
june =جوان
july =جويلية
august =أوت
september=سبتمبر
october=أكتوبر
november=نوفمبر
december=ديسمبر

ar-ma: % marocco
january =يناير
february =فبراير
march =مارس
april =أبريل
may =ماي
june =يونيو
july =يوليوز
august =غشت
september=شتنبر
october=أكتوبر
november=نونبر
december=دجنبر

ar-sy: % syria
january =كانون الثاني
february =شباط
march =آذار
april =نيسان
may =أيار
june =حزيران
july =تموز
august =آب
september=أيلول
october=تشرين الأول
november=تشرين الثاني
december=كانون الأول

multicol with footnotes all in one column get outside of text area

Brief outline of the bug

multicol with footnotes all in one column get outside of text area

Minimal example showing the bug

\RequirePackage{latexbug}       % <--should be always the first line (see CONTRIBUTING)!
%\documentclass{article}

  % Any preamble code goes here
\documentclass{book}
%\usepackage[showframe]{geometry}
%\usepackage[para,perpage]{footmisc}
\usepackage{multicol}


\begin{document}

  % Demonstration of issue here

\begin{multicols}{2}

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\

Future autem ex multis
et per alia media concludit idem. Hic enim primo ostendit, quod anima \footnote{my note 7 at the margin}
rationalis \footnote{my note 8 at the margin} non est virtus in corpore, ita quod secundum esse vel
operationem vel utrumque ad \footnote{my note 9 at the margin} corporis harmoniam dependeat. \\


\end{multicols}

  
\end{document}

Log file (required) and possibly PDF file

!! Use drag-and-drop !!
multicol_fails.log
multicol_fails.pdf

babel: Italic text within bold if using "bidi=basic-r"

Brief outline of the bug

I'm trying to write arabic with babel (version 3.16). and I have troubles to write bold text, when using \bfseries part the bolded text appears also italic ( with option "bidi=basic-r" )

If I use "bidi=default" there is no problem

Minimal example showing the bug

% test2.tex  (xelatex)
\RequirePackage{latexbug}       
\documentclass{article}
\usepackage[nil, bidi=default]{babel}
\babelprovide[import=ar, main]{arabic}
\babelfont{rm}{Amiri} %   arabic font
\begin{document}

{\bfseries\Large تجريب إمكانيات babel الجديدة لكتابة العربية } 

{\Large تجريب إمكانيات babel الجديدة لكتابة العربية } 

\end{document}


% test3.tex  (lualatex)
\RequirePackage{latexbug}       
\documentclass{article}
\usepackage[nil, bidi=basic-r]{babel}
\babelprovide[import=ar, main]{arabic}
\babelfont{rm}{Amiri} %   arabic font
\begin{document}

{\bfseries\Large تجريب إمكانيات babel الجديدة لكتابة العربية } 

{\Large تجريب إمكانيات babel الجديدة لكتابة العربية } 

\end{document}

Log file (required) and possibly PDF file

test2.log
test3.log

test2.pdf
test3.pdf

\multicolumn reinserts suppressed \tabcolsep

Brief outline of the bug

\multicolumn seems to always insert at the start a \tabcolsep. This means that if the space has been suppressed by a previous @{} declaration it must be suppressed by a following \multicolumn too. I'm not sure if this count as a bug but it contradicts the general rule that (apart from the first) a \multicolumn needs only to take care about the following intercolumn stuff. A similar report is latex/3140.

Minimal example showing the bug

\RequirePackage{latexbug} 
\documentclass{book}
%\usepackage{array}
\begin{document}

%additional tabcolsep:
\begin{tabular}{l@{!}l}
abc &XXX\\
    &\multicolumn{1}{l}{XXX}\\
\end{tabular}

%expected output    
\begin{tabular}{l@{!}l}
abc &XXX\\
    &\multicolumn{1}{@{}l}{XXX}
\end{tabular}

\end{document}

multicbug

Log file (required) and possibly PDF file

test-utf8.log

docstrip issue with UTF-8 chars

Sorry for discarding the template but I believe unnecessary for this ;-)

Brief outline of the bug

Package containing Unicode characters cannot be stripped with docstrip. Adding \UseRawInputEncoding to ins file (or to docstrip.tex) avoids the error.

Minimal example showing the bug

hironobu.dtx

% \iffalse
%
%<package>\NeedsTeXFormat{LaTeX2e}
%<package>\ProvidesPackage{hironobu}
%\ProvidesFile{hironobu.dtx}
%
%<*driver>
\documentclass{ltxdoc}
\begin{document}
\DocInput{hironobu.dtx}
\end{document}
%</driver>
% \fi
%
%  \section{The Implementation}
%  \begin{macro}{\TEST}
%    Test code UTF-8.
%    \begin{macrocode}
%<*package>
\def\test{tèst}
%</package>
%    \end{macrocode}
%  \end{macro}
%
% \Finale
\endinput

hironobu.ins

\input docstrip
\keepsilent
\generate{\file{hironobu.sty}{\from{hironobu.dtx}{package}}}
\endbatchfile

Log file (required) and possibly PDF file

hironobu.log

babel: Font feature not working inside hbox if using "bidi=basic-r"

Brief outline of the bug

Writing arabic document with babel I'm facing issue in inserting arabic text inside hbox, letters "كـ" and "م" appear not connected

Minimal example showing the bug

\RequirePackage{latexbug}       % <--should be always the first line (see CONTRIBUTING)!
\documentclass{article}
\usepackage[nil, bidi=basic-r]{babel}
\babelprovide[import=ar, main]{arabic}
\babelfont{rm}{Amiri} %   arabic font
\begin{document}

 
\Huge  

% outside hbox
عليكم  منكم  إليكم 

% within hbox
\hbox {عليكم \quad منكم \quad إليكم}

\end{document}

Log file (required) and possibly PDF file

test4.log

babel: Definition of hyphenrules

Brief outline of the bug

Since babel 3.15 2017/10/30 (specifically 8b0b10b#diff-77fe35201eeb1884d615a3b11ff1afe8R9133) hyphenrules can't be used any more with polyglossia. The use of internal macros such as \bbl@ifunset and \bbl@exp instead of the slightly longer generic \expandafter definitions seem to be problematic here. Naturally one could consider this a bug in polyglossia, but since there have been no changes to polyglossia in over a year I hope that the report is not considered invalid here.

Minimal example showing the bug

\RequirePackage{latexbug}
\documentclass{article}
\usepackage{polyglossia}
\begin{document}
\begin{hyphenrules}{dutch}
Lorem
\end{hyphenrules}
\end{document}

Log file (required) and possibly PDF file

The log file is at https://gist.github.com/moewew/0a4b0ba2d87395c81a6e9a99b5eef1b1

The relevant bits are

! Undefined control sequence.
<argument> ...nguageshorthands {none}\bbl@ifunset 
                                                  {\bbl@tempf hyphenmins}{\s...
l.5 \begin{hyphenrules}{dutch}
                              
? 
! Undefined control sequence.
<argument> ...nmins \tw@ \thr@@ \relax }{\bbl@exp 
                                                  {\\\set@hyphenmins \@nameu...
l.5 \begin{hyphenrules}{dutch}
                              
? 

Relevant links

https://tex.stackexchange.com/q/400986/
https://tex.stackexchange.com/questions/396569/biblatex-langid-with-autolang-hyphen-makes-csquotes-use-localized-quotation-mark/396614#comment987134_396614
plk/biblatex#698

No trace of LaTeX format version apart date of dump in log

Brief outline of the bug

When I compile minimal document and check the log I can not tell which version of LaTeX format is in use. I am mentioning this in relation to recent April 2018 release.

This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2018) (preloaded format=pdflatex 2018.4.9)  10 APR 2018 15:54
entering extended mode
 restricted \write18 enabled.
 file:line:error style messages enabled.
 %&-line parsing enabled.
**\input temp.tex
(./temp.tex (/usr/local/texlive/2018/texmf-dist/tex/latex/latexbug/latexbug.sty
Package: latexbug 2017/10/12 v1.0d Bug-classification
) (/usr/local/texlive/2018/texmf-dist/tex/latex/base/article.cls
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
(/usr/local/texlive/2018/texmf-dist/tex/latex/base/size10.clo
File: size10.clo 2014/09/29 v1.4h Standard LaTeX file (size option)
...

I get information about packages such as latexbug which I added as per instructions, and article class. The preloaded format=pdflatex 2018.4.9 only tells me the format was built yesterday.

I (=lambda user of LaTeX posting a question on tex.sx and asked to provided the log) have no way of knowing that I am using the April 2018 version of LaTeX, in particular regarding its incorporation of UTF8 as default.

Minimal example showing the bug

\RequirePackage{latexbug} 
\documentclass{article}

% nothing here

\begin{document}

  % nothing here either here
  
\end{document}

Log file (required) and possibly PDF file

temp.log

Bug in the redefinition of \dotfill in doc.sty

Brief outline of the bug

I found (after getting really irritated, to be honest) that
the package doc.sty redefines the \dotfill macro of the LaTeX2e kernel.

The definition of doc.sty leads to unwanted behaviour when \dotfill is
followed by \unskip (and such an \unskip may be deeply hidden !).

doc.sty definition:  \dotfill = \leaders ... \hfill
latex.ltx definition: \dotfill = \leaders ...\hfill \kern \z@ => \kern\z@ protects against \unskip

I wonder why a LaTeX package redefines commands from the kernel.

Minimal example showing the bug

\RequirePackage{latexbug}       % <--should be always the first line (see CONTRIBUTING)!
\let\dotfillLaTeXORI =\dotfill     % < Save original LaTeX2e definition >

\documentclass [a4paper]{ltxdoc}% < ltxdoc loads doc.sty that redefines \dotfill >

\usepackage [T1]{fontenc}
\usepackage [utf8]{inputenc}
\usepackage {array}

\begin{document}

\begin{tabular}{ l  l  }% < tabular executes \unskip after the cell contents >
BAD               & GOOD                      \\
One\dotfill    & Two\dotfillLaTeXORI \\
Column One & Column Two              \\
\end{tabular}

 
\end{document}

Log file (required) and possibly PDF file

!! Use drag-and-drop !!

babel: Please provide a hook into \hyphenrules

[The described use-case is for xelatex, but the issue itself is generic.]

  • biblatex can do automatic language switching for multilingual entries. The least invasive option is autolang=hyphen, making biblatex use babel's hyphenrules environment; the language information for babel is taken from the langid field in the bibliography entries.

  • If you are going to use the xeCJK package for CJK support but using a non-CJK language as the main language, it is necessary to deactivate CJK handling (\xeCJKsetup{xeCJKactive=false}). Otherwise, characters like '' (U+2013, \textendash) are treated similar to CJK characters, which implies suppression of whitespace right after the character. [Note that using a CJK script without xeCJK works only for very short strings.]

  • The reverse conclusion of the last item is that you have to activate CJK support if you switch to a CJK language (using \makexeCJKactive). And here is the problem: babel doesn't provide a hook into the hyphenrules environment to do that. I had to redefine the environment, which is ugly.

I thus vote for adding a hook into hyphenrules so that issues similar to the just outlined one can be solved elegantly. Maybe I'm missing something – I would be glad if there already existed a solution to do what I want!

\RequirePackage{latexbug}

\documentclass{article}

\usepackage[japanese, english]{babel}
\usepackage{xeCJK}
% `autolang=hyphen' makes biblatex use the hyphenrules
% environment for language support.
\usepackage[autolang=hyphen]{biblatex}

% This font is in TeXLive.
\setCJKmainfont{ipam.ttf}

\begin{filecontents}{bb.bib} 
@BOOK{english,
  author = {England, Mister},
  title = {England forever},
  langid = {english}
}
@BOOK{japanese,
  author = {Niho, Sensei},
  title = {日本},
  langid = {japanese}
}
\end{filecontents} 

\addbibresource{bb.bib}

% Deactivate xeCJK by default so that characters like `–' (U+2013) are
% not treated as CJK (this is, suppressing spaces after the
% character).
\xeCJKsetup{xeCJKactive=false}

% If you comment in the redefinition of \hyphenrules, Japanese characters
% are properly printed in the bibliography.
%\let\myhyphenrules \hyphenrules
%\def\hyphenrules#1{%
%  \myhyphenrules{#1}%
%  \edef\myjapanese{japanese}%
%  \edef\myoption{#1}%
%  \ifx\myoption \myjapanese
%    \expandafter\makexeCJKactive
%  \fi}


\begin{document}
England\cite{english}
Japan\cite{japanese}

\printbibliography
\end{document}

Bug in colaction for nested multicols environments

Brief outline of the bug

I found this bug related to the colaction feature of multicol :

The "column number indicator" doesn't switch back to 1 after the "inner" two-column multicols environment ends. (The bold number should give the number of the column).
Is there a way around?

cf. https://tex.stackexchange.com/q/427490/8323

Minimal example showing the bug

\RequirePackage{latexbug} 

\documentclass[a4paper]{article}
\usepackage[colaction]{multicol}

\def\printNumberColumn{%
\docolaction{\textbf{1}}{}{\textbf{2}}
}

\setlength\columnseprule{0.4pt}

\def\xxxxx{%
Test Test Test Test Test Test Test Test
}

\begin{document}
\begin{multicols}{2}
\printNumberColumn\par\xxxxx\xxxxx\xxxxx\xxxxx\xxxxx
\printNumberColumn\par\xxxxx\xxxxx\xxxxx\xxxxx\xxxxx
\begin{multicols}{2}
\printNumberColumn\par\xxxxx\xxxxx\xxxxx\xxxxx
\printNumberColumn\par\xxxxx\xxxxx\xxxxx
\end{multicols}
\printNumberColumn\par\xxxxx\xxxxx\xxxxx\xxxxx\xxxxx
\printNumberColumn\par\xxxxx\xxxxx\xxxxx\xxxxx\xxxxx
\printNumberColumn\par\xxxxx\xxxxx\xxxxx\xxxxx\xxxxx
\printNumberColumn\par\xxxxx\xxxxx\xxxxx\xxxxx\xxxxx
\printNumberColumn\par\xxxxx\xxxxx\xxxxx\xxxxx\xxxxx
\printNumberColumn\par\xxxxx\xxxxx\xxxxx\xxxxx\xxxxx
\printNumberColumn\par\xxxxx\xxxxx\xxxxx\xxxxx\xxxxx
\printNumberColumn\par\xxxxx\xxxxx\xxxxx\xxxxx\xxxxx
\printNumberColumn\par\xxxxx\xxxxx\xxxxx\xxxxx\xxxxx
\end{multicols}

\end{document}

Log file (required) and possibly PDF file

bug_multicol.pdf

bug_multicol.log

\@mkboth inside \chapter* in \tableofcontents

Claudio Beccari (claudio.beccari at gmail.com) wrote me the following. 1) His reasoning seems plausible; 2) I am doubtful you will want to make any change; 3) I didn't feel it was my place to make the decision. I imagine Claudio could provide an example document showing the problem, if useful. Thanks ... --karl


From: Claudio Beccari

The book standard class had the \table of contents macro un modified for
the past, maybe, 30 years and nobody complained. Therefore you are
evidently free to skip what follows'.
The actual definition is the following:

\newcommand\tableofcontents{%
      \if@twocolumn
          @restonecoltrue\onecolumn
      \else
          @restonecolfalse
      \fi
      \chapter*{\contentsname
              @mkboth{%
\MakeUppercase\contentsname}{\MakeUppercase\contentsname}}%
      @starttoc{toc}%
      \if@restonecol\twocolumn\fi
      }

while I suggest it should the following:

\renewcommand\tableofcontents{%
      \if@twocolumn
          @restonecoltrue\onecolumn
      \else
          @restonecolfalse
      \fi
      \chapter*{\contentsname}
              @mkboth{%
\MakeUppercase\contentsname}{\MakeUppercase\contentsname}%
      @starttoc{toc}%
      \if@restonecol\twocolumn\fi
      }

Why? Because in the original definition the \markboth macro is part of
the \chapter* argument and might get expanded at the wrong moment; with
the suggested "correction" it is not a moving argument and does not get
expanded until it is its turn to do so.

The difference is just a closed brace moved from one position to an
earlier one. It is a negligible detail, but it produces a robust
command. Possibly a \protect might do the same job, but displacing a
brace appears to me a simpler solution.

If a change is made, it would be a good idea to control the similar
macros the are contained in the other standard classes.

Of course I might redefine this command whenever I use my files; but it
seems to me that the small change I am suggesting is simple and without
consequences; I might be wrong, since I do not have a full vision over
all packages that might interact with this definition; I do not have the
software and the competence to do this kind of tests.

Amsmath's \big and text font change

Brief outline of the bug

When amsmath is in use, \big in text mode uses the size of the last math formula. Note that the command \big is valid in text mode (for instance Knuth suggests it for text parentheses when the contents contains a tall math expression).

Minimal example showing the bug

\RequirePackage{latexbug}
\documentclass{article}
\usepackage{amsmath}
\begin{document}
The number $\varphi$ \big(equal to $(1+\sqrt{5})/2$\marginpar{\tiny Golden ratio~$\varphi$.}\big) is nice.
\end{document}

Log file (required) and possibly PDF file

test.log
test.pdf

non-ascii file name regression

Brief outline of the bug

One of my test cases breaks with the the current 2018-04-01 release.

What I have done:

  1. update only the LaTeX base package (MiKTeX: ltxbase)
  2. open a command-prompt window and then:
chcp 65001    
pdflatex tèst.tex

This gives:

This is pdfTeX, Version 3.14159265-2.6-1.40.19 (MiKTeX 2.9.6655 NEXT 64-bit)
entering extended mode
! I can't find file `./t'.
<to be read again> 
                   \global 
<*> ./tè
         st.tex
Please type another input file name: 
! Emergency stop.
<to be read again> 
                   \global 
<*> ./tè
         st.tex
!  ==> Fatal error occurred, no output PDF file produced!
Transcript written on texput.log.

Maybe this is a MiKTeX-specific Windows bug. I will do further tests on macOS and Linux.

Minimal example showing the bug

\documentclass{article}
\begin{document}
Hallo Welt
\end{document}

Log file (required) and possibly PDF file

texput.log

amsmath: things enclosed by brackets in the new line after `\begin{aligned}` disappear in the output

Brief outline of the bug

If a new line after \begin{aligned} begins with a left bracket, anything before next occurrence of right bracket (along with the brackets themselves) will disappear in the output pdf.

Minimal example showing the bug

\RequirePackage{latexbug}

\documentclass{article}
\usepackage{amsmath}

\begin{document}
    \begin{equation}
        \begin{aligned}
            [p, q] = 1 - 1 = 0 \\
            [q, p] = 1 - 1 = 0
        \end{aligned}
    \end{equation}
\end{document}

Log (and possibly PDF) file

vanishing_brackets.pdf
vanishing_brackets.log

Possible cause

I checked amsmath's documentation and noticed that

The aligned environment takes an optional argument that indicates its vertical position in relation to surrounding material: t, c, or b for top, center, or bottom.

Therefore the behavior above might be caused by [p, q] (which is part of the math formula being typesetted) being recognized as the optional argument. This should be considered as a bug, as it does not meet the principle of least astonishment.

My temporary workaround

I insert a \relax or {} before the first left bracket, and the brackets stuff is no longer recognized as the optional argument.

Unknown option error for defined option

Brief outline of the bug

When a package is loaded with a number of options, say X,Y,Z and if that package then loaded other packages there is a situation that results an error reporting that a used option (e.g., X) is claimed to be unknown.

The issue happens is by some roundabout way one of the other packages makes sure that the original has been loaded, e.g. test2 checks that test1 was loaded below.

Right now that happened to me in doc when I load hypdoc in a certain situation (which itself ensures that doc was loaded.

By the way, the kernel uses both global and local defs for the \...-h@@k macros which isn't quite right either.

Minimal example showing the bug

\RequirePackage{latexbug}       % <--should be always the first line (see CONTRIBUTING)!
\begin{filecontents}{test1.sty}
\DeclareOption{X}{\typeout{Package test1 with option X}}

\ProcessOptions*

\RequirePackage{test2}
\end{filecontents}

\begin{filecontents}{test2.sty}
\RequirePackage{test1}  % make sure test1 is loaded (no options)

\typeout{Do something}
\end{filecontents}

\documentclass{article}

\usepackage[X]{test1}

\stop

Log file (required) and possibly PDF file

test.log

Bug in colaction in multicol

Brief outline of the bug

In the attached document, it seems to me that multicol call the wrong argument.
We are at column 2 but multicol calls the action for the first column.
The file is exercices_espaces_euclidiens.tex

The example is definitively not a MWE and I am sorry about it.
I hope you will still be able to understand what is going on, and maybe help me.

The file where I use colaction is macrosColas_Exercices_18_19.sty. Here is the code:

The call where colaction is not having the expected result is
\docolaction{\conditionalspace{1}}{}{\conditionalspace{2}}

% 4bis. Conditional rule
%https://tex.stackexchange.com/a/405256/8323

% we don't put rule after first sections
% (cf. \varIsNewSectionExercise)
\numdef{\columnnumber}{0}
\newcommand{\conditionalrule}[1]{
    \ifnumequal{#1}{\columnnumber}
    	% then
		{%
			\ifnum\varIsNewSectionExercise=1%
				% then
			\else
				% else
				\vspace*{2mm plus 2mm minus 1mm}
				\hrule
				\vspace*{4mm plus 2mm minus 1mm}
			\fi}
		% else
		{%
			% we nullify the above space
			\vspace{-\abovedisplayskip}
			\vspace{-\parskip}
		}
    \global\numdef{\columnnumber}{#1}
    }


% 4 bis bis. Conditional space
\numdef{\columnnumberbis}{0}
\newcommand{\conditionalspace}[1]{
    \ifnumequal{#1}{\columnnumberbis}
    	% then
		{\bfseries}
		% else
		{%
			% we nullify the above space for the second column
			\ifnumequal{#1}{2}
				% then
				{%
					\vspace{-\abovedisplayskip}
					\vspace{-\parskip}\itshape
				}
				% else
				{}
		}
    \global\numdef{\columnnumberbis}{#1}
    }




% 4ter. Print the info about IDs, etc.
\def\printInfoAboutIDs{%
    \ifthenelse{\equal{\shouldPrintIDs}{Y}}
    	{%
    		{\color{gray}
    		\hfill {\small\ttfamily\completeIdExo} \par \hfill{\small\bfseries \varNumberIDExo}%
    		\ifthenelse{\equal{\withCorrige}{Y}}
        		{\par{\color{black}\LARGE \hfill$\bullet$}}
        		{}
    		\par
    	}%
        {}
    \gdef\withCorrige{N}%
    }	
}



% 5. Main environment
\newcounter{cptrforexos}

\newenvironment{exo}[1][]{%
\addtocounter{cptrforexos}{1}
%
\initCountersExoSymbols
\computeCountersExoSymbols{#1}
%
%\vspace{-\abovedisplayskip}
%\vspace{-\parskip}
\docolaction{\conditionalspace{1}}{}{\conditionalspace{2}}
\begin{minipageparskip}
%
\nilParskip
%
\docolaction{\conditionalrule{1}}{}{\conditionalrule{2}}
\gdef\varIsNewSectionExercise{0}
%% Id of the exos and infos
\computeCompleteIdExo
\printInfoAboutIDs
%
\par
\textbf{Exercice \documentIndex.\thecptrforexos\,\printExoSymbols \varForConcours}
\vspace{0.5mm plus 0.5mm minus 0.25mm}
%
\varForTitreExo
%
\par
%
\normalParskip
\vspace*{-\parskip}
}
{%
\end{minipageparskip}
%
\gdef\varForConcours{}
\gdef\varForTitreExo{}
%
}

exercices.zip

Code for `\counterwithin` is missing the dot

The code for \counterwithin as in recent LaTeX release

\def\counterwithin{\@ifstar\counterwithin@s\counterwithin@x}
\def\counterwithin@s#1#2{%
  \@ifbothcounters{#1}{#2}{\@addtoreset{#1}{#2}}}
\def\counterwithin@x#1#2{%
  \@ifbothcounters{#1}{#2}%
      {\@addtoreset{#1}{#2}%
       \expandafter
       \gdef\csname the#1\expandafter\endcsname\expandafter
            {\csname the#2\expandafter\endcsname\expandafter
             \@arabic\csname c@#1\endcsname}}}

is missing the dot which is promised in the documentation:

edit: I forgot to say this originates in a tex.sx question

\counterwithin{counter}{within-counter}: Resets counter whenever
within-counter s stepped. Also redefines \thecounter command to produce
\thewithin-counter.\arabic{hounter}. 

latexrelease: "Suspicious rollback/min-date date given." for any new packages with min-date

Brief outline of the bug

If latexrelease is loaded with a new package that requires another package newer than the latest LaTeX, then latexrelease says:

! LaTeX Error: Suspicious rollback/min-date date given.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...

l.6 \RequirePackage{foo}[2018-05-04]

? h
There is a minimal date of 2018-05-04 specified for package 'foo'.
But this is in conflict with a rollback request to 2018-04-01, so something
is wrong here. Continue and I ignore the minimal date request.
  • The document latexrelease.pdf says that latexrelease[current] does not change the effective date of the format. However, the example seems to show that [current] option set the effective date to 2018-04-01. Is this intended behavior?
  • I think that there may be a situation where one wants to use an old format with newer third-party packages which do not conflict with rollback patches. In this case, the error might be inaccurate for the user.

Minimal example showing the bug

\RequirePackage{latexbug}
\RequirePackage[current]{latexrelease}
\documentclass{article}
\begin{filecontents}{foo.sty}
\ProvidesPackage{foo}[2018-05-04 New package 1]
\endinput
\end{filecontents}
\begin{filecontents}{bar.sty}
\ProvidesPackage{bar}[2018-05-04 New package 2]
\RequirePackage{foo}[2018-05-04]
\endinput
\end{filecontents}
\usepackage{bar}
\begin{document}
\end{document}

Log file (required) and possibly PDF file

test.log

babel: Strange bookmarks characters in arabic pdf

Brief outline of the bug

I have the following example, the headings on bookmarks when opening pdf file show strange characters unlike if we use bidi

Minimal example showing the bug

\RequirePackage{latexbug}      
\documentclass[a4paper]{book}
\usepackage{hyperref}
\usepackage[english, bidi=basic-r, layout=counters]{babel}
\babelprovide[import=ar, main]{arabic}
\babelfont{rm}{Amiri}

\begin{document}
\tableofcontents
\chapter{مقدمة}
\chapter{نظرة عامة}
\section{وجه التسمية}
\section{تاريخ}
\subsection{التيار الكهربائي}
\subsection{جدول التوزيع الإلكتروني}
\end{document}

With bidi

\RequirePackage{latexbug}      
\documentclass[a4paper]{book}
\usepackage{hyperref}
\usepackage{fontspec}
\usepackage[rldocument]{bidi}
\setmainfont[Script=Arabic]{Amiri}

\begin{document}
\tableofcontents
\chapter{مقدمة}
\chapter{نظرة عامة}
\section{وجه التسمية}
\section{تاريخ}
\subsection{التيار الكهربائي}
\subsection{جدول التوزيع الإلكتروني}
\end{document}

Log file (required) and possibly PDF file

Bookmarks with babel
result_with_babel

Bookmarks with bidi
result_with_bidi

Space before date optional argument to \ProvidesPackage causes error

Brief outline of the bug

As reported on the TeX Live list, with the 2018-04-01 release of the kernel there is a low-level error when a .sty file (or similar) has a space between the [ and date in the optional argument to \ProvidesPackage.

Minimal example showing the bug

\RequirePackage{latexbug}
\begin{filecontents}{test.sty}
\ProvidesPackage{test}%
  [ 2018/04/08 v0.0 Test Package. ]
\end{filecontents}
\documentclass{article}
\usepackage{test}
\begin{document}
Hello, World!
\end{document}
\begin{document}

Log file (required) and possibly PDF file

ex2.log

can not find .bib file on MacTeX using relative path

Brief outline of the bug

can not find .bib file using relative path like \bibliography{../Library}
(please create a library in parent folder by yourself because .bib file cannot be uploaded as attachment, and modify bibtex key accordingly)

this issue happens on my macOS while works well on windows 10

my platform:
macOS 10.13.4 with MacTeX (texlive 2017 distribution)
windows 10 with texlive 2017

Minimal example showing the bug

%!TEX program = xelatex
\RequirePackage{latexbug}
\documentclass{article}
\begin{document}
test cite \cite{key1}
\bibliographystyle{IEEEtran}
\bibliography{../Library1.bib}
\end{document}

Log file (required) and possibly PDF file

manuscript.pdf
manuscript.log

!! Use drag-and-drop (remember: .log file is required) !!

TOC entry is NOT GENERATED if unnumbered chapter title contains Romanian diacritics

Hello all,

Brief outline of the bug

In the following simple test file, the table of content entry corresponding to the unnumbered chapter is not generated (does not show up in PDF output) if Romanian diacritics are used in the chapter title.

Please note that the following characters with diacritics are an integral part of the Romanian language and may be entered directly from the keyboard when using Romanian layout (officially standardised since 2004):

  • capital S with comma-below (Ș - Unicode 0218)
  • small s with comma-below (ș - Unicode 0218)
  • capital T with comma-below (Ț - Unicode 021A)
  • small t with comma-below (ț - Unicode 021B)

Also, please note that corresponding characters with cedilla-below (Unicode 015E, 015F, 0162, 0163) are NOT correct for the Romanian language (they are still used sometimes for backward compatibility, but discouraged).

How to reproduce the bug

  • copy-paste the provided test file in a LaTeX editor (I used stock TexStudio in Fedora 27, with Romanian support, fonts, etc.)
  • save and build the file to PDF
  • note that Romanian diacritics are rendered correctly in the title and author's name
  • note that the corresponding table of content entry for the unnumbered chapter does not show up in TOC (is not displayed in the resulting PDF file, under "Cuprins")
  • change "chapter*{diacriticstext}" (unnumbered chapter) to "chapter{diacriticstext}" (numbered chapter), keeping "diacriticstext" the same
  • rebuild the PDF file
  • note that the corresponding TOC entry is now rendered correctly
  • put back "chapter*{sometext}", now replacing "sometext" with text without diacrtitics
  • rebuild the PDF file again
  • note that the corresponding TOC entry is now rendered correctly

Minimal example showing the bug

\documentclass[10pt,a4paper,twoside]{book}
\usepackage[romanian]{babel}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
 	
\title{Acesta este un titlu care „conține” ș-uri și ț-uri}
\author{Șerban Ioniță}
\date{}

\begin{document}
	 \maketitle
	 \tableofcontents
	 \chapter*{Introducțiune despre ș-uri ăâȚȘ}
\end{document}

Log file (required) and possibly PDF file

test-correct.pdf
test-incorect.pdf

Thanks a lot,
Răzvan

non ascii filenames on commandline

As reported on texlive list

http://tug.org/pipermail/tex-live/2018-May/041669.html

It turns out the default windows file api hides the unicode encoding of filenames and presents them with an 8bit encoding.

Currently in the 2018-04-01 release we make the utf8 decoding macros \string their arguments so the bytes are read as-is when being passed to the implicit input. this works if the commandline is UTF-8 and works "most" of the time even if it isn't, but it fails in predictable but hard to explain ways in some cases.

For example if a character whose latin1 encoding is a start byte of a multi-byte utf8 appears at the end of the filenanme \UTFviii@four@octets will be invoked with the definition

\long\def\UTFviii@four@octets#1#2#3#4{\string#1\string#2\string#3\string#4}

which will read past the end of the commandline and produce a * prompt before trying to input a file.

The solution is (I think) to define this as

\let\UTFviii@four@octets\string

so that each byte is made safe individually (which means additional cases such as \UTFviii@invalid@err also need to be made "safe")

More testing on windows is required though.

A macro name conflict between array and makecell package

Brief outline of the bug

The macro \mcell@box is defined by array (2017/11/07 v2.4f) and makecell (2009/08/03 V0.1e).

Minimal example showing the bug

\RequirePackage{latexbug} 
\RequirePackage{makecell}
\stop

Log file (required) and possibly PDF file

z.log

Using `bm` and `hyperref` together leads to `TeX capacity exceeded, sorry [input stack size=500]`.

Brief outline of the bug

\usepackageing bm and hyperref leads to TeX capacity exceeded, sorry [input stack size=500].

If I remove either bm or hyperref, the problem won't appear. Following the instructions of bm, I post an issue here. I don't if it is better to report this problem to Heiko Oberdiek the autor of hyperref.

Minimal example showing the bug

\RequirePackage{latexbug}       % <--should be always the first line (see CONTRIBUTING)!
\documentclass{article}
\usepackage{amsmath}
\usepackage[colorlinks]{hyperref}
\usepackage{bm}
\begin{document}
\section{First derivative of $\boldsymbol{\beta}_{ij}$}
\end{document}

Log file (required) and possibly PDF file

min.log

References in `latexchanges.pdf` are not hyper links

Brief outline of the bug

(Not a bug per se.) Would be nice if the references (especially to the GitHub issues) in the latexchanges.pdf file of changes to the LaTeX 2ε format could be hyper links, e.g. in section "Changes introduced in 2018-04-01 patch 3":

Additional adjustments for GitHub issues 34 and 38, [...]

babel: Reversed numbers in \hbox in LTR paragraph with bidi=basic-r

Brief outline of the bug

If numbers appear in an \hbox in a LTR paragraph of a document with bidi=basic-r, the numbers are reversed. This might occur in the footnote mark of a LTR quote, for example. RTL paragraphs are fine.

Minimal example showing the bug

\RequirePackage{latexbug}
\documentclass{article}
\usepackage[nil,bidi=basic-r]{babel}
\babelprovide[import=en-AU]{australian}
\begin{document}
A LTR paragraph reverses numbers in an \verb+\hbox+. e.g., \hbox{10}.
\end{document}

Log file (required) and possibly PDF file

babel-bidi-number-hbox.log

some utf8 chars are not accepted in package id lines

Brief outline of the bug

Minimal example showing the bug

file xstyle.sty

\NeedsTeXFormat{LaTeX2e}%
\ProvidesPackage{xstyle}[2018/03/10 1.1 Teckids Teχ/LᴬTᴇX style, second epoch]%
\RequirePackage{latexbug}       % <--should be always the first line (see CONTRIBUTING)!
\documentclass{article}%
\usepackage{xstyle}%
\begin{document}
foo
\end{document}

Log file (required) and possibly PDF file

xdoc.log

Comments

Checked with TL up to date as of today (20180608). The original Debian bug report mentions that it was working "before" so it must have been some recent LaTeX update.

xspace : filtration on \ifvmode / \ifmmode

Hello,

I wonder about the opportunity to test at the beginning of the
command \xspace (provided by xspace.sty) to test if TeX is in
vertical mode :

Clearly when \ifvmode is true, there is never the need to insert a
{blank space}.

Moreover, \xspace could be deactivated when \ifmmode is true either
(what is the purpose to add a \space in a mathematical formula ?)

Best regards.

Minimal example showing the bug

\RequirePackage{latexbug}       % <--should be always the first line (see CONTRIBUTING)!
\documentclass{article}

  % Any preamble code goes here

\begin{document}

See what happens in the .log

{\loggingall

\xspace


}

  
\end{document}

Log file (required) and possibly PDF file

!! Use drag-and-drop !!

[latexrelease] Page head hyphenation with latexrelease

!! Please fill out all sections after reading CONTRIBUTING guidelines !!

Brief outline of the bug

The code below is based on "tlb-verb-003.lvt". It compiles fine with

  • latest LaTeX2e (both "2017-04-15" and "2018-04-01 pre-release-1")
  • old LaTeX2e (say "2016/03/31 patch level 3"; current Overleaf is using it)

but wrong output comes with e.g. \RequirePackage[2016/03/31]{latexrelease}.

The threshold lies between 2017/03/09 and 2017/03/10, and any date options before 2017/03/10 breaks compatibility.

Minimal example showing the bug

\RequirePackage{latexbug}       % <--should be always the first line (see CONTRIBUTING)!
\RequirePackage[2017/01/01]{latexrelease}
\documentclass{article}

\addtolength\textheight{-30\baselineskip}
\addtolength\headheight{10pt}

\makeatletter
\def\@oddhead{\parbox{\textwidth}{[\thepage]
Supercalifragilisticexpialidocious
Supercalifragilisticexpialidocious
Supercalifragilisticexpialidocious
\the\language\typeout{lan=\the\language}}}
\makeatother
\begin{document}

\makeatletter[\fmtversion+\patch@level]\makeatother
$x$

zzz\\zzz\\zzz\\zzz\\zzz\\zzz\\zzz\\zzz\\zzz\\zzz\\zzz\\zzz\\zzz

zzz\\zzz\\zzz\\zzz\\zzz\\zzz\\zzz\\zzz\\zzz\\zzz\\zzz\\zzz\\zzz\\zzz\\zzz

zzz\\zzz\\zzz\\zzz\\zzz\\zzz\\zzz\\zzz\\zzz\\zzz\\zzz\\zzz\\zzz\\zzz\\zzz
\begin{verbatim}
a
 a
  a
   a
    a
     a
      a
       a
        a
         a
          a
a
 a
  a
   a
    a
     a
      a
       a
        a
         a
          a
\end{verbatim}

\clearpage

\end{document}

Log file (required) and possibly PDF file

iir-verb.log

asymmetric spacing around \sideset

Brief outline of the bug

The spacing around \sideset in amsmath is asymmetric and could be fixed by forcing \mathop interpretation at the left hand side see @eg9 's analysis at

https://tex.stackexchange.com/q/412575

Minimal example showing the bug

\RequirePackage{latexbug}
\documentclass{article}
\usepackage{amsmath}


\begin{document}



\[
\left|\sideset{^x}{}\sum\right|
+
\left|\sideset{}{}\sum_{x<n\le x+y}\right|
+
\left|\sideset{}{^x}\sum_{x+y<n\le x+y}\right|
\]
\makeatletter
\renewcommand{\sideset}[3]{%
  \@mathmeasure\z@\displaystyle{#3}%
  \global\setbox\@ne\vbox to\ht\z@{}\dp\@ne\dp\z@
  \setbox\tw@\box\@ne
  \@mathmeasure4\displaystyle{\copy\tw@#1}%
  \@mathmeasure6\displaystyle{#3\nolimits#2}%
  \dimen@-\wd6 \advance\dimen@\wd4 \advance\dimen@\wd\z@
  \mathop{\hbox to\dimen@{}}\!%
  \mathop{\kern-\dimen@\box4\box6}%
}
\makeatother
\[
\left|\sideset{^x}{}\sum\right|
+
\left|\sideset{}{}\sum_{x<n\le x+y}\right|
+
\left|\sideset{}{^x}\sum_{x+y<n\le x+y}\right|
\]

\end{document}

(see log analysis at the above link)

\uchyph=0 on XeLaTeX

Brief outline of the bug

I think \uchyph=0 is not working on XeLaTeX.

  • LuaLaTeX, pdfLaTeX, LaTeX: OK
  • XeLaTeX: NG

Strangely, plain XeTeX (replace the first 3 lines with \hsize=345pt) seems OK; so I don't think XeTeX engine itself is doing something wrong.

Your minimal example showing the bug

The code is based on https://tex.stackexchange.com/questions/107208 (Joseph's answer).

\RequirePackage{latexbug}
\documentclass{article}
\begin{document}

\uchyph=0 %

\begingroup
  \lccode`C=`C
  Some filler text.
  Some filler text.
  Some filler text.
  Some filler text.
  Capitalised word. % Capi-talised
  \par
\endgroup

\begingroup
  \lccode`C=`c
  Some filler text. 
  Some filler text. 
  Some filler text. 
  Some filler text. 
  Capitalised word. % (no hyphenation)
  \par
\endgroup

\begingroup
  \uccode`C=`C
  Some filler text. 
  Some filler text. 
  Some filler text. 
  Some filler text. 
  Capitalised word. % (no hyphenation)
  \par
\endgroup

\begingroup
  \uccode`C=`c
  Some filler text. 
  Some filler text. 
  Some filler text. 
  Some filler text. 
  Capitalised word. % (no hyphenation)
  \par
\endgroup

\end{document}

Log (and possibly PDF) file

`\colaction` raises error when `multicol` is not called

Brief outline of the bug

I want to be able to call \colactioneven outside of a multicol environment, and in this case, that the call does nothing.

Why so?

I have designed an environment that uses \colaction when it is embedded in a multicol environment.

Minimal example showing the bug

\RequirePackage{latexbug}
\documentclass{article}
\usepackage[colaction]{multicol}

\begin{document}
test
\docolaction{}{}{}
\end{document}

Log file (required) and possibly PDF file

This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017) (preloaded format=pdflatex)
\write18 enabled.
entering extended mode
(./bac_a_sable.tex
LaTeX2e <2017-04-15>
Babel <3.10> and hyphenation patterns for 84 language(s) loaded.
(/usr/local/texlive/2017/texmf-dist/tex/latex/latexbug/latexbug.sty)
(/usr/local/texlive/2017/texmf-dist/tex/latex/base/article.cls
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
(/usr/local/texlive/2017/texmf-dist/tex/latex/base/size10.clo))
(/usr/local/texlive/2017/texmf-dist/tex/latex/tools/multicol.sty)
(./bac_a_sable.aux) [1{/usr/local/texlive/2017/texmf-var/fonts/map/pdftex/updma
p/pdftex.map}] (./bac_a_sable.aux
./bac_a_sable.aux:2: Undefined control sequence.
\mc@set@col@status ...fnum #2=\mc@curr@col@status
\else @tempswatrue \fi
l.2 \mc@set@col@status{mc@col-1}{0}

?
Process aborted

PS:

The log file is empty.

Is it possible to detect free spaces in a document to place images?

Hi,

We generate PDFs with dynamic content. Moreover we would like to place some additional images or advertisements at blank spots in the document.

For example we have a page with a title and a description on the first page. 40% of the page is blank, so we would like to place an image there to fill the page.

Is there a way to get this behavior?

Thanks in advance

Questionable data in Travis-CI log

[ Copied from https://github.com/latex3/l3build/issues/55 ]

Looking into the travis log after uploading some code to latex2e I saw the following section:

Running script build.lua with target "check" for module doc
usage: build.lua <command> [<options>] [<names>]
The most commonly used l3build commands are:
   check      Run all automated tests
   clean      Clean out directory tree
   ctan       Create CTAN-ready archive
   doc        Typesets all documentation files
   install    Installs files into the local texmf tree
   save       Saves test validation log
   setversion Update version information in sources
   uninstall  Uninstalls files from the local texmf tree
   unpack     Unpacks the source files into the build tree
Valid options are:
   --config|-c        Sets the config(s) used for running tests
   --date             Sets the date to insert into sources
   --dry-run          Dry run for install
   --engine|-e        Sets the engine(s) to use for running test
   --epoch            Sets the epoch for tests and typesetting
   --first            Name of first test to run
   --force|-f         Force tests to run if engine is not set up
   --halt-on-error|-H Stops running tests after the first failure
   --last             Name of last test to run
   --pdf|-p           Check/save PDF files
   --quiet|-q         Suppresses TeX output when unpacking
   --rerun            Skip setup: simply rerun tests
   --shuffle          Shuffle order of tests
   --texmfhome        Location of user texmf tree
   --version|-v       Sets the version to insert into sources
See l3build.pdf for further details.
Running script build.lua with target "check" for module required/cyrillic

might be nicer if the build.lua in the latex2e/doc directory has a "check" target or that the the target is not called for that module or that we find a way to avoid these handwritten build files in the first place.

graphics: images disappear when keys natwidth and natheight are used

Currently with pdflatex and lualatex using (wrongly) the natwidth and natheight keys leads silently to blank spaces and the images are not in the pdf. Imho it would be better if the keys are either ignored, do something sensible, or give an error.

\documentclass{article}
\usepackage{graphicx}

\begin{document}
\includegraphics[width=10cm,natwidth=10cm,natheight=10cm]{example-image.eps}
\includegraphics[width=10cm,natwidth=10cm,natheight=10cm]{example-image.jpg}
\includegraphics[width=10cm,natwidth=10cm,natheight=10cm]{example-image.png}
\includegraphics[width=10cm,natwidth=10cm,natheight=10cm]{example-image.pdf}
\end{document}

Nesting align in gather

Brief outline of the bug

While the documentation about amsmath explicitly mentions that align can be nested in gather (and there are uses for this), a \label in the align will raise an error

! Package amsmath Error: Multiple \label's

even though the label is correctly written in the .aux file and can be referenced.

Source: https://tex.stackexchange.com/q/412261/4427

Minimal example showing the bug

\RequirePackage{latexbug}
\documentclass{article}
\usepackage{amsmath}

\begin{document}

\begin{gather}
a=b \\
\begin{align}
c&=d+e \\
f&=g+h
\end{align}
\end{gather}

\begin{gather}
a=b \label{A} \\
\begin{align}
c&=d+e \label{B} \\
f&=g+h
\end{align}
\end{gather}

\eqref{A} and \eqref{B}

\end{document}

aux, log and PDF

\relax 
\newlabel{A}{{4}{1}}
\newlabel{B}{{5}{1}}

gathali.log

gathali.pdf

Short columns with columnbreak in multicol* disappearing after first page, except for last column

Brief outline of the bug

This issue is a possible extension of the problem discussed in #11. In that issue, in a multicol environment, content could overlap on the final page if the \columnbreak macro was used in enough places in which the content without the breaks could fit on a single page.

This issue relates to the multicol* environment. In a similar situation, when there are shorter columns and column breaks, the first page of the environment prints fine, but all of the columns except for the last one are not output, and the final column is by itself on the final page. The minimal example below is an extreme case representing the issue.

I first noticed after installing TeX Live 2018, and it looks to be the result of the fix for #11. It isn't a major issue since it is easy to not be in this position in the first place (either by simply using the balanced columns or by boxing and measure content to decide when column breaks are absolutely necessary), but I thought I would report anyway since it was hard to notice it was happening, especially with existing documents, and it was a bit confusing what was really going on until I found the related issue.

Minimal example showing the bug

\RequirePackage{latexbug}
\documentclass{article}

\usepackage{multicol}

\begin{document}

\begin{multicols*}{2}

\columnbreak
column 1

\columnbreak
column 2

\columnbreak
column 3

\columnbreak
column 4

\columnbreak
column 5

\columnbreak
column 6

\columnbreak
column 7

\end{multicols*}

\end{document}

Log file (required) and possibly PDF file

Log and PDF in TeX Live 2018 with most recent multicol:

unbalanced columns test.log
unbalanced columns test.pdf

Log and PDF in TeX Live 2017 before multicol was updated for the referenced issue:
unbalanced columns test with tex live 2017.log
unbalanced columns test with tex live 2017.pdf

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.