Creating a JuliaTeX group on github

question

#1

I am currently writing a module to handle all matters related to bibtex language (bibliography language for LaTeX), such as parsing and conversion to others format (DataBase, other bibliography format, XML, JSON, etc…).

Since they are a couple of available packages related to LaTeX, I think it would be nice to have a JuliaTeX group.
What is the usual procedure in the community to create such a group? Just making it on Github and ask the other packages owners to join?


#2

See also https://github.com/bramtayl/BibTeX.jl and https://github.com/lucianolorenti/BibTeXFormat.jl


#3

Thanks for the links. Those are not submitted yet, so I missed them.

Some parts of my package are complementary and some others are duplicates of course. We should probably merge. Then a JuliaTeX group is even more relevant I think.
Unfortunately, my package is not pushed on my github yet and I won’t have access to it before a couple of days.

The current list of implemented features:

  • A Julia internal format for bib entries (this is probably close to what is in BibTeX.jl but I need some time to check)
    • Including sets of rules for each types of entries to check if required/forbidden fields are given
    • Convertor from this internal format to “user-friendly” bibtex format (lexicographically ordered fields, column aligned equal signs, ordered citations by keys|year|authors, everything to lower case if relevant, …)
  • A bibtex file/entry parser using Automa.jl and the grammar from this bibtex summary
    • I don’t know which one of it and BibTeX.jl is faster to parse. At first glance I would say my version is more compact and can be extended (to include the above-mentioned rules checking for instance) easily, but it depends on another package.

In the end I need to take more time to check those two packages, and also to upload mine (no documentation yet … I was planning to wait a bit more haha).

So what about the JuliaTeX group ?


#4

Also relevant is PGFPlotsX.

Yes, pretty much. It might be worth it to discuss with those package authors first to see if there actually is a demand.


#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.

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 :slight_smile: (I tried to make my packages structure with modularity to ease the process)