TeXStudio は外部ファイル内の自己定義コマンドを認識しません

TeXStudio は外部ファイル内の自己定義コマンドを認識しません

いくつかのテーブルを外部 .tex ファイルのコマンド (MWE) として定義したいと思います。テーブルには設定がたくさんあるからです。この外部ファイルは、コマンドによってメイン ドキュメントにインクルードされます\input{}。定義済みのコマンドを使用しても問題ありません。TeXStudio はメイン ドキュメントをコンパイルでき、出力も生成します。問題は、TeXStudio が自分で定義したテーブル内の\hlineコマンドと&テーブルのセパレーターを認識しないことです (エディターはテーブル環境の外側にテーブル コマンドがあると表示します)。また、エディターでメイン ドキュメントのみを開いた場合 (myTemplate ファイルなし)、外部ドキュメントで定義した\mytable{}\lbコマンドは認識されません。

ここに画像の説明を入力してください

構文の強調表示を単に無効にせずに、この赤い強調表示を消す方法はありますか? ここでいくつかの助けを得ました:TeXStudio は一部のコマンドを認識しませんなぜなら、以前に他のコマンドでも同じ問題が発生したことがあるからです。ただし、これらのコマンドは ctan から取得したパッケージからのコマンドなので、独自に定義したコマンドはありません。

この問題が再現可能かどうかはわかりませんが、MWE は次のとおりです。

\documentclass[]{scrartcl}
\input{myTemplate.tex}

\begin{document} 

\mytable{
%% \hline A & B & C & D & E \\ \hline
a & b1 \lb b2 \lb b3 & c1 \lb c2 \lb c3 & d & e \\ \hline
& & & & \\ \hline
& & & & \\ \hline   
}

\end{document}

そして、myTemplate ファイル:

\usepackage{tabularx}
\usepackage{here}
\usepackage{array}
\usepackage[table]{xcolor}
\newcolumntype{M}[1]{>{\centering\arraybackslash}m{#1}} 

\newcommand{\mytable}[1]{%
\begin{center}
    \rowcolors{1}{white}{pink}
    \begin{tabular}{| M{.2\textwidth} | M{.15\textwidth} | M{.1\textwidth} | M{.2\textwidth} | M{.2\textwidth} | M{.15\textwidth}|} \hline
    A & B & C & D & E \\ \hline
    #1
    \end{tabular}
\end{center}%
}

\newcommand{\lb}{\linebreak}

答え1

構文チェックの一部を選択的に切り替えすることはできません。また、パーサーが引数でテーブルのような動作を受け入れるようにすることもできません。

ただし、独自のテーブル環境を定義することもできます。

\newenvironment{mytable}{%
    \begin{center}
        \rowcolors{1}{white}{pink}
        \begin{tabular}{| M{.2\textwidth} | M{.15\textwidth} | M{.1\textwidth} | M{.2\textwidth} | M{.2\textwidth} | M{.15\textwidth}|}     \hline
            A & B & C & D & E \\ \hline
}{\end{tabular}\end{center}}

カスタム .cwl で、環境を表形式として宣言します。

\begin{mytable}#\tabular
\end{mytable}

それを文書内で使用します:

\begin{mytable}
%% \hline A & B & C & D & E \\ \hline
a & b1 \lb b2 \lb b3 & c1 \lb c2 \lb c3 & d & e \\ \hline
& & & & \\ \hline
& & & & \\ \hline   
\end{mytable}

答え2

この問題が発生しました。3 つのファイルがあります:

  • MySty.sty (ここではいくつかの新しいコマンド、環境などが定義されています)
  • 印刷.tex
        \documentclass[12pt]{article}
        \usepackage{MyStyle.sty}

        \begin{document}
                \input{1.tex}
                \input{2.tex}
                .............
        \end{document}
  • 1.tex (ここではTeXStudioで認識されないカスタムコマンド)

\usepackage{MyStyle.sty}に変更したところです\input{MyStyle.sty}。これですべてのプロジェクトが正常にコンパイルされ、すべてのファイルで認識されない強調表示はなくなりました。

関連情報