Proprietary software makes it somewhat difficult to separate content from presentation. The inertia of publishers who put out materials in fixed-page-size PDFs and other inflexible formats makes the situation worse. But it doesn't have to be this way.
We have Free Software tools for the whole workflow of publishing, and open standards for file formats. Here is a selection.
- Text editors (EMACS, vi, vim, nano, pico, gedit, kate, Yudit...ASCII, Unicode UTF-8)
- HTML and XML structure editors (Quanta+)
- Word processing (Open Office, ODF)
- Graphics (Inkscape, SVG drawings; GIMP, JPEG images (lossy compression) and PNG bitmap screen captures)
- Formatting (CSS, XSLT, TeX macros, templates)
- Page layout (Scribus, TeX, Docbook XML)
- Math (Tex, OpenOffice)
- Repositories (cvs, svn, git...)
- Databases (MySQL, PostGres...)
We can define content in text and image files, and presentation in CSS for HTML, macro files for TeX, and so on.
We need a workflow for bringing in documents in many formats and putting them into whatever other formats our teachers, students, and other users need. This means separating text, graphics, and presentation, and recombining them in various ways. (There are Free Software tools to do this.) It means selecting Free Software tools that can, for example, create freeform PDFs, not just documents with fixed page sizes (and especially not just portrait layout, which is particularly unsuited to computer display).
We also want to be able to generate documents on demand from information in databases.
Various organizations such as The Linux Documentation Project have significant workflows worked out and available for others to use.