Code Monkey home page Code Monkey logo

octave's Introduction

GNU TeXmacs

Join the chat at https://gitter.im/texmacs/Lobby

GNU TeXmacs is a free wysiwyw (what you see is what you want) editing platform with special features for scientists. The software aims to provide a unified and user friendly framework for editing structured documents with different types of content (text, graphics, mathematics, interactive content, etc.). The rendering engine uses high-quality typesetting algorithms so as to produce professionally looking documents, which can either be printed out or presented from a laptop.

The software includes a text editor with support for mathematical formulas, a small technical picture editor and a tool for making presentations from a laptop. Moreover, TeXmacs can be used as an interface for many external systems for computer algebra, numerical analysis, statistics, etc. New presentation styles can be written by the user and new features can be added to the editor using the Scheme extension language. A native spreadsheet and tools for collaborative authoring are planned for later.

TeXmacs runs on all major Unix platforms and Windows. Documents can be saved in TeXmacs, Xml or Scheme format and printed as Postscript or Pdf files. Converters exist for TeX/LaTeX and Html/Mathml.

Documentation

GNU TeXmacs is self-documented. You may browse the manual in the Help menu or browse the online one.

For developer, see this to compile the project.

Contributing

Please report any new bugs and suggestions to us. It is also possible to subscribe to the [email protected] mailing list in order to get or give help from or to other TeXmacs users.

You may contribute patches for TeXmacs using the patch manager on Savannah or using the pull request on Github. Since we are using SVN on Savannah, PRs won't be directly accepted on Github. We will git apply the patch into SVN repo if the PR is accepted. And we will close the PR and change the title to [SVN] xxx after applying the PR.

octave's People

Contributors

da-liii avatar fpoulain avatar mdbenito avatar mgubi avatar slowphil avatar vdhoeven avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

walwan woutersj

octave's Issues

Plots are not always shown

Plotting in a session doesn't always work.
If I put these lines in a session

octave>  x = [-pi:0.1:pi];
octave>  hold on;
octave>  plot(x,sin(x));
octave>  plot(x,cos(x))

and repeatedly execute the last two commands, after two times the plot doesn't show up anymore. It seems the method to set TM_OCTAVE_PLOT_DIGEST is not robust.
It seems like if we simply do

    if disp_ans
      tmplot (); ## call TeXmacs plotting interface
      clf()
    endif

in tmrepl.m that plots show as expected, since tmplot() already checks whether the plot is empty or not.

Octave session error due to "octave-cli" not recognizing "qt" as a plot toolkit on Linux

Problem description

In an octave sesion, when executing a (any) command, throw an error:

error: feval: /usr/lib/octave/5.2.0/oct/x86_64-pc-linux-gnu/init_fltk.oct: failed to load: libfltk_gl.so.1.3: cannot open shared object file: No such file or directory
error: called from
graphics_toolkit at line 91 column 5
figure at line 91 column 7
gcf at line 63 column 9
tmrepl at line 41 column 21
~/.TeXmacs/plugins/octave/octave/tmstart.m at line 47 column 1
warning: gh_manager::do_close_all_figures: some graphics elements failed to close.

Problem reproduction

  • Without fltk or gnuplot installed on the system. By default, octave will use qt as the plot engine.
  • Open TeXmaxs, open an octave session, execuate any command

Problem attribution

From /octave/progs/init-octave.scm, it seems that the command to open a new octave instance is "octave-cli". I tried to execute "available_graphics_toolkits", the result is

ans =
{
[1,1] = fltk
}.

Also, the result of command "graphics_toolkit" in octave is

ans = fltk.

After I searched for any similar issue, I found this. Perhaps it's because octave-cli does not recognize "qt" as a plot toolkit.

Possible solution

  • Use "octave --no-gui" as the command to create a new octave instance.
  • Install fltk or gnuplot package

An unexpected flash when the session is started

Problem Description

From #4, there will be a flash of the octave gui when a session is started because the plugin now starts 'octave' rather than 'octave-cli' for the issue of plotting through qt.

Environments Reproduced

  • Linux: Manjaro KDE

Further revisions and discussions need.

Support command `format`

pi
format long
pi
format long e
pi
pi * 1000

Possible solution: use fdisp and then load the string from the temporary file.

Multi-line sessions and in-line graphics running Octave 6.1/6.2

On OSX 10.13.6 and OSX 10.15.7 plotting sessions with MacPorts octave_6.2.0_0 using the 1.99.19 octave-plugins (i.e. the one that comes with TeXmacs 1.99.19 as well as the latest upgrade as of 2021.03.13 from GitHub) seem to be somewhat flawed.

  • Multi-line sessions do not produce in-line graphics.

  • Plotting output, however, can be written to disk.

I do understand that the maintainers recommend usingoctave_5.x. Interestingly enough though, the older 1.99.18 octave-plugin in this respect works better, both, with TeXmacs 1.99.19 and octave_6.1.0_0/octave_6.2.0_0: Multi-line octave session run and produce in-line graphics.

Will this issue be addressed one of these days?

Cheers Tilda

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.