user1 (パッケージによって提供されるキーが定義/設定されているかどうかに応じて出力を作成するように、glossaryentryfield を変更したいと思います。次のことを試しました。
\renewcommand*{\glossaryentryfield}[5]{\bfseries{\glstarget{##1}{##2}} & ##3 \\
\ifempty{\glsentryuseri{##1}}
it & is very empty \\
\else
& \glsentryuseri{##1} \\%
\fi}
ただし、次のようないくつかのエラーメッセージが表示されます。
! 未定義の制御シーケンス。\ifempty l.49 \setentrycounter{page}\glsnumberformat{a}}} % エラー メッセージの先頭行の末尾にある制御シーケンスが \def されていません。スペルが間違っている場合 (例:
\hobx'), type
I' と正しいスペル (例: `I\hbox'))。それ以外の場合はそのまま続行してください。
(用語集のエントリごとに 1 つ) 明らかに、一致しない \else と一致しない \fi が続きます。
私が見る限り、私は拡張順序で何かをしなければなりませんが、私はラテックスの完全な初心者です。user1 が定義されている場合にのみ余分な行を表示したいので、すべての user1-keys を単純に設定することはできません。他の行はデバッグ目的のためだけです。
また、 \if ( \expandafter\ifempty{\glsentryuseri{##1}} ) の直前に \expandafter を追加しようとしました (次の出力が得られます:)
user1value & は非常に空です \\ & user1value
誰もこれを確認できなかったので、ラテックスコミュニティにクロスポストし、そこに最小限の例を追加しました。あるサイトでそれが公開されるとすぐに、ソリューションをクロスポストします