mailing-list for TeXmacs Users

Text archives Help


[TeXmacs] Mathematica plugin on OS X


Chronological Thread 
  • From: Peter Rapčan <address@hidden>
  • To: texmacs-users <address@hidden>
  • Subject: [TeXmacs] Mathematica plugin on OS X
  • Date: Wed, 29 Jun 2016 02:45:49 +0200

Anyone?

> On 28 Jun 2016, at 04:14, Peter Rapčan <address@hidden> wrote:
>
> Hello everybody,
>
>
> I tried to get the Mathematica plugin to work on OS X 10.11.5, TeXmacs
> 1.99.4, with Mathematica 10.0.0.0.
>
>
> First of all, I copied the tm_mathematica.c from Tian-Min Yan to the
> /Applications/TeXmacs.app/Contents/Resources/share/TeXmacs/plugins/mathematica/src.lazy/
> directory.
>
> Then I performed two changes to the file:
> - replaced all occurences of MLDisownString by MLReleaseString
> - replaced all occurences ofMLDisownSymbol by MLReleaseSymbol
> (According to the Wolfram documentation, as of Mathematica 6.0 the former
> functions have been superseded by the latter functions. I am not sure from
> which version of Mathematica on, the old functions cannot be used; in any
> case I could not compile the tm_mathematica.c with the libMLi3.a choice
> without these changes in the case of Mathematica 10.0.0.0). I suppose
> these changes need to be done also if one wanted to use the stock
> tm_mathematica.c provided in a TeXmacs installation.
>
> The adapted tm_mathematica.c file is attached.
>
>
> Next, I used the script provided by Singh Madhusudan and made some changes
> to make it work. The changes I had to make are the following:
> - change the Mathlink_Path variable (Mathematica version 9 or greater
> contains the architecture specification [in my case MacOSX-x86-64] in the
> path to the directory where Mathlink resides).
> - change the /usr/lib/ to /usr/local/lib/ since from OS X 10.11 on, the
> System Integrity Protection is enabled, forbidding to write to the
> /usr/lib/ directory irrespective of administrator rights.
> - change the compiler commant to use g++ instead of gcc and use the oprion
> -l$lib_option -stdlib=libstdc++ instead of the -l$lib_option -lstdc++
>
> With these changes, running the script compiled the tm_mathematica.c just
> fine, with a single warning “tm_mathematica.c:544:46: warning: format
> specifies type 'int' but the argument has type 'size_t' (aka 'unsigned
> long')
> [-Wformat]
> printf("\2prompt#\\red In[%1d]:= {}\5\5",InNum++);”
>
> I attach the working script as “tmMMAscript".
>
>
> Next, as TeXmacs did not recognize Mathematica as available in the list of
> supported sessions, I created a wrapper “math” command that runs the
> MathKernel and placed in into /usr/local/bin/. The wrapper is attached.
> (note that creating a symlink to MathKernel does not work). After doing
> this, TeXmacs offers the Mathematica session in its list of supported
> sessions.
>
>
> Upon including a Mathematica session, I was prompted whether I allow
> tm_mathematica.bin to accept incoming connections, from which I deduce the
> MathLink is working… well… almost. Unfortunatelly, the session does not
> return results of computations; instead it shows a “busy…” message (see the
> attached screenshot).
> <Screen Shot 2016-06-28 at 03.43.48.png>
>

PNG image


> I looked at the tm_mathematica file provided by TeXmacs, and tried to tweak
> it (I think the paths are based on some old mathematica version, so I
> changed the relevant command to
>
> export MATHLINK_PATH="$MATH3/CompilerAdditions"
>
> or
>
> export MATHLINK_PATH="$MATH3/CompilerAdditions/AlternativeLibraries"
> (According to the readme file provided in the AlternativeLibraries
> directory: “This AlternativeLibraries directory contains a versions of the
> MathLink
> libraries compiled with -stdlib=libc++ compiler flags. These libraries
> exist to link programs that need compatibility with Apple's newer libc++
> C++ library.”
> Since I compiled with the -stdlib=libstdc++ option the second choice should
> be the correct one).
>
> In any case, none of the changes I tried to make to the tm_mathematica file
> helped to make the plugin work, hence I am stuck with the busy message. Any
> help to resolve the issue would be greatly appreciated.
>
>
> Cheers,
> -Peter.
> <tmMMAscript><tm_mathematica.c><math>
>

Attachment: tmMMAscript
Description: Binary data

Attachment: tm_mathematica.c
Description: Binary data

Attachment: math
Description: Binary data

>
>
>> On 31 Oct 2012, at 11:35, Tian-Min Yan <address@hidden> wrote:
>>
>> Hi all,
>>
>> Now I know how to output PS/EPS graphics. According to the manual
>> section "Interfering TeXmacs with other programs", I simply put
>>
>> fputs("\2ps:", stdout);
>> fflush(stdout);
>> system("cat ~/tmp.eps");
>> fputs("\5{}{}\n\n", stdout);
>>
>> into the code (see the attachment), now the EPS figure shows up. Can we
>> adjust the size and the position of the figure within TeXmacs?
>>
>> Besides, I am wondering if we can display a PNG file, since those
>> rasterized formats have significantly smaller size and the program runs
>> faster. We should be able to choose between different formats to meet
>> different purposes.
>>
>> One more question, can anybody who is familiar with Mathematica figure
>> out why "Export["./tmp.eps", expr]" sometimes outputs figures in the
>> wrong position, as is shown in the attachment where the main part is not
>> at the center? In contrast, PNG file does not have this problem.
>>
>> Best,
>> Tian-Min
>>
>> On Tue, 2012-10-30 at 19:01 +0100, address@hidden
>> wrote:
>>> Hi Tian-Min,
>>>
>>> The plugin worked perfectly for graphics in old times when Mathematica
>>> produced pure postscript graphics (this was in versions <=5).
>>> If you are happy with the old-style Mathematica graphics, in your
>>> mathematica session simply evaluate : Get["Version5`Graphics`"]
>>> and then the plugin will recognize the ps graphics and show them in
>>> TeXmacs (but only for old -or unchanged- graphics functions, old options
>>> etc.)
>>>
>>> It would be nice to benefit from the new mathematica graphics, but that
>>> would require someone to volunteer for improving the plugin in that area.
>>>
>>> Best,
>>> Philippe
>>>
>>>
>>> Tian-Min Yan - address@hidden wrote:
>>>> Hi all,
>>>>
>>>> I am using Mathematica 8. The Mathematica plugin in TeXmacs works
>>>> perfectly with a single expression if it does not contain graphical
>>>> elements. But if we use functions involving plots, the output is
>>>> problematic. Has anybody figured out the implementation of embedded
>>>> figures with the Mathematica plugin?
>>>>
>>>> Best,
>>>> Tian-Min
>>>>
>>>>
>>>>
>>>>
>>>
>>
>>
>> <texmacs_wrong_position.png><tm_mathematica.c>
>
> _______________________________________________
> Texmacs-dev mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/texmacs-dev




Archive powered by MHonArc 2.6.19.

Top of page