2

Linuxでは、Lua 5.1を使用して、隠しディレクトリの下にluaスクリプトがあります~/.texmf/lua/print_table.lua。(これはLuaTeXに関連しているため、texmfディレクトリにあります。)luaホームディレクトリからインタラクティブに実行し、そのファイルを試したrequireところ、次のエラーメッセージが表示されました。

> require('.texmf/lua/print_table')
stdin:1: module '..texmf/lua/print_table' not found:
    no field package.preload['.texmf/lua/print_table']
    no file './/texmf/lua/print_table.lua'
    ... [file not found in other - irrelevant - trees, either, of course]

> require('/home/me/.texmf/lua/print_table')
stdin:1: module '/home/me/.texmf/lua/print_table' not found:
    no field package.preload['/home/me/.texmf/lua/print_table']
    no file './/home/me//texmf/lua/print_table.lua'
    ...

したがって、requireピリオドをスラッシュに明確に変換します。ピリオドをエスケープしても機能しませんでした。ピリオドを2倍にし、その前に円記号を付け、その前に2つの円記号を付けてみました。requireパスに隠しディレクトリ(またはその他の終止符)があるファイルへの道はありますか?

4

2 に答える 2

4

loadfilerequireの代わりに使用できます。このようにして、ダイレクトパスを指定できます。最近質問がありました...

于 2012-08-10T12:26:02.673 に答える
4

requireパスではなく、モジュール名が必要です。

またはに追加することをお勧めし/home/me/.texmf/lua/?.luaます。その後、あなたは言うことができるでしょう。package.pathLUA_PATHrequire "print_table"

于 2012-08-10T13:08:55.900 に答える