mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-09-21 07:12:10 +00:00
tex2lyx/Preamble.cpp: fix bug #9561
there were 2 issues: - the body was not output to the Preamble - the theorem module already defines a theorem. It must not be output to the preamble to avoid a redefinition error of LaTeX update the test files accordingly
This commit is contained in:
parent
259400325e
commit
041a3add6c
@ -1684,13 +1684,22 @@ void Preamble::parse(Parser & p, string const & forceclass,
|
||||
string const body = p.verbatim_item();
|
||||
string const opt3 = p.getFullOpt();
|
||||
|
||||
add_known_theorem(name, opt1, !opt2.empty(),
|
||||
from_utf8("\\newtheorem{" + name + '}' +
|
||||
opt1 + opt2 + '{' + body + '}' + opt3));
|
||||
string const complete = "\\newtheorem{" + name + '}' +
|
||||
opt1 + opt2 + '{' + body + '}' + opt3;
|
||||
|
||||
add_known_theorem(name, opt1, !opt2.empty(), from_utf8(complete));
|
||||
|
||||
// we know that our theorem module already add automatically some
|
||||
// theorem definition. They must not be output in the preamble to
|
||||
// avoid LaTeX errors about redefinitions
|
||||
if (complete == "\\newtheorem{thm}{\\protect\\theoremname}")
|
||||
in_lyx_preamble = true;
|
||||
else
|
||||
in_lyx_preamble = false;
|
||||
|
||||
if (!in_lyx_preamble)
|
||||
h_preamble << "\\newtheorem{" << name << '}'
|
||||
<< opt1 << opt2 << '{' << '}' << opt3;
|
||||
<< opt1 << opt2 << '{' << body << '}' << opt3;
|
||||
}
|
||||
|
||||
else if (t.cs() == "def") {
|
||||
|
@ -5,8 +5,16 @@
|
||||
\origin roundtrip
|
||||
\textclass amsart
|
||||
\begin_preamble
|
||||
\numberwithin{equation}{section} %% Comment out for sequentially-numbered
|
||||
\numberwithin{figure}{section} %% Comment out for sequentially-numbered
|
||||
\providecommand{\theoremname}{Theorem}
|
||||
\theoremstyle{plain}
|
||||
\newtheorem{lem}[thm]{Lemma}
|
||||
|
||||
\usepackage{babel}
|
||||
|
||||
|
||||
|
||||
\end_preamble
|
||||
\use_default_options false
|
||||
\begin_modules
|
||||
|
@ -1,19 +1,14 @@
|
||||
%% LyX 1.6.1 created this file. For more info, see http://www.lyx.org/.
|
||||
%% Do not edit unless you really know what you are doing.
|
||||
\documentclass[oneside,english]{amsart}
|
||||
\usepackage[T1]{fontenc}
|
||||
\usepackage[latin9]{inputenc}
|
||||
\usepackage{amsthm}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Textclass specific LaTeX commands.
|
||||
\numberwithin{equation}{section} %% Comment out for sequentially-numbered
|
||||
\numberwithin{figure}{section} %% Comment out for sequentially-numbered
|
||||
\providecommand{\theoremname}{Theorem}
|
||||
\theoremstyle{plain}
|
||||
\theoremstyle{plain}
|
||||
\newtheorem{thm}{\protect\theoremname}
|
||||
\theoremstyle{plain}
|
||||
\newtheorem{lem}[thm]{Lemma}
|
||||
\theoremstyle{plain}
|
||||
\newtheorem{lem}[thm]{Lemma}
|
||||
|
||||
\usepackage{babel}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user