DokuWiki

It's better when it's simple

User Tools

Site Tools


devel:ideas:dokutexit

DokuTeXit plugin

There is a LaTeX export plugin that hasn't been updated for some years. It would be nice to clean it up and make it fully work with the current DokuWiki version. Further steps could include adding support for BibTeX (or one of the existing BibTeX plugins) so DokuWiki could be used for scientific publishing, note taking etc. (and a LaTeX export is also nice for printing and creating all kinds of good-looking documents). Michael Hamann has created a repository at GitHub for DokuTeXit with some tiny improvements, feel free to use it as starting point if you want to.

The idea for this project was born after watching a screencast about researchr, so watching it might give you an idea of the background. There are some things shown there that can't be integrated into DokuWiki, but there are some parts like the citation management that can.

Details

Some ideas for features:

  • Support different kinds of headers (packages, new commands, etc) and footers for different kinds of documents that can be defined in the admin backend or using wiki pages
  • Define templates for scientific publications
  • A way to either directly enter LaTeX code that will be just used for the LaTeX document or also displayed in the normal page e.g. for math formulas, there are also existing DokuWiki plugins that use JavaScript for rendering LaTeX formulas, maybe one could add LaTeX export support to one of them
  • Export formats. Maybe something like a ZIP file with everything ready for running LaTeX in it or an option to run LaTeX on the server and directly download the PDF. Maybe a cloud service could be used/created for rendering LaTeX documents so no LaTeX installation on the server will be needed.
  • Error handling. There should be an easy way to see errors that occur while generating a PDF.
  • BibTeX support:
    • One page for each reference (or optionally more than one reference on a page?)
    • Citations are managed in some database or the DokuWiki metadata index
    • Syntax for displaying a link with a tooltip for a citation (in LaTeX export a LaTeX citation)
    • Syntax for displaying individual citation information or a list of resources matched by some criteria
    • A toolbar button for quickly inserting this syntax.
    • Export citations in BibTeX format, also bundled with the LaTeX document all citations used in it
    • Bookmarklet that allows to easily create pages for new citations

For the BibTeX support there are also existing plugins:

  • https://github.com/ip1981/dokuwiki-plugin-papers - reads (existing) BibTeX files and displays data from them or renders BiBTeX code in a page - look pretty simple and clean
  • publist Reads and searches in existing BibTeX files, a wrapper around bib2tpl
  • refnotes Adds advanced syntax for references inside wiki pages and also a reference database that is built from simple tables inside a certain namespace using a simple (serialized PHP) database. It does not support BibTeX yet, but it is planned.
  • BiBTeX plugin - reads BibTeX data that is stored in wiki pages, displays them either as list or displays one single reference from the data, uses a simple template page to display the data for a reference.
  • datatemplate - “Only” a plugin for templates for displaying data that is stored using the data plugin, but look at the Demonstration - that's mostly the idea here.

Requirements

  • You need to know PHP and experience with LaTeX would be good

Difficulty

Medium: The individual things might be easy but the complete system most probably requires some effort in order to make it both easy to use and maintain.

Similar services

Mentors

The following people volunteered to “mentor” any new developers taking up this task by answering questions, giving tips and reviewing code:

devel/ideas/dokutexit.txt · Last modified: 2012-03-09 00:22 by Michitux

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki