+2002-03-26 Jean-Marc Lasgouttes <lasgouttes@freesurf.fr>
+
+ * NEWS: update somewhat for 1.2.0
+
2002-03-22 Angus Leeming <a.leeming@ic.ac.uk>
* INSTALL: updated the Problems section for Tru64 Unix.
----------------------------
LyX 1.2.0 is the version where many of changes in the 1.1.x series
-begin to really pay off. It should prove to be a very solid base for
+really begin to pay off. It should prove to be a very solid base for
further developments. As of this version, we use (yet another) new
versioning scheme: next major version will be 1.3.0, and 1.2.x will
be just incremental fixes (like the fix series used to be for 1.1.5
and 1.1.6).
-In the 1.2.0 verison, we switched to the so-called 'new' insets:
+This version sees the introduction of the so-called `new' insets,
+which can contain arbitrary text. As a consequence, many new features
+are now possible:
-- Floats, footnotes and margin notes are now real insets
+- Floats, footnotes and margin notes are now real insets. The
+ positional parameters of figure, table and algorith, floats can be set
+ float-by-float
- Most problems with the new table inset of 1.1.6 have been resolved
(memory consumption, spell-checking, search and replace...)
-- TeX mode has been superseded by the 666 (aka ERT) inset, which is
- foldable
+- TeX mode has been superseded by the ERT inset, which is foldable, or
+ can be shown inline
-- New graphics inset with support for hassle-free inclusion of various
- image formats (GIF, JPEG, PNG and EPS by default).
+- Notes inset can now contain arbitrary LyX constructs; they will not
+ appear in the output.
- New minipage inset
-- Notes inset can now contain arbitrary LyX constructs
-The math editor has been mostly rewritten (and thus may have many new
-bugs :). Most of the changes should not be visible for the user,
-except:
+Other more traditional insets have been improved too:
+
+- New graphics inset with support for hassle-free inclusion of various
+ image formats (GIF, JPEG, PNG and EPS by default) and a new
+ rendering scheme that should fix the bugs we had with the older
+ ghostscript method.
+
+- Support for natbib for bibliography citations
+
+
+
+The math editor has been mostly rewritten. This begun as a general
+cleanup, but it turns out that many new features happened in this
+process, among which:
+
+- possibility to display arbitrary TeX symbols as long as the fonts are
+ made available to the X server
+
+- support for many amsmath features
- Improvements to the parser
- Enable size changes to arrays after creation (add/delete rows/columns)
-- Support for amsmath align environment
-
- Support for changing font on a selection
-Most of the popups have been rewritten in the GUI-I framework:
-- The citation dialog citation dialog has a search facility, with
- support for regular expressions.
+Other changes include:
+
+- Most of the popups have been rewritten in the GUI-I framework, and
+ improved in the process
- The kde frontend has been dropped in favor of a new qt2 frontend.
Note that only the xforms front is really operational as of this
- version.
+ version and alternative fontends are expected for 1.3.0
-Other changes include:
+- The citation dialog has a search facility, with support for regular
+ expressions.
- New ligature break special character, useful for words like
- shelfful, or many german words
-
-- Support for natbib for bibliography citations
+ "shelfful", or many german words
- Support for parsing preamble when converting LaTeX files. Along
with changes in the LaTeX production of alignment options, this
+2002-03-19 Kayvan A. Sylvan <kayvan@sylvan.com>
+
+ * examples/listerrors.lyx: Fixed to run with python-1.5 as well
+ as with latest python-2.2
+
+ * scripts/listerrors: Re-generated from listerrors.lyx
+
+2002-03-25 Jean-Marc Lasgouttes <lasgouttes@freesurf.fr>
+
+ * Makefile.am (install-xfonts): fix the target when no X fonts
+ have been found.
+ General: do not use $$(foo) instead of $${foo} for shell variables!
+
2002-03-21 Lars Gullik Bjønnes <larsbj@birdstep.com>
* Minipage.lyx:
done
install-xfonts:
- files=`sed -e 's/^\([^ ]*\) .*$$/\1/' xfonts/fonts.dir` ; \
- for i in $$(files) ; do \
+ test -f xfonts/fonts.dir || exit 0 ; \
+ files=`sed -e 's/^[0-9]*$$//' -e 's/^\([^ ]*\) .*$$/\1/' xfonts/fonts.dir` ; echo [$$files] ;\
+ for i in $${files} ; do \
ln -sf `kpsewhich $$i` $(DESTDIR)$(pkgdatadir)/xfonts/$$i ; \
- done
- $(INSTALL_DATA) xfonts/fonts.dir $(DESTDIR)$(pkgdatadir)/xfonts/fonts.dir
+ done ; \
+ $(INSTALL_DATA) xfonts/fonts.dir $(DESTDIR)$(pkgdatadir)/xfonts/fonts.dir ; \
$(INSTALL_DATA) xfonts/fonts.scale $(DESTDIR)$(pkgdatadir)/xfonts/fonts.scale
install-data-local: libinstalldirs install-xfonts
files=`cd $(srcdir) ; echo $(LIBINSTFILES)` ; \
- for i in $$(files) ; do \
+ for i in $${files} ; do \
$(INSTALL_DATA) $(srcdir)/$$i $(DESTDIR)$(pkgdatadir)/$$i ; \
done
install-exec-local: libinstalldirs
files=`cd $(srcdir) ; echo $(LYXSCRIPTS)` ; \
- for i in $$(files) ; do \
+ for i in $${files} ; do \
$(INSTALL_SCRIPT) $(srcdir)/$$i $(DESTDIR)$(pkgdatadir)/$$i ; \
done
uninstall-local:
@$(NORMAL_UNINSTALL)
files=`cd $(srcdir) ; echo $(LIBINSTFILES) $(LYXSCRIPTS)` ; \
- for i in $$(files) ; do \
+ for i in $${files} ; do \
rm -f $(pkgdatadir)/$$i ; \
done ; \
dirs=`cd $(srcdir) ; echo $(LYXLIBDIRS)` ; \
- for i in $$(dirs) ; do \
+ for i in $${dirs} ; do \
rm -rf $(pkgdatadir)/$$i ; \
done
######## X FONTS
# create a fonts.dir file to make X fonts available to LyX
echo "checking for TeX fonts"
+
fontlist="cmex10 cmmi10 cmr10 cmsy10 eufm10 msam10 msbm10"
rm -f xfonts/fonts.dir xfonts/fonts.scale xfonts/tmpfonts
num=0
+touch xfonts/tmpfonts
for font in $fontlist ; do
MSG_CHECKING([for $font])
result=no
__author__ = "Kayvan A.
Sylvan <kayvan@sylvan.com>"
\newline
-__date__ = "$Date: 2002/03/19 21:42:48 $"
+__date__ = "$Date: 2002/03/25 23:29:30 $"
\newline
-__version__ = "$Revision: 1.1 $"
+__version__ = "$Revision: 1.2 $"
\newline
__credits__ = """Edmar Wienskoski Jr.
<edmar-w-jr@technologist.com>
\newline
\newline
-import sys
+import sys, string
\newline
\newline
\newline
if lines:
\newline
- line = lines[-1]
-\newline
- lines = lines[:-1]
+ line = lines.pop()
\newline
else:
\newline
\newline
lines = __lines
\newline
- lines += (line,) # push a list onto the stack, not individual letters
+ lines.append(line)
\newline
\newline
<<Look for the unescaped angle-brackets in documentation>>=
\newline
-if line.find(": unescaped << in documentation chunk") != -1:
+if string.find(line, ": unescaped << in documentation chunk") != -1:
\newline
- line_parts = line.split(':')
+ line_parts = string.split(line, ':')
\newline
num_str = line_parts[1]
\newline
\newline
i = 0
\newline
- while i < num_len and num_str[i].isdigit(): i += 1
+ while i < num_len and (num_str[i] in string.digits): i = i + 1
\newline
if i == num_len:
\newline
\newline
if (not retval):
\newline
- left = line.find("<<")
+ left = string.find(line, "<<")
\newline
if (left != -1) and ((left + 2) < len(line)) and
\backslash
\newline
- (line[left+2:].find(">>") != -1):
+ (string.find(line[left+2:], ">>") != -1):
\newline
write_error(line, "noweb");
\newline
\newline
for msg in msgs_to_try:
\newline
- if line.find(msg) != -1:
+ if string.find(line, msg) != -1:
\newline
write_error(line, "noweb")
\newline
<<Handle the gcc error message>>=
\newline
-first_space = line.find(' ')
+first_space = string.find(line, ' ')
\newline
if first_space > 1: # The smallest would be "X: "
\newline
\newline
num_end = first_space
\newline
- while next_line[num_end].isdigit(): num_end += 1
+ while next_line[num_end] in string.digits: num_end = num_end + 1
\newline
if num_end > first_space: # good!
\newline
\newline
num_str = next_line[first_space:num_end]
\newline
-msgs = []
-\newline
-msgs += (line[first_space:],)
+msgs = [line[first_space:]]
\newline
-msgs += (next_line[num_end + 1:],)
+msgs.append(next_line[num_end + 1:])
\newline
header_to_see = next_line[:num_end]
\newline
\newline
while next_line and next_line[:num_end] == header_to_see:
\newline
- msgs += (next_line[num_end + 1:],)
+ msgs.append(next_line[num_end + 1:])
\newline
next_line = getline()
\newline
\newline
if line[0] == '"': # This is the first character of all xlc errors
\newline
- next_quote = line.find('"', 1)
+ next_quote = string.find(line, '"', 1)
\newline
- first_space = line.find(' ')
+ first_space = string.find(line, ' ')
\newline
if (next_quote != -1) and (first_space > next_quote): # no space inisde
quotes
\newline
num_start = num_end = first_space + 6
\newline
- while line[num_end].isdigit(): num_end += 1
+ while line[num_end] in string.digits: num_end = num_end + 1
\newline
if num_end > num_start:
\newline
"""
__author__ = "Kayvan A. Sylvan <kayvan@sylvan.com>"
-__date__ = "$Date: 2002/03/19 21:42:48 $"
-__version__ = "$Revision: 1.1 $"
+__date__ = "$Date: 2002/03/25 23:29:30 $"
+__version__ = "$Revision: 1.2 $"
__credits__ = """Edmar Wienskoski Jr. <edmar-w-jr@technologist.com>
original Literate support for LyX.
Bernard Michael Hurley <berhardh@westherts.ac.uk>
modifications to original listerrors."""
__copyright__ = "Copyright 2002 - The LyX team."
-import sys
+import sys, string
def write_error(msg, tool = "noweb", line_number = 1):
"""Write out the given message in TeX error style.
global __lines
lines = __lines
if lines:
- line = lines[-1]
- lines = lines[:-1]
+ line = lines.pop()
else:
line = file.readline()
return line
"push a line onto the pushback stack."
global __lines
lines = __lines
- lines += (line,) # push a list onto the stack, not individual letters
+ lines.append(line)
def main():
"""Entry point for listerrors. Takes no options.
Returns 1 on success, 0 otherwise. Outputs on stdout."""
retval = 0
- if line.find(": unescaped << in documentation chunk") != -1:
- line_parts = line.split(':')
+ if string.find(line, ": unescaped << in documentation chunk") != -1:
+ line_parts = string.split(line, ':')
num_str = line_parts[1]
num_len = len(num_str)
i = 0
- while i < num_len and num_str[i].isdigit(): i += 1
+ while i < num_len and (num_str[i] in string.digits): i = i + 1
if i == num_len:
write_error(":" + line_parts[2], "noweb", int(num_str))
retval = 1
if (not retval):
- left = line.find("<<")
+ left = string.find(line, "<<")
if (left != -1) and ((left + 2) < len(line)) and \
- (line[left+2:].find(">>") != -1):
+ (string.find(line[left+2:], ">>") != -1):
write_error(line, "noweb");
retval = 1;
if (not retval):
"This can't happen:",
"non-numeric line number in")
for msg in msgs_to_try:
- if line.find(msg) != -1:
+ if string.find(line, msg) != -1:
write_error(line, "noweb")
retval = 1
break
Returns 1 on success, 0 otherwise. Outputs on stdout."""
retval = 0
- first_space = line.find(' ')
+ first_space = string.find(line, ' ')
if first_space > 1: # The smallest would be "X: "
if line[first_space - 1] == ':':
header_to_see = line[:first_space - 1]
next_line = getline()
if next_line and next_line[:first_space - 1] == header_to_see:
num_end = first_space
- while next_line[num_end].isdigit(): num_end += 1
+ while next_line[num_end] in string.digits: num_end = num_end + 1
if num_end > first_space: # good!
num_str = next_line[first_space:num_end]
- msgs = []
- msgs += (line[first_space:],)
- msgs += (next_line[num_end + 1:],)
+ msgs = [line[first_space:]]
+ msgs.append(next_line[num_end + 1:])
header_to_see = next_line[:num_end]
next_line = getline()
while next_line and next_line[:num_end] == header_to_see:
- msgs += (next_line[num_end + 1:],)
+ msgs.append(next_line[num_end + 1:])
next_line = getline()
if next_line: pushline(next_line)
write_error(msgs, "gcc", int(num_str))
Returns 1 on success, 0 otherwise. Outputs on stdout."""
retval = 0
if line[0] == '"': # This is the first character of all xlc errors
- next_quote = line.find('"', 1)
- first_space = line.find(' ')
+ next_quote = string.find(line, '"', 1)
+ first_space = string.find(line, ' ')
if (next_quote != -1) and (first_space > next_quote): # no space inisde quotes
if line[first_space - 1:first_space + 6] == ", line ":
num_start = num_end = first_space + 6
- while line[num_end].isdigit(): num_end += 1
+ while line[num_end] in string.digits: num_end = num_end + 1
if num_end > num_start:
write_error(line, "xlc", int(line[num_start : num_end]))
retval = 1