Print Editions
LEMDO publishes print editions of some of its modern texts. This section of the documentation
is intended to cover how those print editions are generated, and is aimed primarily
at programmers, since itʼs unlikely that anyone other than programmers will venture
into this part of the codebase.
¶ Requirements for Building Print Editions
The print editions are generated using LaTeX, and specifically the Xelatex compiler,
so anyone wanting to generate a print edition will need to have not only Ant and ant-contrib
but also the (substantial) LaTeX codebase installed. On Linux, we recommend installing
the texlive-full package, which should include everything you need. On Mac, you can use the mactex distro. You can also install texlive on Windows, but we do not expect most of our
build processes to work on Windows for a variety of reasons. *NIX-based OSes are a
much better bet. The distributions are large, so donʼt install this stuff just for
fun; only do it if you have a need to build PDFs for print.
The PDF build file includes a quick check for the availability of the Xelatex compiler,
so starting from the repository root, you can do this:
If this works, youʼre probably OK, although itʼs always possible that a particular
package required by the build process is not installed. If thatʼs the case, when you
try to run a build, you should see helpful error messages from LaTeX.
Change directories into the PDF build directory:
cd code/pdf
Run the check task:
ant checkForXelatex
All other requirements (specifically, the fonts used to build the PDF) should be in
the repository.
¶ Codebase for Building Print Editions
As you might expect, the codebase for building a print edition lives in code/pdf. It is basically very simple:
build.xml, the Ant build file.
Several XSLT files, in the
xsl
folder, of which the root file is latex_master.xsl. These files are inadequately organized at the time of writing, because they have
developed as part of a learning process; when there is time, they will be reorganized.
The content should be well-commented, though.A fonts folder, in which there are two open-source fonts, Vollkorn and Josefin-Sans. These
are configured respectively as the main font and the sans font for the PDF build.
A README file and a TODO file, which are essentially ad-hoc notes.
¶ How to Build a Print Edition
Once you have ensured that your system is set up with all the requirements, and you have set up your TEI print edition document, youʼre ready to try a build.
Starting from the LEMDO repository root, this is what you do:
(You can supply multiple IDs, comma-separated, if you want to.)
Change directories into the PDF build directory:
cd code/pdf
Run the build process, supplying the id of the document you want to build:
ant -DdocsToBuild=emdOth_Print
The build process will create a folder called pdf inside the main folder of the text you are building. In there, a number of files will be saved, including
a log file, the .tex file containing the LaTeX code which is generated and then compiled, and the PDF
file of the print edition. If anything goes wrong, you should see either helpful messages
from our code or mysterious messages from the LaTeX compiler.
During the build process you will see many very puzzling emanations such as the common
Underfull \hbox (badness 1033)message from the compiler. These are mostly informational, warning you when the layout engine has had to stretch or squash a line a little more than it would like to in order to get the justification to work. However, if the build actually fails, you will need to pay attention to whatever message coincides with the termination of the build.
You will notice that the Xelatex compiler is run at least four times on the .tex file. This is because at each run, the layout engine is able to do a slightly better
job of adjusting spacing, pagination and so on, but every time it does this, page
references and similar content which were generated at the time of the previous build
are potentially no longer accurate, so another run is recommended. The number of runs
required to get a final version is not easy to determine, so we run four times by
default, but this may need to be adjusted.
¶ Print Edition XML Files
A LEMDO print edition is established by creating a standard LEMDO TEI file, but with
a filename ending in _Print.xml. This should be created in the main folder of the work itself. So for example, if youʼre creating a print edition of
Othello, you would create this file: data/texts/Oth/main/emdOth_Print.xml
This file is like any other TEI text in the project; it has metadata, responsibility
statements and so on. But it will mostly consist of content from other parts of the
work folder. Primarily, it will include a modern-spelling edition of the play, but
it will also have other components such as critical materials and a bibliography.
The following is a simplified example which will be explained below, and should cover
all the main components.
<TEI version="5.0" xml:id="emdOthX_Print">
<teiHeader> [Normal metadata should appear here...] <textClass>
<catRef scheme="tax:emdDocumentTypes" target="cat:ldtBornDigPrint"/>
</textClass> [More metadata...] </teiHeader>
<text>
<text>
<front>
<linkGrp type="printInclude">
<ptr target="doc:emdOth_TextIntro"/>
</linkGrp>
</front>
<body>
<div>
<linkGrp type="printInclude">
<ptr target="doc:emdOth_M#emdOth_M_castList"/>
<ptr target="doc:emdOth_M"/>
</linkGrp>
</div>
</body>
<back>
<div>
<divGen type="bibliography"/>
<linkGrp type="printInclude">
<ptr target="doc:emdOth_M_annotation"/>
</linkGrp>
</div>
</back>
</text>
</text>
</TEI>
<teiHeader> [Normal metadata should appear here...] <textClass>
<catRef scheme="tax:emdDocumentTypes" target="cat:ldtBornDigPrint"/>
</textClass> [More metadata...] </teiHeader>
<text>
<text>
<front>
<linkGrp type="printInclude">
<ptr target="doc:emdOth_TextIntro"/>
</linkGrp>
</front>
<body>
<div>
<linkGrp type="printInclude">
<ptr target="doc:emdOth_M#emdOth_M_castList"/>
<ptr target="doc:emdOth_M"/>
</linkGrp>
</div>
</body>
<back>
<div>
<divGen type="bibliography"/>
<linkGrp type="printInclude">
<ptr target="doc:emdOth_M_annotation"/>
</linkGrp>
</div>
</back>
</text>
</text>
</TEI>
The header is a normal header except for the particular document type specified with
<catRef>
/@target="cat:ldtBornDigPrint"
.But in
<text>
, the first thing you will notice is that the
<front>
,
<body>
and
<back>
elements do not include any content directly. They can include content if necessary,
and there may well be components that are intended to be used only for one particular
print edition, and therefore belong directly in this file, but most content is in
the form of
<linkGrp>
elements containing pointers. These pointers specify other files in the repository,
or sections of files. They use the doc:
prefix to point to the ids of files, and an optional fragment identifier to point
to a specific part of the file. These includes will be processed by the first stage
of the build code to create a complete TEI file incorporating all these components.
That structure will then be processed into the TEI file.Notice the organization: critical materials come in the
<front>
element, the castlist and the play itself come in the
<body>
, and the bibliography (of which more below) appears in the
<back>
. Also in the
<back>
are any annotation files which are needed; these are processed into footnotes at
build time. Only annotations which are actually referenced in the included texts will
be used, and the rest will be discarded.Finally, note the special case of the
<divGen>
element for the bibliography. This is acted on by the build code, which retrieves
from BIBL1.xml all bibliography items which are actually mentioned in the rest of the content, and
generates a bibliography from them automatically. Note that if there is a reference
to an item which does not appear in BIBL1.xml, the PDF build will fail and stop.Prosopography
Janelle Jenstad
Janelle Jenstad is a Professor of English at the University of
Victoria, Director of The Map
of Early Modern London, and Director of Linked Early Modern Drama
Online. With Jennifer Roberts-Smith and Mark Kaethler, she
co-edited Shakespeare’s Language in Digital Media: Old
Words, New Tools (Routledge). She has edited John Stow’s
A Survey of London (1598 text) for MoEML
and is currently editing The Merchant of Venice
(with Stephen Wittek) and Heywood’s 2 If You Know Not
Me You Know Nobody for DRE. Her articles have appeared in
Digital Humanities Quarterly, Elizabethan Theatre, Early Modern
Literary Studies, Shakespeare
Bulletin, Renaissance and
Reformation, and The Journal of Medieval
and Early Modern Studies. She contributed chapters to Approaches to Teaching Othello (MLA); Teaching Early Modern Literature from the Archives
(MLA); Institutional Culture in Early Modern
England (Brill); Shakespeare, Language, and
the Stage (Arden); Performing Maternity in
Early Modern England (Ashgate); New
Directions in the Geohumanities (Routledge); Early Modern Studies and the Digital Turn (Iter);
Placing Names: Enriching and Integrating
Gazetteers (Indiana); Making Things and
Drawing Boundaries (Minnesota); Rethinking
Shakespeare Source Study: Audiences, Authors, and Digital
Technologies (Routledge); and Civic
Performance: Pageantry and Entertainments in Early Modern
London (Routledge). For more details, see janellejenstad.com.
Joey Takeda
Joey Takeda is LEMDO’s Consulting Programmer and Designer, a role he
assumed in 2020 after three years as the Lead Developer on
LEMDO.
Martin Holmes
Martin Holmes has worked as a developer in the
UVicʼs Humanities Computing and Media Centre for
over two decades, and has been involved with dozens
of Digital Humanities projects. He has served on
the TEI Technical Council and as Managing Editor of
the Journal of the TEI. He took over from Joey Takeda as
lead developer on LEMDO in 2020. He is a collaborator on
the SSHRC Partnership Grant led by Janelle Jenstad.
Navarra Houldin
Project manager 2022–present. Textual remediator 2021–present. Navarra Houldin (they/them)
completed their BA in History and Spanish at the University of Victoria in 2022. During
their degree, they worked as a teaching assistant with the University of Victoriaʼs
Department of Hispanic and Italian Studies. Their primary research was on gender and
sexuality in early modern Europe and Latin America.
Tracey El Hajj
Junior Programmer 2019–2020. Research Associate 2020–2021. Tracey received her PhD
from the Department of English at the University of Victoria in the field of Science
and Technology Studies. Her research focuses on the algorhythmics of networked communications. She was a 2019–2020 President’s Fellow in Research-Enriched
Teaching at UVic, where she taught an advanced course on
Artificial Intelligence and Everyday Life.Tracey was also a member of the Map of Early Modern London team, between 2018 and 2021. Between 2020 and 2021, she was a fellow in residence at the Praxis Studio for Comparative Media Studies, where she investigated the relationships between artificial intelligence, creativity, health, and justice. As of July 2021, Tracey has moved into the alt-ac world for a term position, while also teaching in the English Department at the University of Victoria.
Orgography
LEMDO Team (LEMD1)
The LEMDO Team is based at the University of Victoria and normally comprises the project
director, the lead developer, project manager, junior developers(s), remediators,
encoders, and remediating editors.
Metadata
Authority title | Print Editions |
Type of text | Documentation |
Short title | |
Publisher | University of Victoria on the Linked Early Modern Drama Online Platform |
Series | Linked Early Modern Drama Online |
Source |
TEI Customization created by Martin Holmes, Joey Takeda, and Janelle Jenstad; documentation written by members of the LEMDO Team
|
Editorial declaration | n/a |
Edition | Released with Linked Early Modern Drama Online 1.0 |
Encoding description | Encoded in TEI P5 according to the LEMDO Customization and Encoding Guidelines |
Document status | prgGenerated |
Funder(s) | Social Sciences and Humanities Research Council of Canada |
License/availability | This file is licensed under a CC BY-NC_ND 4.0 license, which means that it is freely downloadable without permission under the following conditions: (1) credit must be given to the author and LEMDO in any subsequent use of the files and/or data; (2) the content cannot be adapted or repurposed (except in quotations for the purposes of academic review and citation); and (3) commercial uses are not permitted without the knowledge and consent of the editor and LEMDO. This license allows for pedagogical use of the documentation in the classroom. |