
Gostaria de definir algumas tabelas como comandos (MWE) em um arquivo .tex externo, pois existem muitas configurações para elas. Este arquivo externo é incluído no documento principal pelo \input{}
comando. Usar meus comandos predefinidos não é problema. TeXStudio é capaz de compilar o documento principal e também fornecer uma saída. O problema é que o TeXStudio não reconhece o \hline
comando e o &
separador para tabelas dentro da minha tabela autodefinida (o editor diz que existem comandos de tabela fora do ambiente de tabela). Além disso, se apenas o documento principal for aberto no editor (sem o arquivo myTemplate), os comandos \mytable{}
e \lb
que defini no documento externo não serão reconhecidos.
Existe uma maneira de fazer desaparecer esse realce vermelho sem simplesmente desativar o realce de sintaxe? Recebi uma ajuda daqui:TeXStudio não reconhece alguns comandos, porque já tive o mesmo problema com outros comandos antes. Porém, esses comandos eram de pacotes que recebi do ctan, portanto, não há comandos autodefinidos.
Não tenho certeza se esse problema pode ser reproduzido para você, mas aqui está um 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}
E o arquivo 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}
Responder1
Não é possível alternar seletivamente partes da verificação de sintaxe. Também não é possível fazer com que o analisador aceite comportamento semelhante ao de uma tabela nos argumentos.
No entanto, você pode definir seu próprio ambiente de tabela:
\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}}
em um .cwl personalizado, declare que o ambiente é semelhante a uma tabela:
\begin{mytable}#\tabular
\end{mytable}
e use-o em seu 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}
Responder2
Eu tive esse problema. Eu tenho três arquivos:
- MySty.sty (aqui são definidos alguns novos comandos, ambientes, etc.),
- imprimir.tex
\documentclass[12pt]{article}
\usepackage{MyStyle.sty}
\begin{document}
\input{1.tex}
\input{2.tex}
.............
\end{document}
- 1.tex (aqui meus comandos personalizados não reconhecidos pelo TeXStudio)
Eu acabei de mudar\usepackage{MyStyle.sty}
para \input{MyStyle.sty}
. E agora todo o projeto foi compilado com sucesso e não há destaque irreconhecível em todos os meus arquivos.