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

나는이 문제가 있었다. 세 개의 파일이 있습니다.

  • MySty.sty(여기서 몇 가지 새로운 명령, 환경 등을 정의함)
  • print.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}. 이제 모든 프로젝트가 성공적으로 컴파일되었으며 모든 파일에 인식할 수 없는 강조 표시가 없습니다.

관련 정보