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

babelの双方向テキストとLuaTeX-ja

- ファヴォルスキー ファボン の投稿

1. babelのbidi=defaultとLuaTeX-jaのエラー

\documentclass{article}
\usepackage{luatexja}
\usepackage[japanese, bidi=default]{babel}
\begin{document}
\footnote{あああ}
\end{document} 

以上のように、BabelでRTL言語を含む日本語文書をLuaLaTeXで書こうとすると、footnoteを使ったときに以下のようなエラーが出ます。
(実際にはjlreqを使っていますが、最小の再現コードにするため省いています)

warning (hpack filter): error: [\directlua]:1: attempt to index a nil value (f
ield 'characters')

.
<to be read again>
\ltj@@reset@badness
l.6 \footnote{
 あああ}


以前は問題なく動いていたのでBabelのバージョンを落として調べたところ、 https://github.com/latex3/babel/commit/0bf72d4a12f8d40d6b2215b9d35cfa0ca641ea4f のコミットで発生するようになったことが分かりました。

2. babelのbidi=basicとemダッシュの合字

上記のエラー自体はbidiオプションをbasicにすることで回避できたのですが、そうするとsourcehanを使ったときのemダッシュの合字が効かなくなってしまいました。

\documentclass{article}
\usepackage[sourcehan-jp]{luatexja-preset}
\usepackage[japanese, bidi=basic]{babel}
\begin{document}
ああ——
\end{document}


LuaTeX-jaとBabelのどちらの問題か分からないので、ここで質問させていただきます。何か解決の糸口を知っている人がいましたら、よろしくお願いします。
(もしどうしようもなかったら、諦めてbidi=basicにしつつ2倍ダッシュは別の方法で出力することになりそうです)

TexShopが開かない

- 坂本 の投稿
Mac OS Sierra v.10.12.6 を使っています。
本日15時過ぎにTexShopをアップデートするとTexが開かなくなりました。TexShopは5.00になりましたが、原因が分かりません。
それまでは問題なく使えていました。
どなたかご指導をよろしくお願いします。

jlreqでも\narrowbaselinesしたい

- S. Ichijo の投稿
題名の通り、(lt)jsarticleなどのドキュメントクラスで用意されている\narrowbaselinesコマンドをjlreqクラスでも利用したいのですが、どう定義するとよいでしょうか。
\newif\ifnarrowbaselines
\if@english
\narrowbaselinestrue
\fi
\def\narrowbaselines{%
\narrowbaselinestrue
\skip0=\abovedisplayskip
\skip2=\abovedisplayshortskip
\skip4=\belowdisplayskip
\skip6=\belowdisplayshortskip
\@currsize\selectfont
\abovedisplayskip=\skip0
\abovedisplayshortskip=\skip2
\belowdisplayskip=\skip4
\belowdisplayshortskip=\skip6\relax}
\def\widebaselines{\narrowbaselinesfalse\@currsize\selectfont}
とすると、
! You can't use `\spacefactor' in math mode.
\@->\spacefactor
\@m {}
というエラーが出てしまいます。

ソースを添付しましたので、ご指摘、ご教示お願いいたします。

windows11に対応するTEX

- ueki ichiro の投稿
現在富士通ノートパソコンのwindows10で美文書作成入門第8版付録のTEXを使っています。windowsを11にアップグレードしようと思いますが、TEXはこのまま使えますか。使えない場合windows11で使えるTEXはどのように入手できますか。ご教示ください。
植木

どこがおかしいのか教えてください。

- 上杉 尚己 の投稿

\begin{frame}

\frametitle{課題7}

\begin{block}{Theorem(Newton法)}

[a,b]をR上の閉区間とし,fC¹[a,b],x₀[a,b]とする.このとき,

