tlmgr update --self --allしたら、bxglyphwikiが動かなくなった。

tlmgr update --self --allしたら、bxglyphwikiが動かなくなった。

- mr2h の投稿
返信数: 6
ここ2~3日の間の、tlmgrのupdateによって、表記の現象がおきました。 私はdiskまるごとバックアップしていたので、この前にbackupしたのは3日程前と思いますが、慌ててその3日前の状態に戻しましたら、正常に機能します。log file を添付できると良いのですが、慌てて戻したので、添付できません。そこで、bxglyphwikiをinstall済みの方が居られましたら、直近の状態にtexliveをしていただき、正常に機能するかどうか教えていただきたいのです。bxglyphwiki自体は、このところ変更はないようなので、其の他の「關係しそうな」どれかが、引きおこして居るのかもしれません。素人なので、詳しいことは良く解りません。もし、どうしてもlogを提出せよということであれば、またerrorが起きる状態に戻して、提出しますが。相談するに充分な材料をお示しできないで、申し訳ないのですがbxglyphwikiを多用していますので、宜しくおねがいいたします。 windows11 pro, cpuはintel 13600K clockはノーマルです。texlive2023使用。bxglyphwikiは最新versionです。
mr2h への返信

Re: tlmgr update --self --allしたら、bxglyphwikiが動かなくなった。

- はやて (h20y6m) の投稿
どうやら texlua (luatex) の仕様が変わり socket ライブラリ(インターネットアクセス)を使うためには "--socket" オプションが必要になったようです。

lualatex を使っている場合 lualatex 実行時の引数に --socket(または --shell-escape)オプションと付けます。

それ以外(platex等)で bxglyphwiki.lua をカレントディレクトリ(文書ファイルがある場所)に置いている場合は bxglyphwiki.sty の 144 行目の texlua コマンドに --socket オプションを追加します。
```
{\setgwcommand{texlua --socket \bxgw@pkgname.lua}}
```

bxglyphwiki.lua を bxglyphwiki というコマンド名で実行可能にしている場合……
私には回避策を見つけることができませんでした……
はやて (h20y6m) への返信

Re: tlmgr update --self --allしたら、bxglyphwikiが動かなくなった。

- Z. R. の投稿
>bxglyphwiki.lua を bxglyphwiki というコマンド名で実行可能にしている場合……
私には回避策を見つけることができませんでした……

素直に「bxglyphwiki.luaとは別にそれを実行するためのバッチファイルを用意する」方が安全そうですよね……。


※bxglyphwiki(.bat)とbxglyphwiki.luaを実行パスの通っている同じディレクトリに配置する。

[Windows用:bxglyphwiki.bat]
@echo off
texlua --socket %~dp0bxglyphwiki.lua %*
[Unix系OS用:bxglyphwiki]
#!/bin/bash
texlua --socket $(dirname $0)/bxglyphwiki.lua $*
はやて (h20y6m) への返信

Re: tlmgr update --self --allしたら、bxglyphwikiが動かなくなった。

- mr2h の投稿
はやて様、Z.R.様、早速のご回答ありがとうございます。 texlua (luatex) の仕様が変わつた爲らしいことは分かりました。
私はWindowsのuserですので、bxglyphwiki作者さまのご指示通り、runscript.exeをbxglyphwikiとrenameして実効fileとしていました。統合環境はtexworksです。現在upLaTeXを使用しております。(もしかして内部的にluatexを使用していたのでしようか?)。今までのtexworksの設定では、「タイプセットの方法」として、upLaTeX(ptex2pdf)のoptionとして指定していたのは、
-l -u -ot -kanji=utf8 $synctexoption -no-guess-input-enc -shell-escape $fullnameでした。-shellescapeはすでに指定しておりますが、どこをどう変えたら良いのでしようか、いまひとつよくわかりません。どうかご教示ください。
mr2h への返信

Re: tlmgr update --self --allしたら、bxglyphwikiが動かなくなった。

- はやて (h20y6m) の投稿
> runscript.exeをbxglyphwikiとrenameして

renameではなくcopyのはずですが……
runscript.exeがなくなってしまっている場合は元に戻しておくことをお勧めします。

----

Z.R.さんの投稿にあるように「bxglyphwiki(.bat)とbxglyphwiki.luaを実行パスの通っている同じディレクトリに配置」すればよいでしょう。
ここでは実行パスの通っているディレクトリとしてTeX関連の実行ファイルの場所(以下 $TEXMFBIN)にしてみます。

  1. $TEXMFBIN/bxglyphwiki.exeを削除する。
  2. $TEXMF/scripts/BXglyphwiki/bxglyphwiki.luaを$TEXMFBIN/bxglyphwiki.luaに移動する。
  3. Z.R.さんの投稿の内容のバッチファイル$TEXMFBIN/bxglyphwiki.batを作成する

一応私が作成したbxglyphwiki.batを添付しておきます。

----

> もしかして内部的にluatexを使用していたのでしようか?

bxglyphwikiはLuaスクリプトを使って一部の処理を行っています。platexにはLuaを処理する機能はないのでタイプセット中にtexlua (luatex)コマンドを呼び出してその部分の処理をしてもらっているのです。
(このようにタイプセット中に別のコマンドを実行するのに必要なのが"-shell-escape"です。)

はやて (h20y6m) への返信

Re: tlmgr update --self --allしたら、bxglyphwikiが動かなくなった。

- mr2h の投稿
はやて様、Z.R.様、有り難うございました。解決できました。今後もこのbxglyphwikiまわりで「仕様変更」あつたときには、質問させて下さい。はやて様の、具体的な手順の説明は私のような『素人』にとって、非常にわかりやすかつたです。runscript.exeは、ちやんともとの場所に置いています。コピー先のfolderでrenameしたと、申せばよかった。不正確な表現であつたと反省します。