Commit Graph

75 Commits

Author SHA1 Message Date
Bo Peng
6d23395dc7 Improve Computer Algebra System, from Enrico Forestieri <forenr@tlc.unipr.it>
* src/mathed/math_symbolinset.C
	(void MathSymbolInset::maxima):
	       - newer maxima versions use inf instead of INF
	       - add support for greek pi

	(void MathSymbolInset::mathematica):
	       - add support for \cdot

	* src/mathed/math_stringinset.h
	       - account for the const version of asStringInset()

	* src/mathed/math_extern.C
	(bool extractScript):
	       - added bool superscript to formal parameters in order
	         to only extract superscripts

	(MathArray::iterator extractArgument):
	       - leave out delimiters and a possible superscript
	         for function arguments

	(bool isKnownFunction):
	(bool extractFunctionName):
	       - recognize standard and user defined function names

	(void splitScripts):
	       - correctly split scripts as expected by other functions

	(MathAtom replaceDelims):
	       - ranamed as replaceParenDelims

	(bool testOpenBracket):
	(bool testCloseBracket):
	       - test for "[" and "]", respectively

	(MathAtom replaceBracketDelims):
	       - replace something delimited by "[" and "]" with a
	         proper DelimInset

	(void extractDelims):
	       - create a DelimInset for "[" and "]" delimiters, too

	(void extractFunctions):
	       - improved recognition of function names

	(bool testTermDelimiter):
	       - test for '+' or '-' as term delimiters

	(MathArray::iterator extractTerm):
	       - extract a "term", i.e., something delimited by '+' or '-'

	(bool testDiffItem):
	       - improved recognition of a "differential fraction"

	(void extractDiff):
	       - call splitScripts() on numerator and denominator of a
	         differential fraction before analyzing them

	(void extractLims):
	       - improved recognition of a limit function

	(void extractStructure):
	       - reorganized order of searches

	(MathArray pipeThroughMaxima):
	       - newer versions of maxima use simpsum instead of SIMPSUM

	(string fromMathematicaName):
	       - translates from mathematica names

	(MathArray pipeThroughMathematica):
	       - calls mathematica and collects its output

	(MathArray pipeThroughExtern):
	       - add support for mathematica

	* src/mathed/math_numberinset.C
	* src/mathed/math_numberinset.h
	(void MathNumberInset::mathematica):
	       - add support for mathematica

	* src/mathed/math_matrixinset.C
	* src/mathed/math_matrixinset.h
	(void MathMatrixInset::mathematica):
	       - add support for mathematica

	* src/mathed/math_diffinset.C
	* src/mathed/math_diffinset.h
	(void MathDiffInset::maxima):
	       - add support for maxima

	(void MathDiffInset::mathematica):
	       - mathematica uses "D" and not "Dt" for normal derivatives

	* src/mathed/math_liminset.C
	* src/mathed/math_liminset.h
	(void MathLimInset::maxima):
	       - add support for maxima

	(void MathLimInset::mathematica):
	       - mathematica uses "Limit" and not "Lim" for limits

	* src/mathed/math_exfuncinset.C
	(string asMathematicaName):
	       - added some more function names


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14865 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-02 01:57:36 +00:00
Lars Gullik Bjønnes
c46b7d8955 Merge the unicode branch into trunk.
- src/support/unicode.[Ch]: new files with functions for converting
  to and fro ucs4, ucs2 and utf8.
- src/support/docstring.h: specialization of basic_string that
  holds a uint32_t internally.
