項目を横に並べる enumerate 環境

項目を横に並べる enumerate 環境

- 上山 英二 の投稿
返信数: 1

(この投稿は問題が解決し次第削除させていただく予定です)

失礼いたします.

「緑の本」に記述のある autoalign 環境を参考にして,「項目の長さから列数を自動で計算し,その項目たちを列ごとに然るべき位置へ配置する」,いわゆる enumerate 環境の横並び版のようなものを自作いたしました(そのソースコードが autoenumi.sty です.使用例は autoenumi.tex に記載しております).

緑の本で触れられている autoalign 環境からの主な変更点は以下の通りです:

  • 実装を expl3 メインにしました.
  • 長い項目がある際に,その項目前の \item のオプション引数に noauto を指定することで,その項目だけ独立して 1 行にできるようにしました(\item[noauto] では改行もできるようにしてあります.逆にオプション引数で noauto を指定していない場合は実装の都合上改行できません).
  • \begin{autoenumi}[adjust] と書くことで,項目の並べ方をより見栄えするよう微調整できるようにしました(オプション引数を指定していない,もしくは adjust 以外の文字列をオプション引数に入れている場合はデフォルト通りの出力になります).しかしこの微調整のアルゴリズムに関しては「緑の本」でも触れられているため,変更点かと言われたら少し怪しいかもしれません.

そこで本題に入ります.

僕は自作したこちらの autoenumi パッケージの説明およびソースコード本体を Qiita 等の記事投稿サイトで公開しようと思っているのですが,その際に著作権等の問題は発生しないのでしょうか.

実装を見ていただければ分かると思うのですが,実装を expl3 メインにしており自前でオプション引数等も設定しているとはいえ,大枠のアルゴリズムや設計方針に関しては「緑の本」に記載されているものを概ねそのまま踏襲しており,それをこのまま記事投稿サイト等の多くの人の目に触れてしまうような場所で公開してしまうのは良くないのではないかと思い,質問に至った次第でございます.

本来このような場所で質問するような事でもないのですが,この件に関して有識者からの回答をお伺いできるのが TeX Forum しか無さそうであったため,こちらで質問させていただきました.

また,この autoenumi.sty について何か実装上の欠陥や改善点等がございましたら遠慮なくご指摘いただけますと幸いです(当方は TeX や LaTeX に関する知識が大変浅いため,どこかで誤った/欠陥のある実装をしてしまっている可能性が非常に高いです).

長文投稿大変失礼いたしました.

上山 英二 への返信

Re: 項目を横に並べる enumerate 環境

- 上山 英二 の投稿

\exp_args:Nne \str_if_eq:nnTF { adjust } { \@autoenumi@option }

としてる部分は単に

\str_if_eq:nVTF { adjust } { \@autoenumi@option }

とするだけで良さそうですね.

あと\def\@AE@itemsep{1\zw} としてる部分は \@AE@itemsep\zw の間違いです(別に前者でも動きますが).申し訳ございません.