Anteru's blog
  • Consulting
  • Research
    • Assisted environment probe placement
    • Assisted texture assignment
    • Edge-Friend: Fast and Deterministic Catmull-Clark Subdivision Surfaces
    • Error Metrics for Smart Image Refinement
    • High-Quality Shadows for Streaming Terrain Rendering
    • Hybrid Sample-based Surface Rendering
    • Interactive rendering of Giga-Particle Fluid Simulations
    • Quantitative Analysis of Voxel Raytracing Acceleration Structures
    • Real-time Hybrid Hair Rendering
    • Real-Time Procedural Generation with GPU Work Graphs
    • Scalable rendering for very large meshes
    • Spatiotemporal Variance-Guided Filtering for Motion Blur
    • Subpixel Reconstruction Antialiasing
    • Tiled light trees
    • Towards Practical Meshlet Compression
  • About
  • Archive

LaTeX and packages

February 23, 2006
  • General
  • Projects
approximately 1 minutes to read

I’ve been working lately on two main projects: The new package management for niven and a LaTeX package.

LaTeX

Writing a package for LaTeX isn’t that complicated, the problem is the lack of good documentation - most books I found describe how to use LaTeX and don’t mention even commands like \ifx. I used the following two books:

  • LaTeX2e for class and package writers
  • TEX BY TOPIC, A TEXNICIAN’S REFERENCE

These two cover most of the subjects that are needed to write a simple package. The second one really just a reference, while the first book gives you examples how to add for example options to your package. Both are really worth reading - my LaTeX package offers now both support for technical books and “normal” books which are meant for print (for a pet project - from time to time, I’m writing on a book).

Packages

niven’s package system is currently in its 8th revision, this one is a fairly good looking one though :). When finished, it will be able to load and store any kind of object that the user defines into packages. Packages are the only way to serialize data in niven, and they provide a container for objects. They also provide means to distribute the content easily. The current system is different from the other ones as it stores object instance information in a wrapper object and not in the object itself - i.e. you access objects via ObjectHandle<Type> and not via Type*.

This sounds complicated first, but it turns out to be rather easy when you use it. Packages have an advantage over storing the content in plain files (let’s say, .jpg) as they store type information and dependencies, meaning it’s possible that one package is linked to another package. A good example is a map where several objects use the same texture, no need to store it several times. So much for now, as soon as I get the 8th revision ramped up and working I’ll get back to you.

Previous post
Next post

Recent posts

  • Data formats: Why CSV and JSON aren't the best
    Posted on 2024-12-29
  • Replacing cron with systemd-timers
    Posted on 2024-04-21
  • Open Source Maintenance
    Posted on 2024-04-02
  • Angular, Caddy, Gunicorn and Django
    Posted on 2023-10-21
  • Effective meetings
    Posted on 2022-09-12
  • Older posts

Find me on the web

  • GitHub
  • GPU database
  • Projects

Follow me

Anteru NIV_Anteru
Contents © 2005-2025
Anteru
Imprint/Impressum
Privacy policy/Datenschutz
Made with Liara
Last updated February 20, 2019