2

Apparently, there are several issues with https://ctan.org/pkg/babel and https://ctan.org/pkg/pgf. I could not resolve the following issue with the solutions I found on similar problems on TeX.SE.

Notes.

  • LuaLaTeX is required. The problem does not occur with XeLaTeX.
  • I am using TeX Live 2020 with all recent updates.
  • Using the package luatexja-fontspec instead of babel's command \foreignlanguage{japanese}{text} does not seem to be an option as there are apparently too many clashes with other packages of which not all are included in the MWE.
  • Removing \foreignlanguage{japanese} and \babelprovide{japanese} replaces the problem by missing Japanese hyphenation and overfull \hboxes.

MWE.

\documentclass[twocolumn]{scrartcl}

\usepackage{fontspec}
\newfontfamily{\japaneseFamily}{NotoSerifCJKjp}[Scale=MatchLowercase,UprightFont=*-Regular,BoldFont=*-Bold,ItalicFont=*-Regular]

\usepackage[main=USenglish,showlanguages]{babel}
\babelprovide{japanese}

\usepackage{musixtex}

\usepackage{tikz}
\usetikzlibrary{babel}

\begin{document}

\section{English}
Language: \the\language. 
But I must explain to you how all this mistaken idea of denouncing of a pleasure and praising pain was born and I will give you a complete account of the system, and expound the actual teachings of the great explorer of the truth, the master-builder of human happiness. 

\section{Japanese}
\foreignlanguage{japanese}{Language: \the\language. \japaneseFamily{}再とこ書成テ回気86非康ラがだ質品3年ずこ狭罪ス性換カレツ者森越俺むよぞん。歴び氏麻情ーぎ再分特ぽリく根跡ラヒイ囲密ゅゃさ監媛18査わ縁襲アチオ件校レ真韓どをさゅ元懇リほ中再イソヒ録崎着るざ。}

\begin{enumerate}
    \item \foreignlanguage{japanese}{Language: \the\language. \japaneseFamily{}再とこ書成テ回気86非康ラがだ質品3年ずこ狭罪ス性換カレツ者森越俺むよぞん。歴び氏麻情ーぎ再分特ぽリく根跡ラヒイ囲密ゅゃさ監媛18査わ縁襲アチオ件校レ真韓どをさゅ元懇リほ中再イソヒ録崎着るざ。}
\end{enumerate}

\section{musixtex}
\begin{music}
\startextract%
\NOtes\zw{c}\zh{e}\qa{g}\enotes%
\zendextract
\end{music}

\section{tikz}
\begin{tikzpicture} 
    \filldraw[fill=.!20]
        (0,0) rectangle (2,2);
    \path[draw] 
        (1,-2) node[anchor=base] (tmp) {rectangle} (tmp) to  (1,1);
\end{tikzpicture}

\end{document}

Log.

This seems to be the relevant part of the log file:

warning  (hyphenation): bad specification: [\directlua]:1: attempt to index a n
il value
.
\endpgfpicture ...globally \endgroup \hss \egroup 
                                                  \pgf@restore@layerlist@fro...

l.42 \end{tikzpicture}

PDF.

Proceeding the compilation at this time yields a document which looks close to my expectations.

enter image description here

Additional side question.

Does someone know whether . as in section 2.6.3 of the manual of https://ctan.org/pkg/xcolor has a more descriptive and frequently used name (I am thinking of "current color selector") or an alias? Is there a simple alternative?

4
  • 2
    I added an issue github.com/latex3/babel/issues/99 Oct 11, 2020 at 20:35
  • @UlrikeFischer Thank you very much. There is much I could learn from you. I was not successful in discovering the exact spot. Oct 11, 2020 at 20:54
  • 1
    @CampanIgnis There is already an answer in the issue tracker. The problem is ultimately in \tikz (I'm assuming the syntax in \tikz is the correct one, too — it is?). Oct 12, 2020 at 8:25
  • 1
    @JavierBezos Thank you. As far as I know, @Ulrike Fischer's \tikz\draw[.!50](1,1); and my example are both correct syntactically. Oct 12, 2020 at 12:12

1 Answer 1

1

I do not want to steal merit from @Ulrike Fisher. I decided to post this here as it seems to be natural to post workarounds as an answer. In addition, it allows me to accept an answer to mark this question as closed.

@Ulrike Fisher has implicitly posted two instant solutions in https://github.com/latex3/babel/issues/99 to this issue which appears to be a bug. She did not mention these directly in her comment on my question.

Another less convenient workaround replace

\section{tikz}
\begin{tikzpicture} 
    \filldraw[fill=.!20]
        (0,0) rectangle (2,2);
    \path[draw] 
        (1,-2) node[anchor=base] (tmp) {rectangle} (tmp) to  (1,1);
\end{tikzpicture}

by

\section{tikz}
\colorlet{savedTikZTmpColor}{.}%new
\begin{tikzpicture} 
    \filldraw[fill=savedTikZTmpColor!20]%observe change 
        (0,0) rectangle (2,2);
    \path[draw] 
        (1,-2) node[anchor=base] (tmp) {rectangle} (tmp) to  (1,1);
\end{tikzpicture}

The problem of the question is solved by version 3.51 of https://ctan.org/pkg/babel just like the current maintainer @Javier Bezos promise in https://github.com/latex3/babel/issues/99. The MWE requires just an update, but change to the MWE.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .