質問用フォーラムです。ご質問の前に質問のしかたをご覧ください。

ltj-adjust.lua でエラーが出る

- Toshio Otaguro の投稿

私は lualatex + jlreq で日本語の文章を書いている者です.先月14日頃の luatexja の改訂以降 postnotes パッケージを使うと ltj-adjust.lua においてエラーが出るようになってしまいました.以下再現ソースです.

\documentclass[lualatex,paper=b5j,book,openany,hanging_punctuation]{jlreq}
\usepackage[haranoaji,no-math,deluxe]{luatexja-preset}
\usepackage{postnotes}
\postnotesetup{%
  heading=\section*{注},%
  listenv=postnoteslisthang,%
  postprintnote=\vspace{3pt}
}
\begin{document}
\chapter{序章}
この章では対流圏\postnote{\;対流圏に関する注.}における高度補正について論じる.
\printpostnotes
\end{document}
 
エラーは
warning  (append to vlist): error: ...xlive/2025/texmf-dist/tex/luatex/luatexja/ltj-adjust.lua:425: Attempt to node.direct.remove() a non-existing node
.
<argument> ...hskip:D \c_zero_dim \fi: \tex_par:D
                                                  \hook_use:n {para/after}\@...
 
というもので,ltj-adjust.lua の 425 行目で発生しています.存在しないノードを取り除こうとしてエラーとなっているようです.付随する症状として,\postnotesetup の最後の行の postprintnote をコメントアウトするとエラーが出なくなります.また \postnote{} 中身の末尾の全角ピリオドを取り除いてもエラーが出なくなります.これは奇妙.
 
応急処置として ltj-adjust.lua の該当部分をコメントアウトして使っています.これは luatexja 側に問題があるのでしょうか?それとも postnotes 側に問題があるのでしょうか?各種パッケージは tlmgr によって最新版にしています.どなたかご教示いただければ幸いです.

theorem環境における書体について

- 09 Sasa の投稿

Windows11 24H2
TeXLive 2025

jarticleで作成した文章は、theorem環境内のいわゆる1バイト文字部分が、イタリックとなるようですが
jsarticleにすると正体となります。
jsarticleにし、かつtheorem環境内の1バイト文字部分をイタリックにすることは可能でしょうか?

jariticleで入稿された文書を、規定のフォーマットに変更する(jsarticleにするのもその一環)際に
上記の問題に遭遇しました。投稿者が意図した状態になっていないため、対応したいと考えています。

非デフォルトのtcolorboxでtcbrasterを使用すると改段処理が効かない

- KK TeX の投稿

ascolorboxに掲載されているsimplesquareboxを、tcbrasterにかけることでminipage的役割を持たせるという使い方ができればかなり応用の効く物になると思って試してみたのですが、デフォルトのボックスだときちんと2カラムになるのにこちらではならないということが判明しました

コードの一部抜粋が以下となります。(最小構成のサンプルは添付の通りです。)


\begin{tcbraster}[raster columns=3,raster equal height]

\begin{simple}{あいうえお}
あいうえお
\end{simple}
\begin{simple}{あいうえお}
あいうえお
\end{simple}
\end{tcbraster}

jlreq特有の挙動というわけでもなく、ltjsreportでも同じ症状が発生します。また、行数を変えて試すと高さの調整は効いているようなので、改段処理のところさえどうにかすれば機能すると思われます。

強制的に(手動でもいいので)改段処理を入れられるようにしたいのですがどのようにするのが良いでしょうか。知恵をお貸しいただける方がいらっしゃいましたら何卒よろしくお願い申し上げます。

jlreqで見出しのラベルをajKakuしたい

- akkiy - の投稿

LuaLaTeX+jlreqを使用しております。

はじめて1年くらいのまだまだ初心者です。

titlesecが使えないので,jlreqのマニュアルを見ながら見出しのラベルを変えようとしましたが,上手くいきません。

sectionのラベルをajKakuに,subsectionのラベルをajMaruにしたいです。

試したこと(全てエラー)

\DeclareBlockHeading{section}{1}{
    label_format=\ajKaku{\thesection}
}
 
\DeclareBlockHeading{section}{1}{
    label_format=\ajKaku{\value{\thesection}}
}
 
\DeclareBlockHeading{section}{1}{
    format=\ajKaku{#1}
}
 
\DeclareBlockHeading{section}{1}{
    format=\ajKaku{\value{#1}}
}
 
よろしくお願いいたします。

VPLファイルについて

- かず の投稿

こんにちわ

フォントをComputerModern利用せず、他のフォントを利用しています。そのフォント用のTFMなどは作成しています。

利用しているフォントでイタリックの文字は文字幅に対してグリフが左右飛び出している文字があるので、その補正をしたいと考えております。文字のならびの組み合わせによっては文字が重なってしまう。

CHARACTERプロパティのCHARICの値はイタリックの次にローマンの文字が続いたときに有効になる値と認識しております。逆にローマンの次にイタリックが続くときに有効になる設定方法はあるのでしょうか?

イタリックの文字の右側は対処できているのですが、左側が対処できないのです。

LIGTABLEのKRNでは同じフォントでしか有効にならないためおそらく利用できないと考えております。

よろしくお願いします。

最近のplatexと自前で定義したページスタイル

- TAKENO Shigeharu の投稿

platex で自前で定義したページスタイルを使っていたのですが、最近 texlive-2025 に更新された方の platex ではそれが通らなくなりました。

従来の platex (FreeBSD の texlive-20240312): 

This is e-pTeX, Version 3.141592653-p4.1.1-230214-2.6 (euc) (Web2C 2024) (preloaded format=platex)
pLaTeX2e <2023-02-14>+1, based on
LaTeX2e <2024-06-01> pre-release-1 (develop 2025-2-25 branch)

新しい方の platex (FreeBSD の texlive-20250308):

This is e-upTeX, Version 3.141592653-p4.1.2-u2.00-250202-2.6 (euc) (Web2C 2025) (preloaded format=platex)
pLaTeX2e <2023-02-14>+1, based on
LaTeX2e <2025-06-01> pre-release-2 (develop 2025-6-18 branch)

自前のページスタイルは以下の通り:

----- ここから -----

\makeatletter
\def\mydraft{}
\def\ps@mypages{\let\@mkboth=\@gobbletwo
  \def\@oddhead{\underline{\hbox to \textwidth{\rightmark \hfil\thepage}}}
  \def\sectionmark##1{\markright{\uppercase{%
        \ifnum \c@secnumdepth >\z@
          \thesection. \ \fi ##1}}}%
  \def\@evenhead{}\def\@oddfoot{\mydraft\hfil}\def\@evenfoot{}%
}
\def\ps@mypagesii{\let\@mkboth=\@gobbletwo
  \def\@oddhead{\underline{\hbox to \textwidth{\rightmark \hfil\thepage}}}
  \def\chaptermark##1{\markright{\uppercase{%
        \ifnum \c@secnumdepth >\m@ne
          \@chapapp\ \thechapter. \ \fi ##1}}}%
  \def\sectionmark##1{\markright{\uppercase{%
        \ifnum \c@secnumdepth >\z@
          \thesection. \ \fi ##1}}}%
  \def\@evenhead{}\def\@oddfoot{}\def\@evenfoot{}%
}
\makeatother
\pagestyle{mypages}

----- ここまで -----

\section{} がひらがなだけなら通るのですが、セクションに漢字が入るとだめみたいで、

「! Missing } inserted.」とか「! Extra }, or forgotten $.」とか怒られます。

\documentclass{jarticle}

(上の定義)

\begin{document}

\section{漢字}

\end{document]

位でうちでは再現されます。

どなたか対処をご存知でしたらよろしくお願い致します。

mhchemに下線を引く:東大化学を再現

- akkiy - の投稿

現在,東京大学の入試問題をTeXで再現しています。

添付PDFのような状況で,mhchemが提供する\ce{H2}などの化学式に下線を引きたいと思っています。

lua-ulを使うと改行部分で下線がずれてしまい上手くいきません。

こちらも拝見しましたが,解決には至っていません。

TeX Live 2025でLuaLaTeX+jlreqを使用しています。

お力添えいただければ幸いです。よろしくお願いいたします。

数式の各上下スペースを『大学への数学』風にする

- 北川 直樹 の投稿

お世話になります。北川です。

最近、別行立て数式の前後について考えており、参考書のように調整したいと思いました。『大学への数学』(東京書籍)をみると、数式の上下のスペースは、通常のテキストの行間と等しいことが分かりました。ここで、「行間」とは\baselineskipのことではなく、ある行とその次の行に和文字の隙間(\baselineskip-1\zhに相当?)のことです。

また、alignの上下やalign中の各数式の上下のスペースも同様でした。

テキスト中の数式に分数やインテグラルを用いた場合は、「行間」が挿入されていることが分かりました。

そこで、各パラメータを次のように設定しました。

\setlength{\lineskip}{\baselineskip-1\zw}
\setlength{\lineskiplimit}{3pt}
\AtBeginDocument{
  \abovedisplayskip=0\abovedisplayskip
  \abovedisplayshortskip=0\abovedisplayshortskip
  \belowdisplayskip=0\belowdisplayskip
  \belowdisplayshortskip=0\belowdisplayshortskip
  \setlength{\jot}{0pt}
}
これは、別行立ての数式の上下を0ptにして、ほぼ強制的にlineskipを入れることを意図したものです。
 
しかし、alignの前後及び各数式の上下のスペースは想定よりも大きくなりました。
 
そこで、先の目的を達成するためには、どのように各パラメータを調整すればよいか、ご教授いただければ幸いです。
 
LuaLaTeX + jlreqで組んでいます。
 
よろしくお願いいたします。

NewTCBListingにおいて、1行目のみ出力がおかしい

- KK TeX の投稿

今日、今まで使用していた

\newtcblisting{lstlistings}{%
  (省略)
}

によるボックスを改良しようと思い、

\NewTCBListing{lstlistingTest}{ m m o O{black} }{%
(省略)
}

によるボックスを作成しました。
しかし、どういうわけか、定義方法を変えた途端に1行目の出力だけがバグるようになってしまいました。なんの仕様によるものなのか見当がつかないため、ご質問させていただいております。ご回答いただける方がいらっしゃいましたらお願い申し上げます。

必要になりうるファイルは以下に全て添付しておきましたので、ご使用ください。

lua-ul で作成した波線マクロが上手く機能しない

- 上山 英二 の投稿

失礼致します.上山と申します.

luatexja+jlreq で lua-ul パッケージを用いて,とりあえずマニュアルに従いながら以下のような波線マクロを定義しました:

\newunderlinetype\beginUnderWaby{\cleaders\hbox{%
    \begin{tikzpicture}[xscale=1.3,baseline=4pt,x=1pt,y=0.75pt]%
        \clip (1,1+1pt) rectangle (5,-1-1pt);
        \draw[semithick] (0,0) sin (1,1) cos (2,0) sin (3,-1) cos (4,0) sin (5,1) cos (6,0);
    \end{tikzpicture}%
    }}
\NewDocumentCommand{\underWaby}{+m}{{\beginUnderWaby#1}}
 
しかし,このマクロは様々な所でうまく機能しません.
場面によっては改行するところで波線がページの端まで伸びてしまったり,引数に指定した文字の長さよりも長く波線が伸びてしまったり,さらには一部の文字にだけ波線が二重に引かれてしまったりします.
組版の際に各文字間に挿入される kanjiskip や xkanjiskip が伸縮することによってこのような不具合が起きているのではないかとも考えましたが,正直なところよく分かりません.
投げやりな質問になってしまい大変恐縮ではございますが,この問題を根本的に解決する手段はありますでしょうか.
 
一応,このマクロを使用したことによって生じた問題(の一部)をまとめた tex ファイルをここに添付いたしますので,参考にしていただけますと幸いです.