# Problems with environments in TeXStudio

This document

\documentclass{article}
\usepackage{amsthm}
\newtheorem{lemma}{Lemma}
\newcommand{\mycommand}{Here is the command}
\begin{document}
\begin{lemma}
Here is the lemma
\end{lemma}
\mycommand
\end{document}


is perfectly compiled but the problem is that TeXStudio says that \begin{lemma} \end{lemma} are unrecognized commands when I put the pointer on them and they have an horrible orange background (I know how to disable this but I don't want to because that feature is useful). The same happens when I define another environments. I often define a couple of theorem environments.

But the strange thing is that when I define a new command, TeXStudio does recognize it and the autocompletion feature works with both the new command and the new theorem environments (when I write \begin{lem} a box is shown with my new environment which is cool).

I'd like that TeXStudio recognize my environments.

-
possible duplicate of TeXStudio doesn't recognize some commands – egreg Apr 12 '12 at 22:58

It worked for me when I checked all the options in Options > Configure TexStudio > Completion > Use following completion files. I do not know which header file we need to use particularly in this case.

You may also see the post at TeXStudio doesn't recognize some commands

-
the problem is not the completion, it works pretty well, the problem is that TeXStudio does not recognize my new environment. – Anon Mar 14 '12 at 0:24

According to the SourceForge TeXstudio forum entry
http://sourceforge.net/projects/texstudio/forums/forum/907839/topic/5111488
this is solved when using the SVN version of TeXstudio and is fixed.

The proposed solution is to

1. Use the SVN version; or
2. Wait for the updated release (possibly 2.4).
-

I have a similar problem (using TexStudio 2.9.4, so the problem was not totally resolved by 2.4 as announced), but it does not occur when defining a new environment THAT HAS NO PARAMETER, but only if my new environment HAS A PARAMETER:

\documentclass{scrbook}

\newenvironment{WithoutParameter}{}{}
\newenvironment{WithParameter}[1]{}{}
\newenvironment{OptionalParameter}[1][DefaultValue]{}{}
\begin{document}

% this works, and in the editor is diplayed correctly:

\begin{WithoutParameter}
without parameter
\end{WithoutParameter}

% all the following work also, but "\begin{..}" is marked as error in the editor as described above

\begin{WithParameter}{}
with parameter, empty value
\end{WithParameter}

\begin{WithParameter}{SomeValue}
with parameter, some value
\end{WithParameter}

\begin{OptionalParameter}
with optional parameter, no value
\end{OptionalParameter}

\begin{OptionalParameter}[]
with optional parameter, empty value
\end{OptionalParameter}

\begin{OptionalParameter}[SomeValue]
with optional parameter, some value
\end{OptionalParameter}

\end{document}

-
Welcome to TeX.SX! – Christian Hupfer Jul 15 '15 at 12:44