Skip to content

ReviewExtention v0.1.2 - Issue #28 HotFix

Choose a tag to compare

@dsgarage dsgarage released this 08 Sep 08:04
· 3 commits to develop since this release

ReviewExtention v0.1.2 - Issue #28 HotFix

🔧 修正内容

Issue #28で報告されていたLaTeX listings言語パラメータの処理問題を修正しました。英語コードの折り返し機能が正常に動作するようになりました。

🐛 解決した問題

Issue #28: 英語コードの折り返し機能が動作しない

  • Re:VIEWがwrap=80などのオプションをそのまま言語パラメータとしてLaTeX listingsパッケージに渡していた
  • Couldn't load requested languageエラーが発生し、PDFのビルドに失敗
  • 日本語テキストは正常に折り返されるが、英語コードブロックで問題が発生

📝 変更点

修正

  • LaTeX listingsの言語パラメータ処理を改善
    • オプション(wrap, fold, lineno等)と実際の言語を適切に分離
    • language パラメータには実際の言語(ruby, python等)のみを渡すよう修正
    • options は\lstsetパラメータに適切に変換

技術的詳細

  • parse_language_options() 関数でパラメータ解析を実装
  • create_options_from_hash() でオプション構造体を生成
  • 各list関数(list, listnum, emlist, cmd)でオプション解析処理を追加

✅ 動作確認

修正前

//list[test][英語コード][wrap=on,lang=ruby]{
def very_long_method_name_that_should_be_wrapped_automatically
//}

→ LaTeX Error: Couldn't load requested language

修正後

//list[test][英語コード][wrap=on,lang=ruby]{
def very_long_method_name_that_should_be_wrapped_automatically
//}

→ 正常にビルド、適切な行折り返しとシンタックスハイライト

📦 アップグレード方法

既存プロジェクトでの適用

# 最新版を取得
git pull origin main
git checkout v0.1.2

# 必要なファイルをプロジェクトにコピー
cp lib/ruby/builders/latex/list.rb your-project/lib/ruby/builders/latex/
cp lib/ruby/tags/list.rb your-project/lib/ruby/tags/
cp sty/review-custom.sty your-project/sty/

🧪 テスト結果

  • 英語コードブロックの自動折り返し動作
  • 日本語コードブロックの継続動作(回帰テストOK)
  • 複数オプション(wrap+lang+lineno)の組み合わせ動作
  • LaTeX listingsエラーの解消

👥 影響範囲

このHotFixは以下の機能に影響します:

  • 直接影響(改善): 英語コードブロックの折り返し表示
  • 間接影響(安定性向上): LaTeX PDFビルドの成功率向上
  • 回帰テスト: 既存の日本語コード表示は変更なし

🙏 謝辞

Issue #28の詳細な報告とテスト協力をいただいた皆様に感謝いたします。