$xₙ₊₁=xₙ-\frac{xₙ}{f'(xₙ)}$と定める.このとき,{xₙ}[a,b]かつx₀=\lim_{n \to \infty}xが存在すれば,f(x₀)=0を満たす.

\end{block}

特に,f級で,f(a)f(b)<0かつ[a,b]上でf’’>0が成り立つとき,上の点列{x}は必ず[a,b]内で定義され,f(x)=0を満たす[a,b]における唯一の解x₀に収束する.

\end{frame}


array環境で等号を揃えようとするとエラーが出る

- kaji kinako の投稿
現在、以下のTeXコードでうまくコンパイルできています(このコード自体は他の方が作成したものです)。

\begin{array}{*{20}l}
{Y\left[ n \right] = a + b~X\left[ n \right] + \varepsilon \left[ n \right]} \hfill & {n = 1, \ldots ,N} \hfill \\
{\varepsilon \left[ n \right] \sim {\mathcal{N}}\left( {0,~\sigma^2 } \right)} \hfill & {n = 1, \ldots ,N} \hfill
\end{array}

私は、1番目の式の「=」と2番目の式の「~」を揃えたいと思って以下のようにしました。

\begin{array}{*{20}l}
{Y\left[ n \right] & = & a + b~X\left[ n \right] + \varepsilon \left[ n \right]} \hfill & {n = 1, \ldots ,N} \hfill \\
{\varepsilon \left[ n \right] & \sim & {\mathcal{N}}\left( {0,~\sigma^2 } \right)} \hfill & {n = 1, \ldots ,N} \hfill
\end{array}

ところが、以下のエラーが出てコンパイルできません。

! Missing } inserted.
<inserted text>
}
l.122 {Y\left[ n \right] &
= & a + b~X\left[ n \right] + \varepsilon \left[ ...

美文書作成入門 改訂第7版 5.25節を読んだ限りでは解決できませんでした。お手数をおかけしますがアドバイスをいただきたいです。

\if のつかいかた

- k-suke の投稿
[やりたいこと] \Aと書いたら、何も表示しない。
\A[hoge]と書いたら、A+hogeと表示する。
マクロが欲しい。
[ソース]
\newcommand{\A}[1][]{\if#1 {A+#1} \else \fi}

[本文とその結果]
(本文) \A[hoge], \A
(結果) h A+hoge,

[問題点]
\A[hoge] のとき、欲しいA+hogeの前に、引数の1文字目hが表示されてしまう。

上のソースのどこが間違っているのか、もっとうまいやり方があるのか?
どなたか、よろしくご教授ください。

TeXConf 2022開催のおしらせ

- きえだ ゆうすけ の投稿
TeXConf実行委員会代表の木枝です

今年もオンラインにてTeXConf 2022を開催いたします.
https://texconf2022.tumblr.com/

講演者募集も開始しております(締め切り10/8).

皆様の奮ってのご応募をお待ちしております.

背表紙付きの表紙の作成

- いりえ ゆり の投稿
はじめまして

製本直送.comというサイトを利用して、製本をしようとしています。
中身はできているのですが、表紙(表紙、背表紙、裏表紙が連なったもの)を作成したいです。
デザインは単純で、左から
・裏表紙(無地)
・背表紙(縦書きでタイトル)
・表紙(横書きでタイトル)
が並んでいるだけのものです(下記イメージ)。
サイズは本の厚みによって変わるので都度設定します。
このような出力を得る簡単なやり方などないでしょうか?
TeX歴は10年くらいですが、ほぼエンドユーザーとしての利用なので、あまり詳しくないです。

【イメージ】https://www.book-hon.com/wp-content/uploads/2020/01/hyousi_2.png

uline--.styで穴埋め問題を作る

- あ い の投稿
穴埋めに下線を引くことについて,質問させていただきます。

【環境など】
OS: MacBook (TeX Shop)
Compiler: lualatex
目標:書き込みの空白を伸長して,下線を引く


uline--.styで,以下のように穴埋め箇所に点線の下線を引こうと試みました。


%【souce】
¥documentclass{ltjsarticle}% !lualatex

¥usepackage{luatexja}% lualatexの日本語設定
¥usepackage{luatexja-fontspec}% lualatex多書体化
¥usepackage{luatexja-otf}% lualatex用otf
¥usepackage[usetype1]{uline--}% 本題の下線
¥newlength{¥testblanklength}%
¥newcommand{¥testblank}{¥settowidth{¥testblanklength}{#1}¥uline{¥hspace{¥testblanklength}}}%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%¥AddCommandInUline¥testlength[][]{}% ←uline--.styに設置
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

¥begin{document}

¥textgt{【短い場合】}
 
¥testblank{あいうえお}
 
¥textgt{【長い場合】}
 
¥testblank{摩訶般若波羅密多心経観自在菩薩行深般若波羅密多時照見五蘊皆空度一切苦厄舎利子色不異空空不}

¥end{document}

エラーメッセージは以下です。

%【error message】
./testblank.tex:9: Illegal parameter number in definition of \testblank.
<to be read again>
1
l.9 ...length}{#1}\uline{\hspace{\testblanklength}}}

log fileは添付してあります。

発想としては,
① 穴埋めにしたい箇所の長さを測定する
② 測定値を1.5倍してhspaceで水平方向にその分の長さを取る
③ 水平方向のスペースを下線(点線)で括る
なのですが,以下のような問題点があります。
① そもそも\uline{\hspace{30cm}}が改行しない
② \settolengthをuline中で使えない(?)

どうすれば解決できるのでしょうか?

ちなみにuline--.styに一行追加したものを添付しようと思ったのですが,著作権についてよくわからないのでアーカイプを下に載せておきます。
申し訳ありません。

【uline--.sty archive】
https://web.archive.org/web/20160613154204/http://www.h4.dion.ne.jp:80/~latexcat/macros/macro-index.html

よろしくお願いいたします。