latex-workshop.close-envが動作しない

latex-workshop.close-envが動作しない

- User LaTeX の投稿
返信数: 4

VSCodeのLaTeX Workshopを使用しているのですが、latex-workshop.close-envが動作しません。

.texファイル(test.tex)は

\documentclass{beamer}

\begin{document}
\begin{frame}
  ほげ

\end{document}

という内容としています。パスに日本語やドット、スペース等は含まれておらず、英語の大文字と小文字、アンダースコアのみが含まれます。

「ほげ」の次の行にカーソルがあり、ここでlatex-workshop.close-envを実行させたのですが、frame環境が閉じられません。

settings.jsonは以下まで切り詰めてあります。

{
    "latex-workshop.latex.autoBuild.run": "never"
}

LaTeX WorkshopのLogを見ると

[Commander] CloseEnv command invoked.
[EnvPair] No matched command pair found in envNameAction

とあり、正しく認識できていないようです。なぜでしょうか。どう対処すればよいでしょうか。

なお、あまり再現性はなく、タイミングによってはうまく動作することもありますが、その直後に\end{frame}を削除して再度試すとうまくいかなかったりと動作が安定しません。

また、以前(2週間ほど前)までは普通に使えていました。

解決のために必要な情報が欠けていましたらご指摘ください。

いまはframeで実験を行っておりますが、frameであれば実際は補完でやってくれるものの、LaTeX Workshopに登録されていないような環境(自作環境など)だとlatex-workshop.close-envが動いてくれないと執筆効率が落ちてしまいます。

率直に言って、これのせいでかなり執筆のモチベーションも下がっており、早急に解決したいです。

アドバイス、よろしくお願いします。

User LaTeX への返信

Re: latex-workshop.close-envが動作しない

- 和田 勇 の投稿
他人には vscode いいよ と勧める割に、markdown のプレビューくらいで積極的には使っていないので、不正確かもしれませんが ...

OS は macOS ではありますが ...
「vscode ... バージョン: 1.79.2」
「 LaTeX workshop extensio ... james-yu.latex-workshop-9.12.2」
で調べています。

「keybindings.json」は以下のように設定しました。

    // 既定値を上書きするには、このファイル内にキー バインドを挿入します
    [
        {
            "key": "ctrl+alt+e",
            "command": "latex-workshop.close-env",
            "when": "editorLangId =~  /^latex$/",
        },
    ]

なお、settings.json は何も設定していません。

この状態で、テストすると、\end{frame} が生成されたますが ...
さらに \begin{frame} 。。。。追加し生成を試みたところ、\end{abc}
が生成されてしまい、思い通りにいかず :-( 。(abc は直前に入れたもののようだ)

うまくいかないので実現したそうなものを snippet を作ってみようと思ったら
「\beginend」がすでに登録されていますね。

「\beg」くらい入力すると候補が出るので「\beginend」を選ぶと、
以下の三行が生成され、二つの「{}」でカーソルが点滅します。

        \begin{}
   
        \end{}

点滅に続いて 「frame」や独自に作成した環境名を自在に入力できますが
いかがでしょうか?
ただマルチカーソル状態から抜け出すのはほんのちょっと面倒ですけど。
和田 勇 への返信

Re: latex-workshop.close-envが動作しない

- User LaTeX の投稿

ありがとうございます。VSCode、LaTeX Workshopのバージョン共に当方も同じです。

※ OSはWindows11です。

\beginendはご指摘のマルチカーソルの問題が面倒で、latex-workshop.close-envを愛用していた背景があります。

ただし背に腹は代えられませんし、これも良い機会ですから\beginendにも慣れていこうと思います。

少なくとも、私の環境固有の問題では無いようで良かったです。

修正されることを気長に待とうと思います。

User LaTeX への返信

Re: latex-workshop.close-envが動作しない

- 和田 勇 の投稿
とりあえず 公開されている LaTeX workshop ソースで修正内容をみていたのですが、
begin などのenv 関係は、どれが原因なのか即答できないほどたくさんあるので、
余力があれば、作者/メンテナーに issue をあげてみたらと思ってみたら ...

https://github.com/James-Yu/LaTeX-Workshop/issues/3946
Cannot execute latex-workshop.close-env #3946

とすでに上がっていますね。修正を待っていただくか、
LaTeX workshop であれば、暫定ですが、添付画像を参考にダウングレードしてみてはいかがでしょか?
添付 スクリーンショット 2023-06-27 7.00.44.png
和田 勇 への返信

Re: latex-workshop.close-envが動作しない

- User LaTeX の投稿

返信に気付けていませんでした。

ありがとうございます。

https://github.com/James-Yu/LaTeX-Workshop/issues/3946

を見たところ、

> fixed

とありましたので、次回アップデートの折にでも修正が入るのでしょうか。それまではダウングレードして使いつつ、こちらが修正されたらアップグレードしようと思います。

情報提供ありがとうございました。