# Creating a JuliaTeX group on github

#5

This sounds like a good idea for a group.

Another feature I would like to see someday is a LaTeX package that allows the execution of julia code from within a TeX document, kind of like the SageTeX package, perhaps the JuliaTeX group could organize somethingl like that.

#6

I think it should be a citations group. No need to limit ourselves just to BibTeX

#7

Sorry I am new to Julia and in some sense scientific computing in general. Can someone explain to me the purpose of this? Is it a Julia-based parser for bibtex entries? Why would that be useful in the context of Jabref?

I have a long term goal of working on nicely formatted Latex output for Julia, which I think is an important step in getting people to switch over from Stata. So I have some interest in JuliaTeX group.

#8

No need to do to the general before doing the specific.

#9

This problem has actually already been solved in some packages, like my Reduce.jl package, which can turn Julia code into LaTeX code and also display it as LaTeX in IJulia:

julia> using Reduce
julia> :(sin(x*im) + cos(y*φ)) |> latex |> print
\documentstyle{article}
\begin{document}

\begin{displaymath}
\cos \left(\left(\left(\sqrt {5}+1\right) y\right)/2\right)+\sinh \,x\: i
\end{displaymath}

\end{document}


also SymPy.jl can also convert to latex.

of course, making a plain Julia package that does this without any external programs would be nice too.

#10

I am very new to Julia, so I dont fully know the ecosystem. A bit of background, I am pre-PHD econ and work mostly in Stata. As much as I hate to say it, Stata does a lot of things well, and one of them is that every single function is compatible with variable labels, and there is a package that allows more flexibility with making latex tables. I think a good way to motivate myself to learn more Julia is to try and write something that will make highly custom latex tables and maybe figure out a way to use variable labels to make publication quality output easily.

Plus Julia already has a following in economics because of the Fed’s DSGE models, and the matrix syntax is way more intuitive than Python.

#11

It should be very possible and feasible to do something like this using the Julia language (since Julia has excellent built-in functions for String manipulation, etc) and it would be a good exercise to get started with creating Julia packages. So I’d like to encourage you to go ahead.

Is this going to be a general package for generating LaTeX code from Julia objects, or is it specific to Tables?

#12

Probably just tables. I’m most interested in regression output, and I think TikZ is too much work to deal with.

#13

Sorry for being silent for a while. From this conversation, I am even more convince that a JuliaTeX group would be useful to visibility and organization.

I will ask the owner of the current packages I know of related to the LaTeX environment. The list below might not be exhaustive, so please feel free to add others.

• Registered Packages
• Unregistered Packages

If enough of the authors agree, we can create the JuliaTeX group in a couple of days.

#14

Why do you say PGFPlotsX.jl is unregistered?

Package succesfully registered but not present in https://pkg.julialang.org/
#15

I couldn’t find it in the list of registered packages. That seems to be dated from the 2017-10-01 (maybe that’s the reason).
But indeed, after testing I can install it with the Pkg.add() command, my bad. I’m editing my post asap.

#16

Ah, that’s interesting. It has been registered for quite a while so it is strange it doesn’t show up in that list.

Outdated list of registered packages
#17

I don’t think the list has been updated in a while, my packages were updated to 0.6 but on the list they are only tested for 0.5 for example.

#18

Hmmm, so 2017-10-01 would be January 10th instead of 1st October?

We should probably ask for an update then. At least a monthly update would be nice …

#19

Not sure what’s going on, it says mine was updated a day ago, but it’s only for 0.5, don’t see any 0.6

#20

I suppose I will open a new post to signal this weird situation with the list of registered packages.

@stevengj, @bramtayl, I just published on GitHub a set of 3 packages to handle bibliography. Outside of BibTeX, it is currently just a backbone structure for a general bibliography group of packages. I detail this in [Citations in docs], but basically, there is a package for an internal bibliography type, a set of packages (currently only bibtex) to parse bibliography languages, and one package to wrap all of that and manage import and export of citations.
Now, I would be happy if I can merge those with the bibtex related packages mentioned above (I tried to make my packages structure with modularity to ease the process)

#21

I don’t know why you wouldn’t just make a PR?

#22

Another interesting possibility would be a Julia plugin for TeXmacs
http://www.texmacs.org.
For example, TeXmacs already has plugins for R, Python, Maxima, Reduce, Fricas, Sage. Also, TeXmacs exports immediately to LaTeX.

#23

Simply because I finished my BibTeX parser before knowing that your parser existed (I would have used yours if I knew …). As the structures of both are different (and some functionalities) it won’t be straightforward to merge them.
Also, I think taking into account functionalities, speed of (pre)compilation and execution and easiness to maintain is important.

I will prepare a test case for speed evaluation at some point next week and let you know the results. Is that OK?

#24

I’m actually glad someone is taking this on. I started out looking at it just for fun, but realized quickly that I’m not too invested in bibliography management. Hence why it remains unpublished. As far as the part I wrote, BibTeX.jl is rather slow and not fully featured. However, I think it would be not to reuse code that’s already written. The parts that stevengj wrote I think are very useful, and not just for BibTeX, but LaTex more generally.