TeXStudio no reconoce comandos autodefinidos en archivos externos

TeXStudio no reconoce comandos autodefinidos en archivos externos

Me gustaría definir algunas tablas como comandos (MWE) en un archivo .tex externo, porque hay muchas configuraciones para ellas. Este archivo externo se incluye en el documento principal mediante el \input{}comando. Usar mis comandos predefinidos no es un problema. TeXStudio puede compilar el documento principal y también proporciona un resultado. El problema es que TeXStudio no reconoce el \hlinecomando y el &separador de tablas dentro de mi tabla autodefinida (el editor dice que hay comandos de tabla fuera del entorno de tabla). Además, si solo se abre el documento principal en el editor (sin el archivo myTemplate), los comandos \mytable{}y \lbque definí en el documento externo no se reconocen.

ingrese la descripción de la imagen aquí

¿Hay alguna manera de hacer desaparecer este resaltado en rojo sin simplemente desactivar el resaltado de sintaxis? Recibí ayuda de aquí:TeXStudio no reconoce algunos comandos, porque he tenido el mismo problema con otros comandos antes. Sin embargo, estos comandos eran de paquetes que obtuve de ctan, por lo que no hay comandos autodefinidos.

No estoy seguro de si este problema se puede reproducir, pero aquí hay un 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}

Y el archivo 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}

Respuesta1

No es posible cambiar selectivamente partes de la verificación de sintaxis. Tampoco es posible hacer que el analizador acepte un comportamiento similar a una tabla en los argumentos.

Sin embargo, podría definir su propio entorno de tabla:

\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}}

en un .cwl personalizado, declare que el entorno será tipo tabular:

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

y úsalo en tu documento:

\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}

Respuesta2

Tuve este problema. Tengo tres archivos:

  • MySty.sty (aquí se definen algunos comandos, entornos, etc. nuevos),
  • imprimir.tex
        \documentclass[12pt]{article}
        \usepackage{MyStyle.sty}

        \begin{document}
                \input{1.tex}
                \input{2.tex}
                .............
        \end{document}
  • 1.tex (aquí mis comandos personalizados no reconocidos por TeXStudio)

Acabo de cambiar \usepackage{MyStyle.sty}a \input{MyStyle.sty}. Y ahora todo el proyecto se está compilando con éxito y no hay ningún resaltado que no se reconozca en todos mis archivos.

información relacionada