- Several functions changed to use char_type instead of char or unsigned char.
- Qt3 and Qt4 sends ucs2 on to core
- Gtk sends ucs4 on to core
- Read and write utf-8 .lyx files.
- font_metrics and painter updated to handle ucs4 chars as input.
- Quite a bit of ugly compability code, conversion string->docstring, etc.
- Have fun...


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14661 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-13 22:54:59 +00:00
Abdelrazak Younes
6dd6b5b22a initialize member variables: width_, scriptable_
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14401 a592a061-630c-0410-9148-cb99ea01b6c8
2006-07-09 16:35:20 +00:00
André Pönitz
6b14cbd9c4 cosmetics, incidently fixing bug 1458
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10270 a592a061-630c-0410-9148-cb99ea01b6c8
2005-07-17 10:31:44 +00:00
Georg Baum
75a5ef3c61 fix bug 1665
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10011 a592a061-630c-0410-9148-cb99ea01b6c8
2005-06-07 17:21:51 +00:00
Jean-Marc Lasgouttes
add9ff6168 use the wasysym package when needed
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9498 a592a061-630c-0410-9148-cb99ea01b6c8
2005-01-19 11:46:50 +00:00
Lars Gullik Bjønnes
59413be9a0 clone NVI, other small stuff
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9295 a592a061-630c-0410-9148-cb99ea01b6c8
2004-11-23 23:04:52 +00:00
André Pönitz
04296d3738 fix a few of the recent width cache related problems
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8388 a592a061-630c-0410-9148-cb99ea01b6c8
2004-02-03 11:21:08 +00:00
André Pönitz
fa494db882 simplified search in mathed
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8325 a592a061-630c-0410-9148-cb99ea01b6c8
2004-01-07 18:28:50 +00:00
Jean-Marc Lasgouttes
de9240227b make LyX/Mac compile and work better
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8321 a592a061-630c-0410-9148-cb99ea01b6c8
2004-01-07 16:40:30 +00:00
Lars Gullik Bjønnes
44cd0fc9a1 The std::string mammoth path.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7862 a592a061-630c-0410-9148-cb99ea01b6c8
2003-10-06 15:43:21 +00:00
André Pönitz
6e3be87101 fix #1145
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7854 a592a061-630c-0410-9148-cb99ea01b6c8
2003-10-02 15:46:33 +00:00
Jean-Marc Lasgouttes
3c4e5c1c40 LyX/Mac metrics fix
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7817 a592a061-630c-0410-9148-cb99ea01b6c8
2003-09-24 10:26:02 +00:00
Angus Leeming
1f9e9cf517 Standardise the header blurb in mathed.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7574 a592a061-630c-0410-9148-cb99ea01b6c8
2003-08-19 13:00:56 +00:00
Lars Gullik Bjønnes
4ba8a4d6f6 the clone auto_ptr patch
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7356 a592a061-630c-0410-9148-cb99ea01b6c8
2003-07-25 17:11:25 +00:00
Lars Gullik Bjønnes
1a8665988f the doxygen patch
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7219 a592a061-630c-0410-9148-cb99ea01b6c8
2003-06-28 01:23:11 +00:00
André Pönitz
2a5ab60ce8 IU of clone() and getLabelList()
Some mathed internal renamings to prepare further IU


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7173 a592a061-630c-0410-9148-cb99ea01b6c8
2003-06-16 11:49:38 +00:00
André Pönitz
285952e130 IU of drawing phase one without 'semantic changes' as requested by John
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7079 a592a061-630c-0410-9148-cb99ea01b6c8
2003-06-02 10:03:27 +00:00
André Pönitz
38fce2feac Prepare mathed for unified two-stage drawing
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7059 a592a061-630c-0410-9148-cb99ea01b6c8
2003-05-28 13:22:36 +00:00
André Pönitz
a8e8e755fc rename the members of Dimension
* dimension.[Ch]: a -> asc, d -> des, w -> wid


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7053 a592a061-630c-0410-9148-cb99ea01b6c8
2003-05-27 13:55:03 +00:00
André Pönitz
1829cdef6a promote MathMetricsInfo to MetricsInfo, change mathed accordingly
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@6555 a592a061-630c-0410-9148-cb99ea01b6c8
2003-03-21 14:20:48 +00:00
André Pönitz
c9e78a825b make naming a bit saner...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@6150 a592a061-630c-0410-9148-cb99ea01b6c8
2003-02-14 14:30:09 +00:00
Lars Gullik Bjønnes
99d1627a47 dont use pragma impementation and interface anymore
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@6138 a592a061-630c-0410-9148-cb99ea01b6c8
2003-02-13 16:53:15 +00:00
André Pönitz
579857ebc5 Separate 'cursor inside' and 'cursor behind' cases for statusline display.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@5909 a592a061-630c-0410-9148-cb99ea01b6c8
2003-01-07 11:24:43 +00:00
Lars Gullik Bjønnes
53274e31ec the string -> char patch
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@5725 a592a061-630c-0410-9148-cb99ea01b6c8
2002-11-27 10:30:28 +00:00
Dekel Tsur
ac7c86da74 Maxima
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@5535 a592a061-630c-0410-9148-cb99ea01b6c8
2002-10-28 17:15:19 +00:00
Dekel Tsur
05b8faa706 Few improvements.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@5527 a592a061-630c-0410-9148-cb99ea01b6c8
2002-10-28 10:39:12 +00:00
Dekel Tsur
b04538960e Handle \not using a macro
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@5458 a592a061-630c-0410-9148-cb99ea01b6c8
2002-10-21 13:38:02 +00:00
Dekel Tsur
dde4440425 Better alignment of \longrightarrow like macros.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@5432 a592a061-630c-0410-9148-cb99ea01b6c8
2002-10-17 13:15:25 +00:00
André Pönitz
a37064c0ac add #pragme interface/implementation
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@5263 a592a061-630c-0410-9148-cb99ea01b6c8
2002-09-11 09:14:57 +00:00
André Pönitz
528a1a42d4 try to suppress unneeded spaces when writing
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@5069 a592a061-630c-0410-9148-cb99ea01b6c8
2002-08-22 10:04:11 +00:00
André Pönitz
01080c9eda more cosmetics
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4919 a592a061-630c-0410-9148-cb99ea01b6c8
2002-08-09 10:22:35 +00:00
André Pönitz
73b1ac43f4 a bit more const correctness
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4905 a592a061-630c-0410-9148-cb99ea01b6c8
2002-08-08 16:08:11 +00:00
André Pönitz
9b2be91bed replace (ascent, descent, width) triples by a structure 'dimension'
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4601 a592a061-630c-0410-9148-cb99ea01b6c8
2002-07-11 11:27:24 +00:00
André Pönitz
a03efe6936 cosmeics
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4586 a592a061-630c-0410-9148-cb99ea01b6c8
2002-07-10 10:46:37 +00:00
André Pönitz
63f7e8ce2e baseline correction for wasy symbols
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4576 a592a061-630c-0410-9148-cb99ea01b6c8
2002-07-10 06:12:00 +00:00
André Pönitz
b87536ec46 cosmetics
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4549 a592a061-630c-0410-9148-cb99ea01b6c8
2002-07-08 13:03:37 +00:00
André Pönitz
cd19a0b33b Geof Piroux's patch for Mathematica support
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4506 a592a061-630c-0410-9148-cb99ea01b6c8
2002-07-01 11:17:14 +00:00
André Pönitz
c649284611 several smallish changes/bugfixes/left overs from Porto
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4474 a592a061-630c-0410-9148-cb99ea01b6c8
2002-06-25 13:19:50 +00:00
Lars Gullik Bjønnes
f1c24d1009 *duck*
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4417 a592a061-630c-0410-9148-cb99ea01b6c8
2002-06-18 15:44:30 +00:00
André Pönitz
fe87869cb7 fonts as insets
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4289 a592a061-630c-0410-9148-cb99ea01b6c8
2002-05-30 07:09:54 +00:00
Lars Gullik Bjønnes
2b8ef58dc0 ws cleanup
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@3804 a592a061-630c-0410-9148-cb99ea01b6c8
2002-03-21 17:42:56 +00:00
André Pönitz
277e305082 Make Angus' compiler happy
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@3794 a592a061-630c-0410-9148-cb99ea01b6c8
2002-03-21 06:57:13 +00:00
André Pönitz
858355fb69 - reduce sizeof(MathCharInset) by 20 by better font caching
(lots of subsequent changes)
- ascii art drawing for \frac and \sqrt


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@3780 a592a061-630c-0410-9148-cb99ea01b6c8
2002-03-19 16:55:58 +00:00
Lars Gullik Bjønnes
7ea7dabed1 to much stuff for my liking...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@3554 a592a061-630c-0410-9148-cb99ea01b6c8
2002-02-16 15:59:55 +00:00
André Pönitz
c7c443e5e2 Martin's validate() patch (\pm\varepsilon\smile)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@3417 a592a061-630c-0410-9148-cb99ea01b6c8
2002-01-18 14:27:54 +00:00
André Pönitz
c446acbd86 infrastructure for requiring "amssymb".
Could anybody please fill in the apropriate tests?


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@3402 a592a061-630c-0410-9148-cb99ea01b6c8
2002-01-17 08:07:06 +00:00
André Pönitz
a86ed9bea2 prepare writing info messages to the minibuffer
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@3390 a592a061-630c-0410-9148-cb99ea01b6c8
2002-01-16 14:24:38 +00:00
Lars Gullik Bjønnes
33a28bdc9c Add string << operators for the other streams as well, and removes
c_str() all places where it is not needed anymore.
(I also add config.h to several files that was missing it)
+ added s string constructor to math_symbolinset

I also change some "while(" to "while ("

mmm ... yes ... I add a "zero()" function to LyXLength... an "empty()"
function did not seem appropriate. changed a couple of places that
checked on length.value() != 0.0.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@3149 a592a061-630c-0410-9148-cb99ea01b6c8
2001-12-05 08:04:20 +00:00
André Pönitz
015b7a2f58 search & replace for symbols & function
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@3039 a592a061-630c-0410-9148-cb99ea01b6c8
2001-11-16 12:00:27 +00:00