XLingPaper User Documentation
Using the XMLmind XML Editor version 7.3+
H. Andrew Black
SIL International
xlingpaper_support@sil.org

27 May 2020
Version: 3.7.0

Contents


Abstract

This paper describes how to write a linguistic document in XML using the XLingPaper approach. It is specifically for those who wish to also use the XMLmind XML Editor to key, edit, and process their paper. If you wish to create an XLingPaper document without using the XMLmind XML Editor, please see the regular user documentation. The choice of editor you use to key an XLingPaper document, of course, is up to you.


1 Introduction

The XLingPaper package is designed to aid the linguist in writing linguistic documents such as papers, books, theses, and dissertations.

Linguists commonly face three obstacles in formatting papers. First, all examples are numbered in a paper. If during the writing process the author discovers a need to insert an example, then the numbering of all following examples and all references to those examples within the text need to be re-adjusted. This mechanical change can be both time-consuming and prone to error. Similarly, if the author decides to reorder some examples, then the numbering needs to be adjusted appropriately. XLingPaper provides an automatic way to facilitate such numbering and renumbering.

Secondly, linguists cite the work of other researchers using a standard citation format. This format functions essentially as an abbreviation or reference to the full citation entry which appears in the references section of the paper. The burden of maintaining consistency between citation and reference typically falls totally on the author. Many a reader has been disappointed to find a citation to a paper in the body of a paper for which there is no entry in the references section. XLingPaper provides an automatic means for a writer to maintain consistency; all citations in the text must have a corresponding entry in the references. Conversely, XLingPaper will include only those entries in the references section which are cited in the text. This latter characteristic implies that one can maintain one master list of references and merely include it in any given paper. Only those references actually cited in the given paper will appear in the references section.

Thirdly, linguists commonly use a set of abbreviations while glossing examples. They usually include either a list of the abbreviations and their definitions in a footnote, in a special front-matter page, or in a back-matter page. As for citations and references, the burden of maintaining consistency between the abbreviations used in the text and the abbreviations defined in the list typically falls totally on the author. Many a reader has been disappointed to find an abbreviation in a gloss for which there is no corresponding entry in the list of abbreviations. XLingPaper provides an automatic means for a writer to maintain consistency; the author can make it so all abbreviations in the text must have a corresponding entry in the list of abbreviations. Conversely, XLingPaper will include only those abbreviations in the list of abbreviations which are actually used in the text. This latter characteristic implies that one can maintain one master list of abbreviations and merely include it in any given paper. Only those abbreviations actually cited in the given paper will appear in the list of abbreviations. By the way, XLingPaper also creates a hyperlink between the abbreviation in the text and the abbreviation in the list of abbreviations. Thus, a reader can click on the abbreviation and see what it means.

In addition, in some formatting systems such as HTML, headers (i.e. h1, h2, etc.) are not automatically numbered. XLingPaper will automatically number all parts, chapters, and sections. Furthermore, one may create references to parts, chapters, or sections and these will display as hyperlinks to them, using the appropriate number.

Since XLingPaper is in XML, it also can serve as an archiving format.

1.1 Major Components

XLingPaper has several major components:

  1. Front matter
  2. Sections
  3. Back matter

The front matter contains items like the title, author, date, contents, and abstract.

The sections contain the main body of the paper. The main body can be as large as book parts which contain chapters (which in turn contain sections) or be a series of chapters or just a series of sections.

The back matter contains items like appendices, endnotes, and references.

1.2 Using XLingPaper with the XMLmind XML Editor

This section provides an overview of how to use XLingPaper with the XMLmind XML Editor. There are two basic steps involved.

The first consists of entering the appropriate element tags into an XML document. That is, the writer needs to key the correct tags in the file(s) to enable XLingPaper to recognize them. This document describes how one can do this using the XMLmind XML Editor. See the regular user documentation for other ways one can do this.

The second step in using XLingPaper is to process the document file(s) to show the output in some form. Currently there are ways to produce these kinds of outputs:

1.2.1 Advantages of the XMLmind XML Editor

The XMLmind XML Editor makes it easier to key the elements and also to produce these outputs.

The XMLmind XML Editor[1] is a freely downloadable editor that makes it quite easy to create not only XLingPaper documents, but also XHTML documents, among others. This editor is a structured editor and has at least the following very nice features:

1.2.2 Obtaining the XMLmind XML Editor and the XLingPaper Configuration Files

There are two steps in getting the complete package. See http://software.sil.org/xlingpaper/resources/how-to-install/ for details and instructions on getting the package.

1.2.3 Quick Overview

Since the XMLmind XML Editor is a structured editor, it is probably a bit different than other editors you have used. I recommend if at possible that you go to http://software.sil.org/xlingpaper/resources/demo-movies/ and download two of the movies: the second (“A tour of the XMLmind XML Editor that XLingPaper uses”) and the third (“How to type text in XLingPaper”). You can then watch them on your computer whenever needed. These will illustrate the key things that are different about using XLingPaper.

Once you have seen these two demo movies, then you can start creating an XLingPaper file. In XMLmind XML Editor, use File / New, find the XLingPaper section, and then select the kind of document you want to create. There are six complete document types, eight document component types, plus five publisher style sheet templates (see 11.25 or click here to see the documentation for publisher style sheets). Here are the most basic ones, listed alphabetically:

Choose the type of document you wish to create.

If you selected the Paper one, it will look something like this:

(1)

You can immediately start typing the content of the title element. Pressing the tab key or the right arrow key will move you on to the author element. You can click on the plus sign inside a box to open up what is inside the element. You can also press the Esc key followed by the / key to open up an element. This same sequence of keys will close an element.[2] If you double-click on the plus sign inside a box, it will open up that item plus all other items embedded within it.

When you have the red cursor on some text within an element, you can right click (or press the F12 key). It will give you a list of the elements which can be inserted before, within, or after where you are. The possible elements are shown in the Edit tool.[3]

For example, if you have begun a new paper and have keyed the title, gone on to the author line and keyed an author name, when you right-click in the author element, it will look like this:

(2)

If you select Insert After..., then it will look like this:

(3)

Notice the cursor is in the Edit tool[3] in the upper right hand corner. The list of elements shown (i.e. abstract, acknowledgements, affiliation, author, contents, etc.) are the only elements that can be added after where you currently are. You can type the name of the element you want to add. Suppose you want to add an affiliation element. Start to type the word affiliation and it should look like this:[4]

(4)

You can now press the Enter key and an affiliation element will be inserted after the author element. Like this:

(5)

You can now start typing the content of the affiliation field.

By right-clicking, you can add an element before or after where you are in this manner. When it is appropriate, you can also insert an element within the text. For example, if you were typing a section title and right-clicked after the word first, it might look like this:

(6)

Select Insert.... You will now get a different list of elements showing up in the Edit tool:[3]

(7)

When you type the name of one of these elements, it will appear within the text you are typing (the section title in this example). See below for more on these elements.

Please note that when you have a paragraph (p element), have typed some text in it and then insert after it something like one of the example element packages (see section 5) and typed in what you need in the example, you have to do something special to continue on with another paragraph. To get a following paragraph, you will need to select the entire example element and then do an Insert After command. You will then see that one of the options is a p element (for paragraph). Choose the p element and then you can start typing in it. The reason for this is that paragraph elements are allowed only after entire example elements.

When an element has some attributes that need to be set, one will see these in the Attributes tool. For example, suppose you have just entered a citation to a book (see section 8). It might look something like this:

(8)

Notice the Attributes tool in the lower right hand portion of the screen. This allows you to edit particular attributes of the citation element.

One of the things that can make using the XMLmind XML Editor a bit different from using other editors, is that when one enters such an element while typing a paragraph, say, one will find that the new element has been inserted as illustrated in (8), but one cannot seem to type beyond the recently inserted element. The trick to learn is to type the Insert key[5] while the newly inserted element is still outlined in red. When you do this, you will see a hashed box after the element and you can continue typing.

Armed with the knowledge that you can right-click and then insert before, within, or after the current position as well as the use of the Attributes tool, you are now on your way to creating your document.[6]

1.3 Language Definitions

Besides the main text of the paper, one may also define the languages used within the paper. One can then tag individual data items as belonging to one of these languages. Each language definition has font-related information associated with it, so one can set the font, size, color, etc. for each language. When the paper is formatted, each data item tagged with a given language will consistently be shown in the specified way.

To add or edit languages, open up the Languages section near the bottom of the XMLmind XML Editor window by clicking on the icon in front of Languages and then click on the word language in front of lVernacular. It should look something like this, as indicated by the large black arrow:

(9)

There are three predefined languages which come when you create a new XLingPaper document: one for your (default) vernacular language data; one for your (default) glossing language; and one for English (used with abbreviations). You can set the font-related attributes by clicking on the button. When you do, you will see a dialog box like this:

(10)

You can use it to set the font family, the style (i.e. bold and/or italic) and the font size. The “Use default” values indicate to use whatever family, style, or size is currently in effect. You override the default by specifying a particular value.

We recommend that you use a percentage for the font size. This way, if the language data item is in a section header, it will show at the correct size. If you use an absolute point size, then it may well be smaller than the surrounding words in the section header.

If you click on the button, you can set the color for the language. When you do, you will see a dialog box like this:

(11)

You can click on the color you want in the boxed area. The Preview area will then show you what that color will look like. When you click on the OK button, the special color code number will show in the color attribute.[7]

In the Attributes tool on the right, you can click in an attribute field and type in the appropriate information (e.g. the language name). You can thus fill in the appropriate information for the language(s) you will be writing about.

The gloss language is there for use with glosses (in case you want the glosses to come out in a special color or font).

You may certainly have more than two languages defined. Merely add another language element as described earlier in this section above and key in the appropriate attributes.

The attributes of the language element are summarized in the table shown in (12).[12]

(12)
Attribute Possible Values Meaning
ISO639-3Code (user control) This is a standard language code that is useful for archiving purposes. It may be similar to the Ethnologue code. See http://www-01.sil.org/iso639-3/codes.asp.
backgroundcolor (user control) The name of the color or the special RGB code for the background color.
color (user control) The name of the color or the special RGB code for the color.
cssSpecial (user control) This is a way to allow the user to add Cascading Style Sheet attributes which are not defined in other attributes of a language element. CSS attributes only work for web page output. Click here to see one web page that defines these attributes. Note that each Cascading Style Sheet attribute needs to end with a semicolon (;) and should be followed by a space.
ethnCode (user control) This is the Ethnologue code for the language.
font-family (user control) This is the font name to use (e.g. Times New Roman or Courier New).
font-size (user control) This is the font size. If it is expressed in points, it should have the value followed by pt.
font-style normal, italic, oblique, backslant, or inherit You can use this to set the font style. The most common usage will be to set it to italic.
font-variant normal, small-caps, or inherit You can use this to set the font variant. The most common usage will be to set it to small-caps.
font-weight normal, bold, bolder, lighter, 100, ... 900, or inherit You can use this to set the font weight. The most common usage will be to set it to bold.
hyphenationExceptionsFile (user control) This is a URI to the XML file containing exceptions to the normal hyphenation algorithm for this language. See section 11.39.
id (user control) The unique identifier for this language to be used in this document. This identifer should contain only letters and digits; no spaces.
name (user control) The name of the language.
rtl yes or no If yes, the language is a right-to-left language. If no or not set at all, the language is treated as a left-to-right language.
text-transform none, capitalize, lowercase, or uppercase You can use this to set an automatic transformation of the text. The most common usage will be to set it to none (the default).
XeLaTeXSpecial (user control) This is a way to allow the user to add special attributes for the included XeLaTeX processor that produces PDF. It is intended to be used only for attributes which are not defined in other attributes of a type element. XeLaTeX attributes only work for the “default” PDF output. Each one needs to be followed by a space. See appendix D.
xsl-foSpecial (user control) This is a way to allow the user to add XSL-FO attributes which are not defined in other attributes of a language element. XSL-FO attributes only work for PDF and Microsoft Word 2003 output. Each one needs to be followed by a space.[8]

1.4 Organization of this Documentation

In the rest of this user documentation, the uses of the various elements will be discussed. It is organized first by the major components: front matter, sections, and then back matter. There also are sections on examples, on tables, charts, and trees, on lists, on citations, on interlinear text, and also on producing special effects. In addition, there are sections on how to do some common tasks and notes on being productive. Finally, there sections on several special issues: publishing information, framed units, content control, hanging indent paragraphs, and chapters in collection volumes. Appendix A contains a reference listing of all the elements that XLingPaper uses, with a brief description of each. Similarly, appendix B has a reference listing of all the elements that XLingPaper uses for publisher style sheets.

Examples of what elements to use to get a particular effect will be illustrated using the XMLmind XML Editor. See the regular user documentation for other (I think more difficult) ways to key the XML. The choice of editor you use to key an XLingPaper document, of course, is still up to you.

2 Front Matter

This section delineates the elements that can appear in the front matter of a paper. They are presented in the order in which they must occur.

2.1 Title

The title element is required in a front matter. A title may include language data and endnotes, as well as other elements.[9]

2.2 Subtitle

The subtitle element is optional. Like a title element, it may include language data and endnotes, among other elements.

2.3 Author

One or more author elements must be included.

The author element has an attribute of ORCID which can be used to enter the Open Researcher and Contributor ID. See http://about.orcid.org/.

2.4 Author Contact Information

One or more authorContactInfo elements may optionally be included. Each one refers to an authorContact element via its author attribute.

These are typically only used for some publications. You probably will only need to insert one when you are about to publish your XLingPaper document and your publisher requires it.

As soon as you insert an authorContactInfo element, if you immediately press the F11 key on your keyboard (or click on the black drop-down arrow or use menu items XLingPaper / Set Reference F11 or if you right-click on it and choose Set Reference), a dialog box will pop up that lists all the author contacts currently available. You can then choose the one you want. See also section 13.2.

2.5 Affiliation

Each author name may be followed by the affiliation of that author or the preceding authors, using an affiliation element. These are optional elements.

2.6 Email Address

Each author name may be followed by an email address, using an emailAddress element. These are optional elements.

2.7 PresentedAt

One may add this line in the front matter indicating that the paper had been presented at some conference. This is an optional element.

2.8 Date

The date of the paper may also be included as a date element. This is an optional element.

2.9 Version

The version element may be included to provide a version number for the document. It is also optional. You can type whatever you want in this element and it can be in whatever language you are writing in.[10]

2.10 Keywords

The keywordsShownHere element may be included to provide a list of keywords for the document. It is also optional. When this element is present, it will show the list of keywords given in the publishingInfo element (see section 13.3). Use the label attribute to change the default “Keywords: ” label which will show immediately before the list of keywords (each keyword will be separated by a comma and a space.[11]) If you want the list of keywords to appear in the table of contents, set the showincontents attribute to yes.

2.11 Table of Contents

One may optionally include a table of contents by merely including the contents element. Including this tag will instruct XLingPaper to automatically generate a table of contents.

The default situation is for the table of contents to include sections up to three levels deep (i.e., it will include the titles for all of the following: part, chapter, appendix, section1, section2, and section3). You can control how many section levels will be included in the table of contents by changing the value of the showLevel attribute. Its value can be any of the integer numbers between "1" and "6".[12] Please note that the number refers to the section level. If you have a book with chapter elements, then the depth shown in the contents will be the number you choose plus one (the section level plus the chapter). It can also be set to "0" (zero) if you do not want any sections to show in the table of contents such as you might in a book with chapters.

The table of contents will also include acknowledgements (if any), the abstract (if present), endnotes (if needed), any indexes and references.

XLingPaper will use a title of "Table of Contents" for the contents. If you wish to use some other title, set the label attribute to the title you want to use.[12]

Finally, if you use a publisher style sheet to have both a table of contents in the front matter and a (slightly) different one in the back matter,[13] then you can set the label for the one in the back matter by setting the backmatterlabel attribute. You also set the backmattershowLevel attribute to set the level depth for the table of contents that appears in the back matter.

2.12 Acknowledgements

Acknowledgements for the paper may be included by using the acknowledgements element. The content of the acknowledgements may be a sequence of any "chunk" elements.[14]

XLingPaper will use a title of "Acknowledgements" for the acknowledgements. If you wish to use some other title, set the label attribute to the title you want to use.[12] (Note that the more common spelling of this in North America is "Acknowledgments" so if you are in this area of the world, you may want to change it.)

Note that one may put an acknowledgements element either in the front matter or in the back matter. See section 4.1.

2.13 Abstract

An abstract for the paper or book may be included by using the abstract element. The content of the abstract may be a sequence of any "chunk" elements. (See endnote [14] for what the "chunk" elements are.)

XLingPaper will use a title of "Abstract" for the abstract. If you wish to use some other title, set the label attribute to the title you want to use.[12]

It is possible to have more than one abstract element. This is intended to be for cases where one needs the same abstract to be in more than one language (e.g., for a conference paper where more than one presentation language is welcome).

2.14 Preface

A preface may be included by using the preface element. The content of the preface may be a sequence of any "chunk" elements. (See endnote [14] for what the "chunk" elements are.)

XLingPaper will use a title of "Preface" for the preface. If you wish to use some other title, set the label attribute to the title you want to use.[12] One can have multiple instances of preface elements and thus, by changing the label, you can create special front matter sections.

2.15 Front Matter Example

Here is an example of the front matter using most of the possibilities. If one keys the elements so they look like this:

(13)

Then it should come out looking like what is shown in example (14).

(14)
Sample XLingPaper
Cheryl A. Black
H. Andrew Black
SIL International

21 June, 2001
Version: 1.0

Table of Contents


Abstract

This paper illustrates the various elements available in the XML/XSLT-based linguistic paper markup scheme called XLingPap. It provides examples of the various markups and shows how they can be rendered in HTML.


3 Sections

Sections may be nested up to six levels deep. Each level is an element tag consisting of the word "section" followed by the level number. For example, a third level section is section3.

3.1 Section Title

Every section element has a required secTitle element which gives the section title. The title may contain language data and an endnote, if one so desires.[15]

When you insert a section, it looks like this:

(15)

The number (4 in example (15) above) will vary depending on the section level and the position of this section with respect to other sections. The black hashed box is where you type in the title of the section. The little s is where you should type in a unique name for this section so you can refer to it elsewhere in your paper.[16] The idea is to create a unique name that relates to the content of the section. For example, it could be an abbreviated form of the section title. I strongly recommend that you use letters and numbers, but no spaces.[17] You can use case to distinguish words. Here are some examples taken from this document:

(16)
sExamples
sExWord
sExWordSingle
sExWordList
sExInterlinear
sExInterlinearSingle
sExInterlinearSpace
sExInterlinearWrd
sExInterlinearMorph

Note that using only the section number for these is not a good idea because at some point down the road you may want to rearrange the section. That is why we recommend using a more explanatory description.

3.2 Section Content

Sections may contain a sequence of any of the following elements:

When you use a block quote and try to control the indent via a publisher style sheet, if the quote contains anything other than plain text material (e.g., a citation element or an object element), then you will need to convert the text material into a p element (if you want the first line of the block quote to be indented) or into a pc element (if you do not want an indent on the first line). You can do this as follows:

  1. Click in the blockquote element.
  2. In the node path bar,[53] click on “blockquote.”
  3. Use Select menu item / Select All Children.
  4. Do a Convert Wrap and choose either “p” or “pc”.

3.3 Section Referencing

As noted in section 3.1, you should give each section a unique identifier name (that begins with a lower case s). This is so you can refer to the section elsewhere in the paper.

To make such a reference to a section, you use the sectionRef element. While typing text (such as in a p (paragraph) element), insert an element[18] and choose sectionRef. You will see . If you immediately press the F11 key on your keyboard (or click on the black drop-down arrow or use menu items XLingPaper / Set Reference F11 or if you right-click on it and choose Set Reference), a dialog box will pop up that lists all the section, chapter, and part titles in your paper along with their identifiers. While writing this section, for example, I just did this and the dialog box looked like this:

(17)

You can type the section number you want in the text box or scroll down until you find the one you want.[19] Note that capitalization is significant when typing.

When your document is processed, a hyperlink is made between the reference and the section header.[20]

Note that if you wish to refer to an appendix, you should use the appendixRef element and set its content via the F11 key or click on the black drop-down arrow or right-click, Set Reference F11 as described above. This time the dialog box will only list the titles and identifiers for the appendices.

3.3.1 Controlling Text before a Section Reference

One can also control what text precedes a section reference, if one so chooses. Some people like to use a word such as “section,” whereas others prefer to not have anything. One challenge with actually keying or not keying such words is that some publishers may want the author to do it one way or the other. In fact, some publications want authors to use a special section symbol: §.

In an effort to minimize an author's effort in dealing with this situation, XLingPaper provides you with the option of never keying such words, but rather to have them be inserted automatically when the paper (or book) is formatted. That is, if you so choose, you can never key words such as “section” before a sectionRef element. Which word or symbol will appear before them, if any, is controlled by setting various attributes of the sectionRef element and the lingPaper element.[21] Please note that the default situation is for XLingPaper to not automatically insert these words; but if you wish, you can have XLingPaper insert them for you.

Example (18) lists the attributes of the lingPaper element that are relevant to this discussion. To modify them, click on “lingPaper” in the node path bar.[53] Then change them using the Attributes Tool.[12] Note that the key attribute is sectionRefDefault. The other four are there so you can change the default text to what you need. There are four cases for whether the text needs to be capitalized or not and for whether there is only one reference or several. The default is to use the English words “section,” “sections,” “Section,” and “Sections” as appropriate. The “label” attributes are there so if you are writing in a non-English language, you can use the appropriate terms for that language.

(18)
Attribute Possible Values Meaning
sectionRefCapitalizedPluralLabel (user control) This is the text to use before a plural sectionRef element when the inserted text needs to be capitalized. If it is empty and the sectionRef element is tagged for using capitalizedPlural (or capitalizedPlural is the default), then the word “Sections” will be inserted before the section reference in the output.
sectionRefCapitalizedSingularLabel (user control) This is the text to use before a single sectionRef element when the inserted text needs to be capitalized. If it is empty and the sectionRef element is tagged for using capitalizedSingular (or capitalizedSingular is the default), then the word “Section” will be inserted before the section reference in the output.
sectionRefDefault none, capitalizedPlural, capitalizedSingular, plural, or singular. This sets the default behavior for inserting text before a sectionRef element. The normal value for this is none which means that no text will be inserted. If you set it to, say, singular, then whenever the textBefore attribute of the sectionRef element is set to useDefault, the text for the “singular” label will be used. See sectionRefSingularLabel.
sectionRefPluralLabel (user control) This is the text to use before a plural sectionRef element. If it is empty and the sectionRef element is tagged for using plural (or plural is the default), then the word “sections” will be inserted before the section reference in the output.
sectionRefSingularLabel (user control) This is the text to use before a single sectionRef element. If it is empty and the sectionRef element is tagged for using singular (or singular is the default), then the word “section” will be inserted before the section reference in the output.

The attribute for controlling this text via a sectionRef element is given in example (19).

(19)
Attribute Possible Values Meaning
textBefore none, capitalizedPlural, capitalizedSingular, plural, singular, or useDefault.
This indicates what text, if any, should be inserted in the output before the section reference. The normal value for this is useDefault which means that what text is inserted depends on the value of the sectionRefDefault attribute of the lingPaper element. See sectionRefDefault. All of the other values override this default. Each one is listed below.
none No text will be inserted. This is useful for when you have a list of section references and you do not want to insert any text before the second, third, etc. references.
capitalizedPlural The word “Sections” will be inserted before the section reference unless you have keyed text in the sectionRefCapitalizedPluralLabel attribute of the lingPaper element. In this case that text will be used instead of “Sections” (see sectionRefCapitalizedPluralLabel). This is useful for when you have a list of section references and the first one begins a sentence. Mark the first sectionRef with capitalizedPlural and then mark all the other sectionRef elements in the list with none.
capitalizedSingular The word “Section” will be inserted before the section reference unless you have keyed text in the sectionRefCapitalizedSingularLabel attribute of the lingPaper element. In this case that text will be used instead of “Section” (see sectionRefCapitalizedSingularLabel). This is useful for when you have a section reference that begins a sentence.
plural The word “sections” will be inserted before the section reference unless you have keyed text in the sectionRefPluralLabel attribute of the lingPaper element. In this case that text will be used instead of “sections” (see sectionRefPluralLabel). This is useful for when you have a list of section references and the first one is in the middle of a sentence. Mark the first sectionRef with plural and then mark all the other sectionRef elements in the list with none.
singular The word “section” will be inserted before the section reference unless you have keyed text in the sectionRefSingularLabel attribute of the lingPaper element. In this case that text will be used instead of “section” (see sectionRefSingularLabel). If you have set the sectionRefDefault attribute of the lingPaper element to singular, then you should not need to ever set this value. This is normally only useful for when you have set the sectionRefDefault attribute to something other than singular.

3.3.2 Showing the Title of a Section

It is also possible to show just the title or the short title of a section. One uses the showTitle attribute of the sectionRef element to control this as explained in example (20).

(20)
Attribute Possible Values Meaning
showTitle numberOnly, full, short.
This indicates whether the title of the target section should be output or just the number. The normal value for this is numberOnly which means that only the number will be output.. All of the other values override this default. Each one is listed below.
numberOnly The section number will be output. This is the default value.
full Instead of the section number, the full title of the section will be output. The full title is in the secTitle element.
short Instead of the section number, the short title of the section will be output. The short title is in the shortTitle element. If there is no short title, the full title will be used.

3.4 Section Example

Here is an example of some sections, including some section references. The section references use the simpler, default method, not what is discussed in 3.3.1. If you key what is shown in (21), it will come out looking like what is shown in (22).

(21)

(22)

1 Introduction

This is the first section and it is an introduction.

2 Section with subsections

This section has subsections.

2.1 First subsection

This is the first subsection. It has its own subsection.

2.1.1 A sub-sub-section

This is a subsubsection.

2.1.1.1 Fourth level section

This is a section, nested four levels deep.

2.1.1.1.1 Fifth level section

This is a section, nested five levels deep.

2.1.1.1.1.1 Sixth level section

This is a section, nested six levels deep. Six levels is the maximum allowed.

2.2 Second subsection

This is the second subsection.

3 Section references

One can refer to sections by using a element tag. For example, we could say, See section 2.1.1 or see section 1.

3.5 Chapters

Instead of starting a paper with a top level section, one may use chapters instead. Each chapter then may have up to six levels of sections and subsections.

That is, when you create a new document (by using menu items File / New), choose the option for “Book (chapter-oriented)”.

3.6 Parts

If one is working on a larger project and the paper has not only chapters, but also parts (each of which contains chapters), then one should use the part element as the first element after any front matter.

That is, when you create a new document (by using menu items File / New), choose the option for “Multi-part book (part-oriented) ”.

4 Back Matter

Back matter consists of acknowledgements, appendices, glossary, abbreviations, endnotes, references, author contact information, keywords and indexes. All of these are optional.

4.1 Acknowledgements

Acknowledgements for the paper may be included by using the acknowledgements element. The content of the acknowledgements may be a sequence of any "chunk" elements.[14]

XLingPaper will use a title of "Acknowledgements" for the acknowledgements. If you wish to use some other title, set the label attribute to the title you want to use.[12] (Note that the more common spelling of this in North America is "Acknowledgments" so if you are in this area of the world, you may want to change it.)

Note that one may put an acknowledgements element either in the front matter or in the back matter. See section 2.12.

4.2 Appendices

Appendices are similar to chapters. One merely adds an appendix element by clicking on “Endnotes” near the bottom and doing an Insert Before command.[18] It has its title and one may include sections and subsections. The appendix will automatically be given a letter. Its sections and subsections will be numbered like other sections, only they will begin with the appropriate appendix letter. See the example back matter section (4.11) below.

It is possible to have the appendix appear in landscape mode by setting the showinlandscapemode attribute to yes. The entire appendix will then show in landscape mode.[22]

4.3 Glossary

A glossary for the paper may be included by using the glossary element. You can insert a glossary element by clicking on the last appendix element and doing an Insert After command or by clicking on “Endnotes" and doing an Insert Before command.[18] The content of the glossary may be a sequence of any "chunk" elements,[14] although including either a table or a definition list is the most likely.

XLingPaper will use a title of "Glossary" for the glossary. If you wish to use some other title, set the label attribute to the title you want to use. One can have multiple instances of glossary elements and thus, by changing the label, you can create special back matter sections.

4.4 Endnotes

HTML does not readily allow for footnotes, since the entire paper may be rendered on one HTML page. Therefore we use endnotes instead of footnotes. It is now possible for some outputs like PDF or Microsoft Word 2003 to use footnotes. Nonetheless, we still use endnote elements for this. That is, use an endnote element whether or not you plan to have endnotes or footnotes. The process that converts XLingPaper from XML to HTML or one of the other formats will take care of whether these elements show up as endnotes or as footnotes. If you are using a publisher style sheet (see section 11.25), then you can control whether the output uses endnotes or footnotes for non-web page outputs. See the useEndNotesLayout element in the XLingPaper Publisher Style Sheet User Documentation file.

One keys an endnote in the text at the point where the reference to the endnote should go (i.e. the "endnote number", usually rendered in superscript). For example, suppose one wants to key an endnote where the vertical red cursor is in example (23).

(23)

One can right-click and choose Insert... and then type endnote. The result will look like this:

(24)

One can now give the endnote a unique id (which should begin with n; the id should also only contain letters and numbers; no spaces[17]). When you open up the endnote (click on the ), it will look like this:

(25)

You can now start typing the content of the endnote. The content of the endnote normally begins with a paragraph tag p, although one may use a sequence of any "chunk" elements.[14]

Note that an endnotes element is required in the back matter section in order to get endnotes to come out properly.

Occasionally, one wants to refer to an endnote. One uses an endoteRef element for this. When you insert an endoteRef element, you will see . If you immediately press the F11 key on your keyboard (or click on the black drop-down arrow or use menu items XLingPaper / Set Reference F11 or if you right-click on it and choose Set Reference), a dialog box will pop up that lists all the endnote identifiers in your paper. While writing this section, for example, I just did this and the dialog box looked like this:

(26)

You can type in the name of the endnote or scroll down until you find the one you want. Note that capitalization is significant when typing. When your document is processed, a hyperlink is made between the reference and the endnote.[23]

4.5 References

The references section begins by using the references element. Remember that unlike papers or books you may have produced before, when one uses XLingPaper the content of the references section will only show in the formatted output if there is at least one citation element somewhere in the paper referring to it. See section 8 for more on citations.

Within the references element, one creates a sequence of refAuthor elements. Note that XLingPaper has you group the references by author, not by work. Normally, the refAuthor elements should be ordered alphabetically by the author's last name. It is possible to have the authors sorted when the output is produced (see section 4.5.13). In addition, there is a way to quickly find an author/work as described in section 4.5.12.

Each refAuthor element has two required attributes: citename and name. The citename attribute is how you want the author's name to be shown in a citation within the body of the paper.[12]

The name attribute is how you want the author's name to appear in the references (usually last name first for single authors; see the examples below in section 4.11). You may also include a refAuthorInitials element for those cases where you need to use initials for the author(s) first, etc., names. To insert a refAuthorInitials element, click on the first refWork element of this author and then do an insert before operation. Note that you will need to key the full author name(s) with initials in the refAuthorInitials element just as it should appear in the output. You control which of these two forms of the name(s) of the author(s) shows in the XMLmind XML Editor by setting the authorformtoshowineditor attribute on the references element. See section 4.5.11 below for more on this.

Some publishers wish to format author's last names differently from first names (e.g., using small caps). Therefore, it is also possible to insert a refAuthorName element just before the first refWork element. One types the author name(s) in the refAuthorName element and one then selects an author's last name and uses the Convert command (via Edit / Convert, pressing Ctrl-T, or by clicking on the convert icon in the Edit tool[3]) to convert the last name into a refAuthorLastName element. Note that this only works with a publisher style sheet that has a refAuthorLastNameLayout element defined.

Within each refAuthor element, one lists one or more refWork elements, each of which describes a work by that author. They should be ordered by date, oldest first. Each refWork element has a required id attribute which can be referred to by citation elements within the body of the paper. You should create a unique name for this id element. The name should begin with an r and should consist of letters and numbers (no spaces).

Every refWork element has both a refDate element and a refTitle element. The refDate element contains the date (i.e. year) of the work. If there is more than one work by the same author within a given year, merely list the year for each such work. XLingPaper will automatically append a letter after the year as appropriate. If you want any citations to use a different date than what is in the refDate element, set the citedate attribute of the refDate element to that value. The refWork element may also optionally end with a url element (for indicating the address of a page on the World Wide Web if the work happens to be stored on the World Wide Web). In addition, the refWork element has a XeLaTeXSpecial attribute which you can set to pagebreak when you want to force a page break before this work in the output (and are using the default way of producing PDF).

The refTitle element contains the title of the work. The title should not include any formatting (such as surrounding quotes) as these will be added automatically by XLingPaper. The title may, however, include any "embedded" elements.[24] Do not use a plain single quote ' or a plain double quote ". Rather see section 11.12 for how to key ‘smart’ quotes for these. You may also include a refTitleLowerCase element for those cases where you need to use titles which are lower case (except for the first word and proper nouns). You control which of these two forms of the title shows in the XMLmind XML Editor by setting the titleformtoshowineditor attribute on the references element. See section 4.5.11 below for more on this.

There are cases where a work has no author and one may want to follow the convention of using the title as an author. One can do this, just be sure to leave the refTitle element empty and put the title in the refAuthor element.

Any refWork element may optionally contain a url element and a dateAccessed element. This allows you to provide the URL where the work is available online and the date when you accessed that URL, respectively.

In addition, any refWork element may have one or more iso639-3code elements. These indicate the ISO 639-3 code for the language(s) discussed in the work. Unless you are using a publisher style sheet, these codes will only appear in the output if you have set the showiso639-3codeininterlinear attribute of the lingPaper element to yes or if you have set the showiso639-3codes attribute of the refWork elements to yes. Set this latter attribute for those works for which you want the ISO 639-3 codes to show. If you are using a publisher style sheet, then you control whether or not these codes appear via the style sheet. See the documentation here.

The rest of the information about the citation depends on the type of citation it is. XLingPaper allows the types given in the following sections:

4.5.1 article in a journal

This is for an article published in a journal. Besides the date and the title, an article also has jTitle, jVol, optional jIssueNumber, and either jPages or jArticleNumber elements (for the journal title, the journal volume number, the journal issue number, and either the page numbers of the article in the journal or the article number; the latter two are optional). It may also have optional reprintInfo, location, publisher, url, dateAccessed, iso639-3code, and doi elements.

4.5.2 book

This is for a book. Besides the date and the title, a book also has optional translatedBy, edition, seriesEd, seriesEdInitials, series, bVol (book volume), multivolumeWork (a volume in a multivolume set of works[25]), and reprintInfo elements, a recommended location element and a recommended publisher element. It can optionally include url, dateAccessed, iso639-3code, and/or doi elements.

4.5.3 Paper in a collection

This is for a paper included in a volume or collection of papers. Besides the date and the title, a collection paper also has:

  1. an optional collEd (collection volume editor(s)) element,
  2. an optional collEdInitials (collection volume editor(s), using initials instead of first name, etc.) element,
  3. a required collTitle (collection volume title) element,
  4. an optional edition (edition number of the collection volume) element,
  5. an optional collVol (collection volume number) element,
  6. an optional collPages (page numbers in the volume) element,
  7. an optional seriesEd (series editor(s) of the series that the volume is in) element,
  8. an optional seriesEdInitials (series editor(s) of the series that the volume is in, using initials instead of first name, etc.) element,
  9. an optional series (series title that the volume is in) element,
  10. an optional bVol (volume number of the series that the volume is in) element,
  11. an optional multivolumeWork (a volume in a multivolume set of works[25]),
  12. an optional reprintInfo element,
  13. an optional location element,
  14. a recommended publisher element,
  15. an optional url element,
  16. an optional dateAccessed element,
  17. an optional iso639-3code element, and
  18. an optional doi element.

The collEd element also has a plural attribute to indicate whether there is more than one editor. Use the value of yes if there are more than one editor; otherwise, use the value of no.[12]

Section 4.5.3.1 shows an alternative way of handling papers in collections.

4.5.3.1 Using a collCitation

This section describes another way to handle collection information which some publishers prefer to use.

4.5.3.1.1 Overview

Consider the following portion of a references section (taken from http://assets.cambridge.​org/​IPA/​IPA_ifc.pdf accessed on 10 November 2010). Only those entries which are collections are shown.

(27)

Notice that for Bauer & Warren (2004) and for Sampson (1987), the reference entry itself contains the information about the collection volume (i.e. the book) the paper occurs in. For Barry (1992) and Browman & Goldstein (1992), however, the reference entry refers to another reference entry for the collection: Docherty & Ladd (1992).

Why should some collection entries have the full information about the collection volume while others merely refer to the collection volume which is a distinct entry itself? The key difference is that when two or more papers from the same collection volume are cited, then for those papers, we need to refer to the collection volume itself instead of spelling out the collection volume information.

It is possible within XLingPaper to have both of these methods occur automatically. That is, one can add reference entries for the collection volume itself and then use a special collCitation element to refer to the collection volume (which will use a book element). If a given XLingPaper document has two[26] or more papers cited from the same collection volume, those papers will use the special citation format (like for Barry (1992) and Browman & Goldstein (1992) in example (27) above). In addition, the collection volume entry (which uses a book element) is also given (Docherty & Ladd (1992) in example (27) above). If only one paper from a given collection volume occurs in the document, then even though the collection element has a collCitation element, XLingPaper will put the information for the collection volume within the reference entry (like for Bauer & Warren (2004) and Sampson (1987) in example (27) above).

For example, suppose you had reference entries for the items given in (27) keyed as shown in (28). Notice that the collCitation elements look rather like citation elements (see section 8). This is because they act quite a bit like a citation.

(28)

Further suppose that in this document, the following items are cited: Barry (1992), Bauer & Warren (2004), Browman & Goldstein (1992), and Sampson (1987). Then the references section in the web page output might look this:

(29)

References

Barry, William J. 1992. “Comments on Browman and Goldstein: ‘“Targetless” schwa: An articulatory analysis’.” In Docherty & Ladd, eds, 65-67.

Bauer, Laurie & Paul Warren. 2004. “New Zealand English Phonology.” In Bernd Kortmann, Edgar W. Schneider, Kate Burridge, Rajend Mesthrie & Clive Upton, eds. A handbook of varieties of English: A multimedia reference tool. 1:580-602. Berlin & New York: Mouton de Gruyter.

Browman, Catherine P. & Louis Goldstein. 1992. “‘Targetless’ schwa: An articulatory analysis.” In Docherty & Ladd, eds, 26-56.

Docherty, Gerald J. & D. Robert Ladd. eds. 1992. Papers in laboratory phonology II: Gesture, segment, prosody. Cambridge: Cambridge University Press.

Sampson, Geoffrey. 1987. “Probabilistic models of analysis.” In Richard Garside, Geoffrey Leech & Geoffrey Sampson, eds. The computational analysis of English. London: Longman.

If on the other hand, in a different document only Bauer & Warren (2004), Browman & Goldstein (1992), and Sampson (1987) are cited, then the output would look like this:

(30)

References

Bauer, Laurie & Paul Warren. 2004. “New Zealand English Phonology.” In Bernd Kortmann, Edgar W. Schneider, Kate Burridge, Rajend Mesthrie & Clive Upton, eds. A handbook of varieties of English: A multimedia reference tool. 1:580-602. Berlin & New York: Mouton de Gruyter.

Browman, Catherine P. & Louis Goldstein. 1992. “‘Targetless’ schwa: An articulatory analysis.” In Gerald J. Docherty & D. Robert Ladd, eds. Papers in laboratory phonology II: Gesture, segment, prosody. 26-56. Cambridge: Cambridge University Press.

Sampson, Geoffrey. 1987. “Probabilistic models of analysis.” In Richard Garside, Geoffrey Leech & Geoffrey Sampson, eds. The computational analysis of English. London: Longman.

Notice that while every collection entry in (28) has just a collCitation element in it, whether the collection volume information is included in the collection entry depends on how many other papers are cited for the collection volume. XLingPaper figures out what to do in each case.

One other thing to observe is that whenever XLingPaper inserts the collection volume information into a collection entry output, it assumes that the collection volume editor(s) will be listed with the first editor's last name, comma, and then the first editor's first name. For example, in (28), the Docherty & Ladd entry has the author name as “Docherty, Gerald J. & D. Robert Ladd.” In example (30) where XLingPaper inserted the collection volume information for Browman & Goldstein (1992), XLingPaper converted “Docherty, Gerald J. & D. Robert Ladd” to “Gerald J. Docherty & D. Robert Ladd.” If there are three or more authors, you may separate them by either a comma or a semi-colon. XLingPaper will do this kind of rearranging of the authors' names whenever their names contain any of the sequences in example (31).

(31)
Character sequence Language it is for
“ and ” English
“ & ” English (possibly others)
“ y ” Spanish
“ e ” Spanish (only when before an i)
“ et ” French
4.5.3.1.2 Converting to the citation format

Suppose you already have a number of collection entries in your XLingPaper references and you wish to use this collection citation method now. Here is what needs to be done:

  1. For each collection volume, create a book element. That book has all the editor, collection title, etc. information in it (one should be sure to insert an authorRole element at the beginning to indicate that the author(s) is/are the editor(s) of the work). Also see below for a possibly easier way to do this.
  2. Then for each paper in that collection included in your references, use a collCitation element instead of the collEd through publisher elements. The collCitation element will look something like this: If you immediately press the F11 key on your keyboard (or click on the black drop-down arrow or use menu items XLingPaper / Set Reference F11 or if you right-click on it and choose Set Reference), a dialog box will pop up that lists all the book entries in your references. Select the one that is correct for this paper in a collection. See below for a possibly easier way.

Since the collCitation element replaces a sequence of elements within a collection element, it is not possible to merely replace the collEd, collTitle, etc. elements with a collCitation element. There is, however, a menu option that will attempt to both create the needed book element and replace the collEd, collTitle, etc. elements with a collCitation element. It is not perfect and you will almost certainly need to do some editing by hand.

That menu item is XLingPaper / Reference (Bibliography) Related / Convert collection information to a collCitation element. You must be within a collection element in order to use this menu item. Here is an example.

(32)

The user has clicked within the collection element of Rensch (1973). When the user uses menu item XLingPaper / Reference (Bibliography) Related / Convert collection information to a collCitation element, the conversion process asks for an ID for the new book refWork element it will create. For example (32), it might look like this:

(33)

After keying in a valid ID, it might then look like this:

(34)

Notice several things:

  1. There is a new refAuthor element inserted before the refAuthor element for Rensch.
  2. The name attribute of this refAuthor is correct in this instance. Please be sure to always check the accuracy of the name.
  3. The citename attribute of this refAuthor is correct in this instance. If there had been multiple authors, you would probably need to edit the cite name.
  4. That new refAuthor element is not in its correct alphabetical position. You will have to adjust it yourself by hand (you can select the entire refAuthor element, cut it, find and select the entire refAuthor element after which it should go, then do a Paste After command). Alternatively, you can let XLingPaper sort the authors for you on output. See section 4.5.13.
  5. The new refAuthor element contains a refWork element with an embedded book element within it.
  6. This book element has an authorRole of “ed” (for “editor") because the original collEd element had its plural attribute set to no; it would be “eds” (for “editors”) otherwise.
  7. This book element has the other contents of the collection volume information originally included.
  8. The Rensch (1973) entry now just has the paper title and a collCitation element. That collCitation element refers to the refWork element just added.

As you do this conversion process, you may find duplicate refAuthor elements. You will need to merge the contents of them yourself.

4.5.4 dissertation

This is for a Ph.D. dissertation. Besides the date and the title, a dissertation also has an optional location element, a required institution element, an optional reprintInfo element, and an optional published element. The latter is for the case where the dissertation has also been published. A published element consists of recommended location and publisher elements, and a required pubDate element. It can also have optional url, dateAccessed, iso639-3code, and/or doi elements.

When XLingPaper produces output, the default label for a dissertation is ‘Ph.D. dissertation’. You can override this default by setting the content of the labelDissertation attribute of the references element. To do so, click on the references element and then use the Attributes Tool[12] to change its value. If you have one or more individual dissertation elements that need to use a different label from the default, you can override the default for these by setting the content of the labelDissertation attribute of the individual dissertation elements.

4.5.5 fieldNotes

This is for unpublished field note materials. Besides the date and the title, field notes also have an optional location element and a required institution element. It can also have optional url, dateAccessed, iso639-3code, and doi elements.

4.5.6 ms

This is for an unpublished manuscript. Besides the date and the title, a manuscript also has either an optional location element followed by a required institution element or it has a required empty element. It may also have optional url, dateAccessed, iso639-3code, and/or doi elements.

4.5.7 paper presented at a conference

This is for a paper presented at a conference. Besides the date and the title, a paper also has a required conference element and an optional location element. It may also have optional url, dateAccessed, iso639-3code, and/or doi elements.

4.5.8 Paper in a proceedings volume

This is for a paper included in a conference proceedings volume. Besides the date and the title, a proceedings paper also has:

  1. a required procEd (proceedings volume editor(s)) element,
  2. an optional procEdInitials (proceedings volume editor(s), using initials instead of first name, etc.) element,
  3. a required procTitle (proceedings volume title) element,
  4. an optional procVol (proceedings volume number) element,
  5. an optional procPages (page numbers in the volume) element,
  6. an optional reprintInfo element,
  7. an optional location element,
  8. an optional publisher element,
  9. an optional url element,
  10. an optional dateAccessed element,
  11. an optional iso639-3code element, and
  12. an optional doi element.

The procEd element also has a plural attribute to indicate whether there is more than one editor. Use the value of yes if there are more than one editor; otherwise, use the value of no.[12]

Recall from section 4.5.3 that collections have another possible way to record and format papers in a collection volume. XLingPaper can do the same kind of thing for papers in a proceedings volume. See section 4.5.3.1 above, substituting “proceedings” for “collection”. It works the same way for proceedings as for collections, except that rather than using collCitation elements, one uses procCitation elements. In addition, the menu item mentioned in section 4.5.3.1.2 is XLingPaper / Reference (Bibliography) Related / Convert proceedings information to a procCitation element. You must be within a proceedings element in order to use this menu item.

4.5.9 thesis

This is for an M.A. thesis. Besides the date and the title, a thesis also has an optional location element, a required institution element, an optional reprintInfo element, and an optional published element. The latter is for the case where the thesis has also been published. A published element consists of recommended location and publisher elements, and a required pubDate element. It may also have optional url, dateAccessed, iso639-3code, and/or doi elements.

When XLingPaper produces output, the default label for a thesis is ‘M.A. thesis’. You can override this default by setting the content of the labelThesis attribute of the references element. To do so, click on the references element and then use the Attributes Tool[12] to change its value. If you have one or more individual thesis elements that need to use a different label from the default, you can override the default for these by setting the content of the labelDissertation attribute of the individual thesis elements.

4.5.10 webPage

This is for a paper that has been posted on the World Wide Web. Besides the date and the title, a web paper also has:

  1. an optional edition element,
  2. an optional location element,
  3. an optional institution element or publisher element,
  4. a required url element,
  5. an optional dateAccessed element,
  6. an optional url element,
  7. an optional dateAccessed element,
  8. an optional iso639-3code element, and
  9. an optional doi element.

The url element is, of course, the address of the page on the World Wide Web. In the output, the URL will contain a link to it, so you should be able to click on it within the program you use to view the output and open it in a web browser.

4.5.11 Attribute Summary

The attributes on the references element are summarized in (35).[12]

(35)
Attribute Value Meaning
authorformtoshowineditor both In the XMLmind XML Editor, show both the full author(s) name(s) and the initials version
full In the XMLmind XML Editor, show just the full author(s) name(s)
initials In the XMLmind XML Editor, show just the initials-only version of the author(s) name(s)
label (user control) the label to use when formatting the references section. The default is “References”
labelDissertation (user control) the label to use when formatting a dissertation. The default is “Ph.D. dissertation”.
labelThesis (user control) the label to use when formatting a thesis. The default is “M.A. thesis”.
titleformtoshowineditor both In the XMLmind XML Editor, show both the upper case and the lower case versions of the title of works
lowercase In the XMLmind XML Editor, show just the lower case version of the title of works
uppercase In the XMLmind XML Editor, show just the upper case version of the title of works
version (user control) a version number or comment one can use to describe this particular instantiation of references

4.5.12 Jump to Work in References Command

Often while writing a document, you find a need to add a new reference to your list of references. XLingPaper provides a special command that makes this easier.

From just about any place in your document, you can invoke menu item XLingPaper / Reference (Bibliography) Related / Jump to Work in References (Bibliography) Ctrl+Shift+F11.[27] This brings up the same basic dialog you see when setting a citation element (see section 8.1) which sorts by the citename attribute of the refAuthor element, the date of the refWork element, and the refTitle element of the refWork element. In one XLingPaper document, it looks like this:

(36)

You type in the author name or you scroll down to find the work you are looking for. Select the one you want by typing enough so that it is shown in the top text box or by clicking on it. XLingPaper will remember the location of where you are working right now and then jump you to the references section of your document and will select the refWork that you indicated. In my experience, once in a while the selected work does not show in the window. You have to scroll up or down a bit before you can see it.

In the XLingPaper document used to produce example (36), if we were to choose Butler (2000), the result would be as shown in (37).

(37)

If you are indeed adding a new reference, you can still use this command to find a work that is close to where you need to add your new reference.

One other thing to keep in mind with this particular dialog is that the sort order used is a computerish one. It may well not be the order that your references will appear in, especially if you set things up to sort per a particular language as discussed in section 4.5.13.

Select the work you want to see or edit (or add a new work before or after).

After you do whatever it is you need to do in the references, you can return to where you were when you jumped to the references section. You return by using the XMLmind XML Editor's Select / Navigation / Go Back menu item command or you can click on the toolbar icon (on the far right).

4.5.13 Sorting Dynamically by Author name

It is now possible in XLingPaper to have the cited authors sorted when you produce any kind of output. The default situation is to not do this dynamic sorting - the cited authors will appear in the same order they occur in the references element.

To use sorting by author names, you must set the sortRefsAbbrsByDocumentLanguage attribute of the main lingPaper element. To do so, click anywhere in the document (except in any part of an associated publisher style sheet). In the node path bar,[53] click on lingPaper. Then use the Attributes Tool[12] to set the sortRefsAbbrsByDocumentLanguage attribute to a value of yes.

The sorting algorithm used depends on the language code of the document. The default is ‘en’ (for English). You set the language code of the document in the xml:lang attribute of the lingPaper element (see above for how to do this). Some of the known language codes to use are shown in example (38).[28]

(38)
Language codes to use for sorting
Language code Language
de German
en English
es Spanish
fr French

4.5.14 Using a Selected Bibliography

There are certain situations when you may find that you want more than just the cited references to appear. Some possible scenarios include an abstract that is to be submitted for a conference and proposals for theses and dissertations. The references in such situations are often referred to as “Selected References” or "Selected Bibliography.”

XLingPaper allows you to do this via a selectedBibliography element. It can appear immediately after a references element. It contains one or more citation elements which indicate the additional or “selected” references you want to have appear in your references. Any references cited in the document will appear just like they usually do.

Whenever you use a selectedBibliography element, the default label for the references section becomes “Selected Bibliography.” To change it to something else, use the label attribute of the selectedBibliography element.

Please note that the output will either have a “References” section or a “Selected Bibliography” section, but not both.

4.5.15 Converting a Zotero Library to XLingPaper Format

It is possible to take an existing Zotero[29] library and convert it to an XLingPaper reference file. Do the following:

  1. In Zotero, export your library using the MODS format. See your Zotero documentation on how to export the library. Remember where you save the MODS file.
  2. In XMLmind XML Editor, open an XLingPaper document in the directory where you want the converted Zotero reference file to go.
  3. Use Tools menu item / Execute Command....[38]
  4. In the dialog box that comes up, in the “Command” text box, type “Z” (it should then fill in “ZoteroMODSToXLingPaperReferences” for you).
  5. Press the Enter key or click on OK.
  6. This will bring up a file chooser that lets you navigate to where you have your exported Zotero MODS file. Select your MODS file.
  7. Click on Open or press the Enter key.

XLingPaper will produce a file called “ZoteroMODSReferences.xml” in the same directory where your XLingPaper document is and then it will load it into the XMLmind XML Editor.

Note that you will probably need to do some hand editing of the result as this conversion process is not 100% accurate (due to differences of detail used by Zotero and XLingPaper).

4.5.16 Converting an Endnote XML references file to XLingPaper Format

It is possible to take an existing Endnote[30] XML file and convert it to an XLingPaper reference file. Do the following:

  1. In Endnote, export your library using the XML format. See your Endnote documentation on how to export the library. Remember where you save the XML file.
  2. In XMLmind XML Editor, open an XLingPaper document in the directory where you want the converted Endnote reference file to go.
  3. Use Tools menu item / Execute Command....[38]
  4. In the dialog box that comes up, in the “Command” text box, type “E” (it should then fill in “EndnoteXMLToXLingPaperReferences” for you).
  5. Press the Enter key or click on OK.
  6. This will bring up a file chooser that lets you navigate to where you have your exported Endnote XML file. Select your XML file.
  7. Click on Open or press the Enter key.

XLingPaper will produce a file called “EndnoteXMLReferences.xml” in the same directory where your XLingPaper document is and then it will load it into the XMLmind XML Editor.

Note that you will probably need to do some hand editing of the result as this conversion process is not 100% accurate (due to differences of detail used by Endnote and XLingPaper).

4.5.17 Keywords

You can create a list of keywords that classify a reference work. At the end of the refWork element (or at the end of any of the work type elements), insert a keywords element. Inside of this you can have one or more keyword elements.

This is for information only. XLingPaper never outputs or processes the content of these keyword elements within a reference entry.

4.5.18 Annotated Bibliography

Sometimes you might want to create an annotated bilbliography. There are three steps to do so:

  1. In the references section:
    1. Create a set of annotated bibliography types (e.g. evaluation, purpose/scope, format, etc.)
    2. Create annotations for relevant reference works and associate each one with its annotated bibliography type.
  2. Create a document with references to the relevant work and annotation you want to include.

4.5.18.1 Annotated Bibliography Types

The set of annotated bibliography types define the kinds of annotations you have. Some possibilities include:[31]

To create annotated bibliography types, in the references section, go to the last author. Select its refAuthor element and do an Insert After command. Choose annotatedBibliographyTypes. Open it up and for each type you need, insert an annotatedBibliographyType element. Set the id to a unique value. We suggest beginning the id with “at” and use letters and numbers, but no spaces.[17] Also type in the name or description of the type.

4.5.18.2 Annotations

For each work you want to add an annotation to, select the last item in it. Do an Insert After command and choose annotations. Open it up. For each annotation, set the id to a unique value. We suggest beginning the id with “an” and use letters and numbers, but no spaces.[17] In addition, set the annotated bibliography type of this annotation. The easiest way to do that is to press the F11 key (or use XLingPaper menu item / Set Reference). Also type in the content of the annotation. XLingPaper assumes that the content will appear in a single paragraph.

4.5.18.3 The Annotated Bibliography

Now create a new XLingPaper document for the annotated bibliography or create a chapter, appendix, section or sub-section for it.

For each referenced work to be annotated, insert an annotationRef element and then press the F11 key (or use XLingPaper menu item / Set Reference). This will first show a dialog box where you select the referenced work. If this work has an annotation, it will then show a dialog box where you choose the annotation you want to appear in this context. If the referenced work does not have an annotation, there will be a message saying that this work does not have any annotations. Either choose a different work, go add annotations to the work, or leave it without an annotation if that work is not supposed to have an annotation.

As an example, suppose you add the annotationRef elements to your document as shown in example (39).

(39)

Note that only the first 50 characters of the annotation content is shown here. The full content will be in the output.

When formatted as a web page, this might come out as shown in example (40).

(40)

Booij, Geert, and Rochelle Lieber. 1993. On the Simultaneity of Morphological and Prosodic Structure. In Sharon Hargus and EllenM. Kaisse, eds. Phonetics and Phonology.

It is argued that morpheme subcategorization & phonological rules are both biplanar, in that both must occasionally cite prosodic & morphological criteria. Polish comparative & imperative allomorphy requires reference to an extrasyllabic consonant; biplanar phonological rules include the final syllable extrametricality of English adjectives, the Dutch compound stress rule, & German schwa insertion in nouns. Biplanar subcategorization, as exemplified by Yidiny nominal reduplication, analyzed as a minimal-word affix attaching simultaneously to a minimal word & a noun, is applied to a solution of a classical problem of reduplication in Tagalog; it is argued that what has been seen as a head operation is really affixation to a prosodic constituent. Biplanarity provides a natural solution to English bracketing paradoxes & permits a typological distinction between clitics & affixes: clitics have only prosodic subcategorization, whereas affix subcategorization is biplanar. 41 References. J. Hitchcock

Clements, G N. October 1985. The Problem of Transfer in Nonlinear Morphology. Cornell Working Papers in Linguistics 7(fall):-. (http://ezproxy.uta.edu/docview/85690687?accountid=7117).

Problems with the treatment of syllables & length in theories of phonological representation & morphological reduplication are examined, & a formal theory of reduplication is proposed to account for these problems. It is shown that neither the standard theory of reduplication nor prosody-based theories can account for the general problem of melodic transfer. Contrary to A. Marantz's (1982) concatenative account, the alternative theory is based on the assumption of a nonconcatenative word formation process in the sense of J. McCarthy (1981). It proposes four steps: affixation, reduplication, transfer (as opposed to copying), & sequencing. The four-step procedure is illustrated with data from Agta, Klamath (Penutian), Tagalog, & Ponapean. Problems related to rule overapplication, language-specific reduplication processes, & the involvement of higher-level prosodic units are addressed. 29 References. C. Brennan

Delilkan, Ann S. 2002. Fusion and other segmental processes in Malay: The crucial role of prosody. Doctoral dissertation. New York University. (http://ezproxy.uta.edu/docview/305549834?accountid=7117).

The variegated data relating to nasal substitution (or fusion) in Malay have long escaped unified analysis. Past analyses have sought to explain the occurrence of fusion, assuming without exception that the conditioning environment is morphological. I consider such approaches wrongheaded on two counts. I suggest the question to ask is not why fusion occurs where it does but why it does not occur elsewhere. I show, then, that the answer to this question lies unquestionably in consideration of prosody, not morphology. Crucially, I claim that the demand for feature recoverability interacts with the prosodic specifications of the language. Fusion is the combined result of licensing of the features of a potential coda segment, and an opposing pressure for dependent foot syllables to be as light as possible. By contrast, in head foot syllables, the unmarked syllable is a closed one. While seeking independent support in the language for this analysis, I find evidence that, far from demanding special treatment, fusion is more appropriately seen as a natural impulse in the language, one of many segmental changes that occur in response to head-dependent asymmetries at the word prosodic level. Within my description of the parameters of fusion, all data relevant to the process that have hitherto been cited as exceptions are, instead, predictable.

Notice that each referenced work is shown as it would be if it were in the references section and that the content of the chosen annotation element is formatted as a paragraph after it.

4.6 Abbreviations

If you wish, you can create a list of abbreviations that are used in glossing text. Just like references and citations, the idea here is that while the list of abbreviations can be large, XLingPaper will only show those that are actually used in glossing somewhere within the document. You can thus maintain a file that is just the list of abbreviations (and their definitions), include it in your document, and then, while glossing in an example, make a reference to an abbreviation in the list. Besides only including abbreviations actually used somewhere in the document, XLingPaper will also create a hyperlink between the gloss abbreviation in the example and the actual abbreviation in the list of abbreviations. Of course, the list will also include the definition of the abbreviation.

This master list of abbreviations can also be in multiple glossing languages. So if you typically write your papers in either English or Spanish, say, you can maintain the list of abbreviations in both languages. For a given paper, you indicate which language to use by setting the abbreviationlang attribute of the main lingPaper element. To find this attribute, click on lingPaper in the node path bar,[53] and then use the Attributes Tool[12] to find and edit the abbreviationlang attribute. You will need to key in the id of one of the language elements in your document (e.g. en for English, es for Spanish, or fr for French). If you do not set this attribute, then the first abbreviation item found will be used. Also, if you inadvertently do not have an abbreviation for the language you selected, but you do have one for another language, then the first abbreviation found will be used, too. See section 4.6.1.1 for more on creating master lists with two or more languages. Also see section 4.6.4 for information on sorting the output list of abbreviations.

One makes a reference to an abbreviation by inserting an abbrRef element and then setting its reference to one of the abbreviations in the master list. The easiest way to do this is described in section 4.6.2.

Further, you can choose where you want this list of abbreviations to appear. While one keys the list of abbreviations in the abbreviations element under the backMatter element, you can elect to have the list appear within any of the following elements:

To get the list of abbreviations to appear, one inserts an abbreviationsShownHere element at the appropriate place in one of these elements. For all but in an endnote, XLingPaper will create a table showing the abbreviations that have been used. For an endnote, XLingPaper will show the abbreviations that have been used in a comma separated list.

The following sections explain how all of this can be done in more detail.

4.6.1 The Master List

The easiest way to start a master list of abbreviations is to use one of the two pre-packaged ones. Both packages use the list of abbreviations found at http://www.eva.mpg.de/lingua/resources/glossing-rules.php on October 1, 2008. The only difference between them is whether the abbreviations are in all capital letters or all lower case letters. If you plan to use small caps for your abbreviations, then use the one with lower case letters. To start such a list, do this:

  1. Click on the New toolbar icon or click on File menu item / New...
  2. Scroll down until you see the XLingPaper section.
  3. Click on one of the two “Abbreviations...” items.

You will then get something like this:

(41)

Notice that each abbreviation has an ID that begins with the letter “v”,[16] then comes the abbreviation, an equals sign, and the definition. You can insert new abbreviations by clicking on an abbreviation element (e.g. by clicking on the ID) and using the usual insert before or insert after commands.[18] Note that you need to maintain the alphabetical order by hand. That is, the list of abbreviations will be shown in the order you have them here.

If you want to have your abbreviations appear as small caps, then you need to do three things:

  1. Make sure that every abbreviation is in lower case (please recall that small caps only work on lower case letters; if you apply small caps to an upper case letter, it remains unchanged). If you need a portion of the abbreviation to remain lower case (and not be shown in small caps), you can insert an object element and put that portion in it. Set the type attribute to a type element which uses a normal font.
  2. The next step depends on whether or not you have a true small caps font.
  3. Finally, set the fontissmallcaps attribute of the abbreviations element to yes. This will enable the easier method for setting abbrRef elements described below in section 4.6.2 to be smart enough to recognize abbreviations even when you type them using upper-case letters (perhaps because you are used to using upper-case letters in other editing programs).

You can save the file to a location that is convenient for you. Next, click on the word “Endnotes” in the back-matter section, do an insert-before operation,[18] and choose “abbreviations". Then follow the instructions in 11.8, (except use “abbreviations” and your abbreviations master file instead of the references ones mentioned there).

Another thing that you may need to do is to add a language element whose ID is “en” (for English). If you write the prose of your documents in some other language such as Spanish or French, then you will need to also add alanguage element for each such language.

Finally, there are some cases where you need to ignore the normal font family for a (small) subset of abbreviations. To do so, set the ignoreabbreviationsfontfamily attribute on these abbreviation elements to yes. The default value is no.

4.6.1.1 Master List in Multiple Languages

If you are making a master list that contains two or more languages, you will need to keep a couple of things in mind.

First, when a given abbreviation is spelled differently in the various languages, you should insert separate abbreviation elements for each one and place them in the correct alphabetical order in the master list. For example, you could have one (English) abbreviation for FOC (focus) and one (Spanish) abbreviation for ENF (énfasis o enfático):

(42)

The lang attribute of the abbrInLang element of the vFOC abbreviation element will need to be en for English and the lang attribute of the abbrInLang element of the vENF abbreviation element will need to be es for Spanish.[32] Naturally, when you refer to an abbreviation for focus in your document, you'll want to use 'enf' in Spanish and 'foc' in English. Then, when you mark a given document's abbreviationlang attribute (in the lingPaper element) to be en for English, XLingPaper will use the English abbreviation for those abbreviations with two or more abbrInLang elements. If you mark the document to be es for Spanish, then XLingPaper will use the Spanish abbrInLang information. For those abbreviations that have only one abbrInLang element, that abbrInLang information will be used.

Second, when both languages share the same abbreviation, but the definitions are different (since they are in different languages), you will need to add a new abbrInLang element for the new language. For example, suppose you have an abbreviation for “article” in English and want to add a similar abbreviation for “artículo” in Spanish. Here is a way to do this:

  1. Click in the abbreviation you want to add a new language abbreviation for. For example:
  2. In the node path bar,[53] click on abbrInLang:
  3. Do an Insert After command and choose the one and only option: abbrInLang.
  4. If you immediately press the F11 key on your keyboard (or use menu items XLingPaper / Set Reference F11), a dialog box will pop up that lists all the language identifiers in your paper. Choose the one that is appropriate for this second language.
  5. Now type in the abbreviation and its meaning. It might look like this:
  6. Repeat steps 1-5 for each additional abbreviation.

4.6.2 References to an Abbreviation

There are two ways to create references to abbreviations: by hand and automated.

4.6.2.1 Manual Method

The first way to create references to abbreviations is to do it by hand. Perform an insert operation[18] and select abbrRef. Then press the F11 key to bring up the chooser for abbreviations. (An easier way is to press the Shift and F11 keys together.) In one document it looked like this:

(43)

You then type the abbreviation you need or scroll down to find it. In the example, the C = completive was the correct choice. The result looked like this:

(44)

4.6.2.2 Automated Method

The second way to create references to abbreviations is probably much more convenient. When you are entering abbreviations in a gloss element,[33] there is a potentially easier way to insert these abbrRef elements. Key the gloss material, including any abbreviations. While the cursor is within the gloss element, use the “Convert any abbreviations in gloss to abbrRefs” command (by using menu item XLingPaper / Convert any abbreviations in gloss to abbrRefs Ctrl+Shift+F10).[34] This will automatically convert any abbreviations to their respective abbrRef element. Example (45) indicates the punctuation symbols it uses in the content of the gloss element to separate potential abbreviation labels.[35] (It also uses the space and non-breaking space characters.) Note that the abbreviation labels need to be identical to what they are in the abbreviation element, including lower or upper case (unless you are using smallcaps for your abbreviations[52] in which case either lower case or upper case will do). There is an exception to this: if you have abbreviations for person using 1, 2, or 3 to indicate the person, then it will also find combinations such as 3sg or 2pl (as long as you also have sg and pl as abbreviations).[36]

(45)
Symbol Name
- Hyphen
= Equals sign
~ Tilde
< Left angle bracket
> Right angle bracket
. Period
_ Underscore
; Semi-colon
: Colon
\ Backslash
[ Left square bracket
] Right square bracket
( Left parenthesis
) Right parenthesis

Please note that since this method uses the punctuation symbols listed in example (45) to separate potential abbreviation labels, if you have any abbreviations which contain any of these symbols, this method will not find those abbreviations. That is, this method (and from what I can tell, the Leipzig glossing conventions) assume that your list of abbreviations will not have combinations like this. Rather, you list just the component pieces. For example, rather than having a single abbreviation entry like “dat.pl”, you will have two entries: one for “dat” and one for “pl”. You can, of course, still have a combination abbreviation, but you will need to create the abbrRef element for it by hand (as mentioned in section 4.6.2.1). You cannot use this short-cut method.[37]

In addition, this method cannot recognize any word or abbreviation that contains an apostrophe character ( ' ). If you have an abbreviation that uses an apostrophe, you will need to create the abbrRef element by hand.

Further, note that if your master list of abbreviations include abbreviations for more than one language and if you have set the abbreviationlang attribute of the lingPaper element to a particular language code (see section 4.6.1.1), then this easier method will only find abbreviations which are overtly marked to be for that language code.

In addition, please be aware that it is important to make use of the wrd elements when using this short-cut method with interlinear examples (see section 5.3.1.2). If you just use the plain text approach as described in section 5.3.1.1, the example will probably not line up properly.

For example, one XLingPaper document included this:

(46)

which formatted like this in a web page:

(47)
(9)
a.
W-eey men gy-on x-kwiib ngbaan.
C-take 3 P-three POS-rifle thief
‘He carried the thieves’ three rifles.’
b.
W-eey men tson x-kwiib ngbaan.
C-take 3 three POS-rifle thief
‘He carried three of the thieves’ rifles.’

and like this in a PDF file:

(48)

In (48), the abbreviated items are actually hyperlinks. They just are not underlined.

4.6.2.2.1 Automated Method in a Selection

Sometimes you may find that you want to convert many abbreviations within a number of gloss elements in a portion of a document.

If you find that you need to do this, follow these steps while running the XMLmind XML Editor.

  1. Open up the XLingPaper document in which you want to convert abbreviations in many gloss elements in the XMLmind XML Editor.
  2. Click in the top-most element containing all the material you want to convert. For example, if it is within an interlinear text, click on the interlinear-text element (either in the UI or in the node path bar[53]). If you want to convert every gloss in the entire document, click on the lingPaper element in the node path bar.
  3. Use menu items Tools / Execute Command....[38] This opens up the Execute Command dialog box. It will look something like this:
  4. In the Command box, type ConvertEveryGlossAbbreviationToAbbrRefInSelectionCmd and click on the OK button.

This command will find every gloss element in the selected portion and convert any abbreviations into their respective abbrRef elements.

4.6.3 Showing the List of Abbreviations

As mentioned above, one can have the list of abbreviations appear in various places.

Please note that unless you overtly tell XLingPaper to show the list of abbreviations, no such list will appear in the formatted output.

We'll illustrate how to show the list of abbreviations in an endnote first and then in a glossary.

To show the list in an endnote, first insert the endnote element (see section 4.4 for how to do this). Type any text you want and then insert the special abbreviationsShownHere element. This is how it looked in one XLingPaper paper:

(49)

In this paper, it was formatted as follows in the web page output:

(50)

Turning now to showing the abbreviations in a glossary, one needs to insert a glossary element in the back matter. One does this by clicking on the abbreviations element in the back matter area and then doing an insert before operation. The result might look something like this:

(51)

One can then open up the glossary element and type any prefatory material one might want (of course, one does not have to type anything). One then inserts the special abbreviationsShownHere element. Note that since this will be formatted as a table, it needs to go after or before a paragraph (p element); it will not work to put it within a paragraph.

One should also change the label attribute of the glossary element to something like “Abbreviations” so the title of this section does not say “Glossary.” It might look like this:

(52)

When formatted in a web page, it might look like this:

(53)

Abbreviations

The following table gives the abbreviations used in this paper.

1EX = first person exclusive
2 = second person
3 = third person general
C = completive
F = future
H = habitual
LOC = locative
P = potential
POS = possessive prefix used on alienably possessed nouns
PR = progressive

When the list of abbreviations is formatted as a table, you can control the width of the abbreviation column, the equals sign column, and/or the definition column via attributes on the abbreviationsShownHere element. See example (54).

(54)
Attribute Possible Values Meaning
abbrWidth (user control) Specifies the width of the column containing the abbreviations. You can use inches (in), millimeters (mm), centimeters (cm), points (pt) or percentages (%). There should be no space between the number and the unit of measure abbreviation.
definitionWidth (user control) Specifies the width of the column containing the abbreviation definitions. You can use inches (in), millimeters (mm), centimeters (cm), points (pt) or percentages (%). There should be no space between the number and the unit of measure abbreviation.
equalsWidth (user control) Specifies the width of the column of the equals sign. You can use inches (in), millimeters (mm), centimeters (cm), points (pt) or percentages (%). There should be no space between the number and the unit of measure abbreviation.

4.6.4 Sorting the List of Abbreviations

If your document is not written in English or if your master list of abbreviations contains abbreviations in multiple languages, you may well want to have the list of abbreviations that XLingPaper outputs be sorted by a particular language. Note that the default behavior is for XLingPaper to not do any special sorting: the list of abbreviations will occur in the same order they are given within the abbreviations element.

To get XLingPaper to sort the list of abbreviations in the output, you must set the sortRefsAbbrsByDocumentLanguage attribute of the main lingPaper element. To do so, click anywhere in the document (except in any part of an associated publisher style sheet). In the node path bar,[53] click on lingPaper. Then use the Attributes Tool[12] to set the sortRefsAbbrsByDocumentLanguage attribute to a value of yes.

The sorting algorithm used depends on the language code you have indicated, if any. The default is ‘en’ (for English). If you have set the abbreviationlang attribute of the main lingPaper element of the document, then XLingPaper will use that code. If the abbreviationlang attribute is not set, XLingPaper will use the xml:lang attribute of the lingPaper element, if it is set. Some of the known language codes to use are shown in example (38).

4.6.5 Producing a Webpage of the Master List of Abbreviations for Reference

Sometimes, you may want to see a list of all the abbreviations you have defined. There is a special command you can use to produce first a list of the abbreviations sorted by the abbreviation and then a list of the abbreviations sorted by definition. The two lists are combined into one web page output file. This web page will be displayed in your web browser.

To do so, follow these steps:

  1. In XMLmind XML Editor, open your XLingPaper document.
  2. Use Tools menu item / Execute Command....[38]
  3. In the dialog box that comes up, in the “Command” text box, type “Ab” (it should then fill in “AbbreviationListAsWebPage” for you).
  4. Press the Enter key or click on OK.
  5. This will then create a file called “abbreviations.htm” in the same directory where your main document is located. XLingPaper will also open this file in your web browser program.

4.7 Glossary Terms

If you wish, you can create a list of glossary terms used throughout your document. Just like references and citations, the idea here is that while the list of glossary terms can be large, XLingPaper will only show those that are actually used somewhere within the document. You can thus maintain a file that is just the list of glossary terms (and their definitions), include it in your document, and then, while writing, make a reference to a glossary term in the list. Besides only including glossary terms actually used somewhere in the document, XLingPaper will also create a hyperlink between the glossary term in the text and the actual glossary term in the list of glossary terms. Of course, the list will also include the definition of the glossary term.

This master list of glossary terms can also be in multiple languages. So if you typically write your papers in either English or Spanish, say, you can maintain the list of glossary terms in both languages. For a given paper, you indicate which language to use by setting the glossarytermlang attribute of the main lingPaper element. To find this attribute, click on lingPaper in the node path bar,[53] and then use the Attributes Tool[12] to find and edit the glossarytermlang attribute. You will need to key in the id of one of the language elements in your document (e.g. en for English, es for Spanish, or fr for French). If you do not set this attribute, then the first glossary term item found will be used. Also, if you inadvertently do not have a glossary term for the language you selected, but you do have one for another language, then the first glossary term found will be used, too. See section 4.7.1.1 for more on creating master lists with two or more languages. Also see section 4.7.4 for information on sorting the output list of glossary terms.

One makes a reference to a glossary term by inserting a glossaryTermRef element and then setting its reference to one of the glossary terms in the master list.

Further, you can choose where you want this list of glossary terms to appear. While one keys the list of glossary terms in the glossaryTerms element under the backMatter element, you can elect to have the table of glossary terms appear within any of the following elements:

To get the list of glossary terms to appear, one inserts a glossaryTermsShownHere element at the appropriate place in one of these elements. XLingPaper will create a table showing the glossary terms that have been used at that spot.

The following sections explain how all of this can be done in more detail.

4.7.1 The Master List

To create a master list of glossary terms, click on the word “Endnotes” in the back-matter section, do an insert-before operation,[18] and choose “glossaryTerms(glossaryTerms)". This will produce what is shown in (55):

(55)

Open it up (by clicking on the plus sign inside the small box). This gives you the following:

(56)

Like abbreviations, there are three parts: a unique identifier (which goes in the pink part and by convention begins with “gt”[16]), the glossary term itself (which can be more than one word if needed), and its definition. Note that within a definition you can insert references to other glossary terms if you so choose. See section 4.7.2 for how to do that.

Here is a screen shot of one short set of glossary terms:

(57)

Another thing that you may need to do is to add a language element whose ID is “en” (for English). If you write the prose of your documents in some other language such as Spanish or French, then you will need to also add alanguage element for each such language.

You can control how glossary terms are rendered in your document by setting the format-related attributes on the glossaryTerms element.

4.7.1.1 Master List in Multiple Languages

If you are making a master list that contains two or more languages, you will need to keep a couple of things in mind.

First, when a given glossary term is spelled differently in the various languages, you should insert separate glossaryTerm elements for each one and place them in the correct alphabetical order in the master list. For example, you could have one (English) glossary term for phrase and one (Spanish) glossary term for frase:

(58)

The lang attribute of the glossaryTermInLang element of the gtPhrase glossaryTerm element will need to be en for English and the lang attribute of the glossaryTermInLang element of the gtFrase glossaryTerm element will need to be es for Spanish.[39] Naturally, when you refer to a glossary term for phrase in your document, you'll want to use 'frase' in Spanish and 'phrase' in English. Then, when you mark a given document's glossarytermlang attribute (in the lingPaper element) to be en for English, XLingPaper will use the English glossary term for those glossary terms with two or more glossaryTermInLang elements. If you mark the document to be es for Spanish, then XLingPaper will use the Spanish glossaryTermInLang information. For those glossary terms that have only one glossaryTermInLang element, that glossaryTermInLang information will be used.

Second, when both languages share the same glossary term, but the definitions are different (since they are in different languages), you will need to add a new glossaryTermInLang element for the new language and key its term and definition in the new language. This probably rarely happens.

4.7.2 References to a glossary term

To create references to glossary terms, perform an insert operation[18] and select glossaryTermRef. Then press the F11 key to bring up the chooser for glossary terms. (An easier way is to press the Shift and F11 keys together.) In one document it looked like this:

(59)

You then type the glossary term you need or scroll down to find it. In the example, the “consonant = Sound that impedes the air flow partially or totally when pronounced.” was the correct choice. The result looked like this:

(60)

Notice that we actually need the word “consonant” to be plural in the context. This illustrates the need that, unlike abbreviations, glossary terms often need to be inflected and/or capitalized in the context in which they appear. Each glossaryTermRef element has a capitalize attribute you can set to capitalize it. In order to inflect it, however, you will need to type in the inflected form within the pink hashed box. In this case, we need “consonants” and after typing that in the hashed box, it looks like this:

(61)

As soon as we leave the glossaryTermRef element (by using the Insert key, e.g.), it becomes this:

(62)

4.7.3 Showing the List of glossary terms

As mentioned above, one can have the list of glossary terms appear in various places.

Please note that unless you overtly tell XLingPaper to show the list of glossary terms, no such list will appear in the formatted output.

We'll illustrate how to show the list of glossary terms in a glossary.

To show the list in a glossary, one needs to insert a glossary element in the back matter. One does this by clicking on the glossaryTerms element in the back matter area and then doing an insert before operation. (Note that if you have an abbreviations element, then you will need to click on it and then do an insert before operation.) The result might look something like this:

(63)

One can then open up the glossary element and type any prefatory material one might want (of course, one does not have to type anything). One then inserts either the special glossaryTermsShownHere element (to show the list as a table) or the special glossaryTermsShownHereAsDefinitionList element (to show the list as a series of hanging indent paragraphs). Note that since the glossary terms will be formatted either as a table or as a sequence of paragraphs, it needs to go after or before a paragraph (p element); it will not work to put it within a paragraph.

One can also change the label attribute of the glossary element if “Glossary” is not the correct title you need. It might look like this:

(64)

When formatted in a web page, it might look like this:

(65)

Glossary

The following lists the glossary terms used in this document.

clause = Utterance that consists of a verb and its corresponding subject.
conjunction = word that unites phrases or clauses.
consonant = Sound that impedes the air flow partially or totally when pronounced.
event = A clause that indicates an action.
morpheme = Shortest part of a word that has significance.
noun = word that refers to an entity.
phonological process = Systematic modification of a group of vowels or consonants in specific contexts.
phrase = Part of a clause that consists of two or more words, one of which is the central word; for example, a noun is the central word in a nominal phrase.
state = clause that describes the final result of an action.
statement = An act of human speech that has significance, whether short or long.
verb = Word that describes an event or state.
vowel = Sound that is emitted without obstructing the air flow.
word = One or more morphemes that together have significance in a language.

When the list of glossary terms is formatted as a table, you can control the width of the glossary term column, the equals sign column, and/or the definition column via attributes on the glossaryTermsShownHere element. See example (66).

(66)
Attribute Possible Values Meaning
glossaryTermWidth (user control) Specifies the width of the column containing the glossary terms. You can use inches (in), millimeters (mm), centimeters (cm), points (pt) or percentages (%). There should be no space between the number and the unit of measure abbreviation.
definitionWidth (user control) Specifies the width of the column containing the glossary term definitions. You can use inches (in), millimeters (mm), centimeters (cm), points (pt) or percentages (%). There should be no space between the number and the unit of measure abbreviation.
equalsWidth (user control) Specifies the width of the column of the equals sign. You can use inches (in), millimeters (mm), centimeters (cm), points (pt) or percentages (%). There should be no space between the number and the unit of measure abbreviation.

4.7.4 Sorting the List of glossary terms

If your document is not written in English or if your master list of glossary terms contains glossary terms in multiple languages, you may well want to have the list of glossary terms that XLingPaper outputs be sorted by a particular language. Note that the default behavior is for XLingPaper to not do any special sorting: the list of glossary terms will occur in the same order they are given within the glossaryTerms element.

To get XLingPaper to sort the list of glossary terms in the output, you must set the sortRefsAbbrsByDocumentLanguage attribute of the main lingPaper element. To do so, click anywhere in the document (except in any part of an associated publisher style sheet). In the node path bar,[53] click on lingPaper. Then use the Attributes Tool[12] to set the sortRefsAbbrsByDocumentLanguage attribute to a value of yes.

The sorting algorithm used depends on the language code you have indicated, if any. The default is ‘en’ (for English). If you have set the glossarytermlang attribute of the main lingPaper element of the document, then XLingPaper will use that code. If the glossarytermlang attribute is not set, XLingPaper will use the xml:lang attribute of the lingPaper element, if it is set. Some of the known language codes to use are shown in example (38).

4.8 Author Contact Information

See section 2.4 for this. If you insert an authorContactInfo element in the back matter, then the contact information will appear in the back matter of your document.

4.9 Keywords

The keywordsShownHere element may be included to provide a list of keywords for the document. It is also optional. When this element is present, it will show the list of keywords given in the publishingInfo element (see section 13.3). Use the label attribute to change the default “Keywords: ” label which will show on a line by itself mmediately before the list of keywords (each keyword will be separated by a comma and a space.[40]) If you want the list of keywords to appear in the table of contents, set the showincontents attribute to yes.

4.10 Indexes

One may add one or more indexes to an XLingPaper document. There are four basic kinds of indexes allowed:

That is, one normally either has a single, common index or one has two to three specialized indexes.

To get an idea of what is involved in producing an index with XLingPaper, consider the following portion of an index taken from the output of an XLingPaper document:

(67)

Notice several things:

This implies that building an index in an XLingPaper document involves three steps:

  1. Creating the set of terms to be included in the index, including their relative hierarchical structure and any cross-referencing. This set of terms is what will show in the index section(s) in the output.
  2. Marking the document body for indexed items (i.e. tagging the places in the text that correspond to one of the index terms in the set of terms). If the indexed item covers a range of the document, then the beginning and ending points need to be marked.
  3. Adding one or more index elements to the back matter.

The following sections outline each of these steps in more detail.

4.10.1 Index Terms

The set of index terms is the potential content of the index(es). You may want to nest certain terms under other terms, if they are related. With XLingPaper, there is no enforced limit to the depth of nesting. In addition, you may want to include terms which then refer to another term elsewhere in the index. This, of course, is because a reader may look under some similar topic than the main one you have chosen.

There are three main elements used in describing the set of index terms:

  1. indexTerms: this contains a set of indexTerm elements.
  2. indexTerm: this is a single index term. Each indexTerm element contains one or more term elements and may also end with an indexTerms element (this is how one nests index terms).
  3. term: this is the actual description of the term. It can be associated with a given language (so you can potentially maintain one set of index terms that can be output in, say, English or Spanish or French). It also may contain any sequence of “embedded” elements.[24]

As implied in the last point, it is possible to create some kind of a master set of index terms and then use that master set in more than one XLingPaper document.

The top-level indexTerms element goes as one of the last top-level elements in the file. In the XMLmind XML Editor, this means you should select the types element at the bottom as shown in (68) (if you have already inserted “Framed Types” as per section 14, then select "Framed Types”).

(68)

You can then right-click and choose Insert After... and then type indexTerms. The result will look like this:

(69)

You may have more than one of them (in order to include the master set and any document-specific ones). XLingPaper will sort them appropriately when producing the output.[41]

XLingPaper will only output those index terms which are actually tagged within the document. So one may define more index terms than are actually used in a given document. This is similar to how XLingPaper handles the references section.

The indexTerms elements have one attribute: version. It is used to indicate the version of the set of index terms. For example, one might create one set of terms and call them Master while another might be Syntax or Morphology.

When you open up the indexTerms element, it looks like this:

(70)

This shows two indexTerm elements. Only the id attribute is required. It is shown as . Give it a unique id attribute value (please use just a-z/A-Z letters and numbers; in particular, using an underscore may cause the page number to not appear in the default PDF output).[16] Then type the name of the term.

An indexTerm element may have up to three attributes as shown in (71).

(71)
Attribute Possible Values Meaning
kind name, language, or subject (the default is subject) This indicates the kind of index. The name value is used for an index of names (for authors, e.g.). The language value is used for an index of languages (possibly including language families). The subject value is for a subject index.
id (user control) An ID to uniquely identify this index term.[16]
see (user control) Reference to an ID used in the id attribute of another indexTerm element. This is how to refer to another index term.

A term element has an optional lang attribute which refers to a language element. This is a way to tag the term as being for a particular language (e.g. English or Spanish or French). The index element also has a lang attribute one can use to indicate which term elements to use.

As mentioned in section 4.10, you can nest sub-levels of index terms within a term. Suppose you have something like what is shown in (72).

(72)

You can nest a sub-level of index terms under "Category" by clicking on “term” in the node path bar, right-clicking and selecting Insert After..., and then typing indexTerms. You'll get something like this:

(73)

You can now fill in the terms, add additional terms, etc.

If you have an index for a language other than English or if your index contains terms in multiple languages, then you should also insert a seeDefinitions element as the first element within the indexTerms element. The seeDefinitions element contains one or more definitions of how the ‘See’ and ‘See also’ words should appear for a given language. For example, consider the following possibility.

(74)

This has definitions for English (language code ‘en’) and Spanish (language code ‘es’). There are lines for saying how to represent the ‘See’ case as well as the ‘See also` case. It is possible to type in words before the link as well as words after the link. For example, the ‘See also’ case for Spanish in this example uses the word ‘Véase’ before the link and the word ‘también’ after the link.[42]

4.10.2 Tagging the Document for Indexed Items

After setting up the set of index terms, the second step in producing an index is to tag the places in the document that correspond to index terms. Recall from example (67) that there are two main kinds of index references: singleton and a range. You use the indexedItem element to tag a singleton reference. For a range, you use two elements: indexedRangeBegin to mark the beginning of the range and indexedRangeEnd to mark the end of the range.

To mark a singleton index item, put the cursor at the place in the text where the indexed item should go, right-click, select Insert..., and type indexedItem. You will get something like this: . If you immediately press the F11 key on your keyboard (or click on the black drop-down arrow or use menu items XLingPaper / Set Reference F11 or if you right-click on it and choose Set Reference), a dialog box will pop up that lists all the index terms in sorted order. Select the index term that is appropriate for this place in the document. You have now tagged this point in the document with the index term. XLingPaper will create a hyperlink to this location from the index term in the index.

To mark a range, put the cursor at the place in the text where the indexed item should go, right-click, select Insert..., and type indexedRangeBegin. You will get something like this: . If you immediately press the F11 key on your keyboard (or click on the black drop-down arrow or use menu items XLingPaper / Set Reference F11 or if you right-click on it and choose Set Reference), a dialog box will pop up that lists all the index terms in sorted order. Select the appropriate one. This will set the index term. Then create a unique name for this range as its id attribute (where the little b is). You can then refer to it when you add the end range indexed item, which is the next step in marking a range.

To mark the end of the range, put the cursor at the ending position. Then right-click, select Insert..., and type indexedRangeEnd. You will get something like this: . If you immediately press the F11 key on your keyboard (or click on the black drop-down arrow or use menu items XLingPaper / Set Reference F11 or if you right-click on it and choose Set Reference), a dialog box will pop up that lists all the id attributes for the indexedRangeBegin elements in your document. Select the one you want.

When you set the begin and end range indexed items this way, XLingPaper will create a hyperlink to both the begin location and the end location for the index term referred to in the term attribute of the indexRangeBegin element.[43]

Please note that you should not put an indexedRangeBegin (or indexedRangeEnd) element in a secTitle element. Doing so may cause the default PDF to not have the correct page number in the index output. Also there will be a warning message about this in the Validity tool. Rather than putting these elements in the secTitle element, put the indexedRangeBegin element at the beginning of the first paragraph of the chapter or section or appendix that the secTitle element is a part of.

The indexedItem element has the attributes shown in (75). Only the term attribute is required.

(75)
Attribute Possible Values Meaning
main yes or no (the default is no) This indicates if the indexed item is the main instance of the index term in the document.
term (user control) Reference to an ID used in the id attribute of an indexTerm element.

The indexRangeBegin element has the attributes shown in (76). Both the id and term attributes are required.

(76)
Attribute Possible Values Meaning
id (user control) An ID to uniquely identify this indexRangeBegin element.[16]
main yes or no (the default is no) This indicates if the indexed item is the main instance of the index term in the document.
term (user control) Reference to an ID used in the id attribute of an indexTerm element.

The indexRangeEnd element has one required attribute: begin. It refers to an id attribute of its matching indexRangeBegin element.

Whenever the main attribute of either an indexedItem or an indexRangeBegin element is set to yes, the hyperlink created in the output will be in bold. The exception to this is if there is only one instance in the entire document of either an indexedItem or an indexRangeBegin element that refers to this index term. In such a case, there will only be one hyperlink associated with the term, so it will not be output in bold.

4.10.2.1 Hiding the Index Tags

You may find that after you have tagged a document for an index, that all of those index tags “get in the way” of being able to read the content of the document. This may be especially the case when you go to revise a previously indexed document. You may well wish for some way to hide the indexedItem, indexedRangeBegin, and indexedRangeEnd elements until you are done revising.

To hide these index tagging elements, perform these steps:

(77)
  1. Click on lingPaper in the node path bar.[53] This will select the entire document.
  2. In the Attributes tool,[12] set the showindexeditemsineditor attribute to no.

As soon as you have changed this attribute, the XMLmind XML Editor will in effect reload the document, this time not showing any of the indexedItem, indexedRangeBegin, and indexedRangeEnd elements. Those elements will still be there. You just will not see them.

When you want to see these elements again, do the steps in (77), only instead of setting the showindexeditemsineditor attribute to no, set it to yes.

Be aware that if you have a large document, it may take the XMLmind XML Editor many seconds to make this display change. It will also collapse any opened chapter or section elements, so you will have to reopen them again.

4.10.3 The index Element

The third step in producing an index is to create one or more index elements as the last element within the backMatter element. If you have a references element, you can click on it, right-click, select Insert After..., and type index.

It is possible to have some prefatory text before the actual index material. This is so you could include some explanations if so desired. Such prefatory material is not required. If you wish to include some beginning text, you use a sequence of any "chunk" elements.[14]

The index element has three optional attributes as shown in (78).

(78)
Attribute Possible Values Meaning
kind common, name, language, or subject (the default is common) This indicates the kind of index. The common value is used for a single, common index. The name value is used for an index of names (for authors, e.g.). The language value is used for an index of languages (possibly including language families). The subject value is for a subject index.
label (user control) A title to use for this index instead of the default title.
lang (user control) Reference to an ID used in the id attribute of a language element.

The kind attribute indicates one of four kinds of indexes. If you wish to have only one, common, index for your paper, then set the value to common. All index terms referred to in the document will then be included in this one index, regardless of the values of the kind attribute of any indexTerm elements. This allows you to have a master set of index terms which are tagged according to kind, but still have them all appear when you want a common index.

If you wish to have two or three indexes, then create two or three separate index elements and set the kind attribute to the appropriate value for each index. XLingPaper will produce a separate index for each one. Only those index terms which match the kind of the index will be included in each index.

The table in example (79) shows the default titles that XLingPaper will use.

(79)
When kind is set to: The default title is
common Index
name Name Index
language Language Index
subject Subject Index

If you wish to use some other title, set the label attribute of the index element to the title you want to use.

Finally, the lang attribute may be used to indicate which of several term elements to use for indexTerm elements (see 4.10.1). The default is to use the first term element.

4.10.4 Sorting the Index Terms on Output

If your document is not written in English or if your index contains terms in multiple languages, you may well want to have the index that XLingPaper outputs be sorted by a particular language.

The sorting algorithm used depends on the language code you have indicated, if any. The default is ‘en’ (for English). If you have set the indexlang attribute of the main lingPaper element of the document, then XLingPaper will use that code. Some of the known language codes to use are shown in example (38).

4.11 Back Matter Example

This section provides several examples of back matter items. First to be shown are appendices. If one keys the following

(80)

Then it should come out looking like what is shown in example (81) (assuming that the referenced example is the fourth example in the paper).

(81)

A First Appendix

This is an appendix. It has all possible number of section nesting.

A.1 First appendix section

One can also add sections to appendices. They will be numbered like sections, except using initial capital letters.

A.1.1 Subsection in an appendix

One can have subsections, too. They may be nested up to six levels, just like regular sections.

A.1.1.1 Sub-sub-section of an appendix

A.1.1.1.1 Fourth level section in appendix

A.1.1.1.1.1 Fifth level section in appendix
A.1.1.1.1.1.1 Sixth level section in appendix

B Second Appendix

This is the beginning of the second appendix. And it has a reference to example (4).

B.1 Second appendix

This is an example of a section within an appendix.

Next are references. If one keys references something like what is shown partially in example (82) and if one cites them in the text somewhere, then the results might look like what is shown in example (83).

(82)
(83)

References

Akinlabi, Akinbiyi. 1984. "Tonal underspecification and Yoruba tone." University of Ibadan ms.

Alfonso, P., K. Honda, T. Baer, and K. Harris. 1982. "Multi-channel study of tongue EMG during vowel production." Paper presented at the 103rd Meeting of the Acoustical Society of America.

Antworth, Evan. 1995. "User's Guide to PC-KIMMO Version 2." SIL International, Dallas, Texas (http://www.sil.org/pckimmo/v2/doc/guide.html).

Dixon, Robert. 1977a. "Some phonological rules in Yidiny." Linguistic Inquiry 8:1-34.

Dixon, Robert. 1977b. "Something made up to test year-letter." Linguistic Inquiry 8:185-86.

Dixon, Robert. 1988. A grammar of Boumaa Fijian. University of Chicago Press. Chicago.

Itô, Junko. 1986. Syllable theory in prosodic phonology. Amherst: University of Massachusetts Ph.D. dissertation. Published by Garland Press, New York, 1988.

Itô, Junko. 1989. "A prosodic theory of epenthesis." Natural Language and Linguistic Theory 7:217-59.

Itô, Junko. 1990. "Prosodic minimality in Japanese." In Michael Ziolkowski, Manuela Noske, and Karen Deaton, eds. CLS 26-II: Papers from the parasession on the syllable in phonetics and phonology 26:213-39. Chicago Linguistics Society, University of Chicago, Chicago.

Selkirk, E.O. 1984. "On the major class features and syllable theory." In M. Aronoff and R. Oehrle, eds. Language Sound Structure MIT Press, Cambridge.

Willett, Elizabeth. 1981. Word Shortening in Southeastern Tepehuan. Grand Forks, N.D.: University of North Dakota M.A. thesis.

Notice what happens here for Dixon. While there are actually three works for Dixon for 1977, only two are actually cited in the paper: the second and third ones. Notice how XLingPaper automatically assigns the correct letter for these as they occur in this paper.

5 Examples

XLingPaper has several types of examples. All types will be automatically numbered. If you are going to refer to an example, then you will need to specify the num attribute of the example element tag and also give it a unique value.

The various types are illustrated in the following sections. Each section shows what to type and how it would appear. Recall from section 1.2.3 that you click in the text and then you can right-click and choose Insert Before... or Insert After..., depending on whether you want the example to appear before or after where you are. Having done this, when you start to type example, you will see various possibilities of examples show up in the Edit tool, as indicated by the large black arrow.

(84)

Notice that most of these are in italics. That is because they are “templates” which define a set of elements appropriate to a given type of example. The non-italic “example” one produces a table. Whenever you select one of these example templates, you will see the appropriate elements for that variety.

In each case, you will see . This indicates that this is an example. The little x is where you should type in a unique name for this example so you can refer to it elsewhere in your paper.[16] You will actually see this name when you create any references to examples (see section 5.9). The idea is to create a unique name that relates to the example itself. It could be a short description of what the example is illustrating or some key reminder of the content. I strongly recommend that you use letters and numbers, but no spaces.[17] You can use case to distinguish words. Here are some examples taken from one of my XLingPaper documents:

(85)
xEpenthesis
xTagalogInfixation
xNahuatlNominalPossSingular
xNahuatlPossessedSingularNounTemplate
xNahuatlNominalPossPlural
xNahuatlPossessedPluralNounTemplate
xYalalagZapotecVerbClass1
xYalalagZapotecVerbClass2
xCaquinteMetathesis

Note that using just a number is not a good idea because at some point down the road you may want to move the example or there may be other examples that need to be inserted before it.

In the following sections, I will refer to the appropriate template name.

5.1 Word examples

Word examples consist of one or more words, usually with their glosses. They come in two varieties: single and lists. (See section 5 for how to insert an example.)

5.1.1 Single word examples

Single word examples consist of a single word and its gloss, usually. A single word example is given below. If you choose the example(word_with_gloss) template, you should see something like what is shown in (86) (as indicted by the large black arrow).

(86)

If you then type in the blue (language data) area and green (gloss) areas[44] as shown in (87), you'll get the result in (88) (assuming that this is the second example in the paper).

(87)
(88)
(2) nikita "I saw it."

If instead of choosing example(word_with_gloss), you choose example(word_without_gloss), you will only see the blue language data element, not the green gloss element.[44]

In some cases, you may want to add another line of data after the first line. This could be because the data are all related. You can do this by inserting another word element after the last element in the word element (which will be either a langData or gloss element). You can then fill in the langData and any gloss elements in it. As an example,[45] if you key what is shown in (89), then you'll get the result in (90) (assuming that this is the first example in the paper).

(89)
(90)
(1)
a-lií[ry-á]  ‘fear’ a-lií[mbék-á]  ‘shave’
a-lií[nzír-á]  ‘kill’ a-lií[níínd-á]  ‘wait for’
a-lií[ndééβ-á]  ‘ask’ a-lií[mbukúl-á]  ‘take’
a-lií[nyimb-ír-á]  ‘sing for’ a-lií[mboolól-á]  ‘untie’
a-lií[nzasyáák-ír-á]  ‘split for’        a-lií[ndexúúl-á]  ‘release’
a-lií[niingéér-á]  ‘watch’ a-lií[mbodóóxán-á]  ‘go around’

5.1.2 List of Words examples

The second kind of word example is a list of words. These consist of a list of words and their glosses, usually. A list of words example is given below. If you choose example(listWord_with_glosses), you'll get what is shown in (91), as indicated by the large black arrow.

(91)

Notice that there is one example item for the entire example and that there are two example items for two words, each with its own gloss. This is so you can refer to either the whole example or to an individual line within that example. See section 5.9. As with the plain word example in (86) above, the blue patches are for language data and the green ones are for glosses.[44]

If you need more lines, click in one and then click on the listWord that shows in the node path bar as indicated by the big black arrow in (92).

(92)

When you now insert another element after the selected item (see section 1.2.3), you can choose listWord(with_gloss) and it will add a new line for you.

If you then type in the values as shown in (93), you'll get the result shown in (94) (assuming that this is the third example in the paper).

(93)
(94)
(3) a. nikita "I see it."
b. tikita "You(sg) see it."
c. kita "He/she/it sees it."
d. tikitah "We see it."
e. ankitah "You(pl) see it."
f. kitah "They see it."

Notice that one uses the num attribute of the example element for these. In addition, one uses the letter attribute of the listWord element. One does not need to label these letter attributes in any particular order. XLingPaper will correctly assign the letters.[46]

Just like with word examples, you may sometimes want to add another line of data after the first line. This could be because the data are all related. You can do this by inserting another word element after the last element in the listWord element (which will be either a langData or gloss element). You can then fill in the langData and any gloss elements in it. As an example,[47] if you key what is shown in (95), then you'll get the result in (96) (assuming that this is the eleventh example in the paper).

(95)
(96)
(11)
a. s-áa-li[fw-á] tá [O] ‘die’ sí-βa-li[tsy-á] tá [O] ‘go’
b. sí-βa-li[βék-á] tá ‘shave’       sí-βa-li[lól-a] tá ‘see’
sí-βa-li[líínd-a] tá  ‘wait’ sí-βa-li[rééβ-a] tá  ‘ask’
c. sí-βa-li[βukúl-á] tá ‘take’ sí-βa-li[karááng-a] tá ‘fry’
sí-βa-li[siindíx-a] tá  ‘push’ sí-βa-li[liingéér-a] tá  ‘watch’
sí-βa-li[lomálom-a] tá  ‘talk’

5.2 Line examples

Line examples consist of but one line. There is no gloss (one would use an interlinear to include glosses). There are two varieties of line examples: single and list. (See section 5 for how to insert an example.)

5.2.1 Single line examples

Single line examples consist of but one line. If you choose the example(single) template, you should see something like what is shown in (97) (as indicted by the large black arrow).

(97)

If you then type what is shown in (98), you'll get the result in (99) (assuming that this is the fourth example in the paper).

(98)
(99)
(4)This is an example of a single line.

One can include an indication of the source for the line by inserting an interlinearSource element after the langData element (note that you will need to click on “langData” in the node path bar[53] and then do an “Insert After” command).

5.2.2 List of single line examples

A list of single line examples consist of but one line each. The key difference between just a single example and a list of single examples is that the latter are indented and each line is prefixed by an alphabetic letter. A list of single line example is given below. If you choose example(listSingle), you'll get what is shown in (100), as indicated by the large black arrow.

(100)

Notice that there is one example item for the entire example and that there are two example items for two single lines. This is so you can refer to either the whole example or to an individual line within that example. See section 5.9.

If you need more lines, click in one and then click on the listSingle that shows in the node path bar as indicated by the big black arrow in (101).

(101)

When you now insert another element after the selected item (see section 1.2.3), you can choose listSingle and it will add a new line for you.

If you then type in the values as shown in (102), you'll get the result shown in (103) (assuming that this is the fifth example in the paper).

(102)
(103)
(5) a. This is the first example.
b. Which is the second example?
c. If you'd like, this is the third example.

Notice that one uses the num attribute of the example element for these. In addition, one uses the letter attribute of the listSingle element. One does not need to label these letter attributes in any particular order. XLingPaper will correctly assign the letters.[46]

One can include an indication of the source for the line by inserting an interlinearSource element after the langData element (note that you will need to click on “langData” in the node path bar[53] and then do an “Insert After” command).

5.3 Interlinear examples

Interlinear examples consist of several lines of aligned text, usually along with one or more lines of an unaligned free translation. Like word and line examples, there are two varieties of interlinear: single and list. In addition, a given interlinear example may be created in one of three ways. Any one of these three may be included in a single interlinear or in any interlinear example included in a list of interlinear examples. These three ways are described in sections 5.3.1.1, 5.3.1.2, and 5.3.1.3. (See section 5 for how to insert an example.)

Please note that within the XMLmind XML Editor, interlinears will often not be aligned properly. This is fine. Remember that the XMLmind XML Editor is not a “What You See Is What You Get” editor. The output (whether web page, PDF, Word or Open Office) will be aligned.

Beginning with version 2.17 of XLingPaper, it is possible to have the XeLaTeX way of producing PDF automatically wrap long interlinears. To make this automatic wrapping happen, you click on lingPaper in the node path bar[53] and then set the automaticallywrapinterlinears attribute to yes via the Attributes Tool.

5.3.1 Single interlinear examples

Single interlinear examples contain only one interlinear example. The following sub-sections delineate the three ways one may key an interlinear example. The first two align the words in the interlinear. The third also aligns the morphemes.

5.3.1.1 Word-aligned, using a space between words

The easiest way to key an interlinear example is to merely type a space between each of the words in the interlinear. You do this for both the language data itself and also for the glosses.

Note, however, that this only works for plain text data within a single langData element or a single gloss element on each line. If you insert any other field (e.g. to emphasize or highlight some portion of the interlinear line and/or if you want to use the special abbreviation capability of XLingPaper[48]), then you will need to use the method outlined in section 5.3.1.2.

If you choose the interlinear_l_l_g_free template, you should see something like what is shown in (104) (as indicted by the large black arrow).

(104)

If you then type in the blue (language data), green (gloss), and black (free translation) areas[44] as shown in (104), you'll get the result in (106) (assuming that this is the sixth example in the paper).

(105)
(106)
(6) In Wan onikitak in kowat.
in Wan o-ni-k-ita-k in kowa-t
the John PST-1-3O-see-PRET the snake-ABS
"John saw the snake."

Notice how the line elements are grouped together under a lineGroup element.

Also note that XLingPaper does all that is needed to do the aligning. It will only automatically wrap long lines for the XeLaTeX way of producing PDF;[49] for the other kinds of output, you will need to break long lines manually; see 5.3.3 below.

You have probably noticed that there are many types of interlinear examples listed in the Edit tool.[3] The following table lists the ones that use a space between words to align the words:

(107)
Interlinear kind Meaning
interlinear_l_free An interlinear with a single line of a langData element, and a free translation element line.
interlinear_l_g An interlinear with a single line of a langData element, and a single line of a gloss element. There is no free translation element line. This can be useful when you are giving an ill-formed example or if you are breaking a long interlinear (see section 5.3.3).
interlinear_l_g_free An interlinear with a single line of a langData element, a single line of a gloss element and a free translation element line.
interlinear_l_g_g An interlinear with a single line of a langData element, and two lines of a gloss element. The two gloss lines are for cases where one wants both a word gloss and a morpheme-by-morpheme gloss. There is no free translation element line. This can be useful when you are giving an ill-formed example or if you are breaking a long interlinear (see section 5.3.3).
interlinear_l_g_g_free An interlinear with a single line of a langData element, two lines of a gloss element and a free translation element line. The two gloss lines are for cases where one wants both a word gloss and a morpheme-by-morpheme gloss.
interlinear_l_l_g An interlinear with two lines of langData elements and a single line of a gloss element. The two language data lines can be one for the word form and the other one for an underlying form representation. There is no free translation element line. This can be useful when you are giving an ill-formed example or if you are breaking a long interlinear (see section 5.3.3).
interlinear_l_l_g_free An interlinear with two lines of langData elements, a single line of a gloss element and a free translation element line. The two language data lines can be one for the word form and the other one for an underlying form representation.
interlinear_l_l_g_g An interlinear with two lines of langData elements and two lines of a gloss element. The two language data lines can be one for the word form and the other one for an underlying form representation. The two gloss lines are for cases where one wants both a word gloss and a morpheme-by-morpheme gloss. There is no free translation element line. This can be useful when you are giving an ill-formed example or if you are breaking a long interlinear (see section 5.3.3).
interlinear_l_l_g_g_free An interlinear with two lines of langData elements, two lines of a gloss element and a free translation element line. The two language data lines can be one for the word form and the other one for an underlying form representation. The two gloss lines are for cases where one wants both a word gloss and a morpheme-by-morpheme gloss.

5.3.1.2 Word-aligned, marking certain words or morphemes

The method given in section 5.3.1.1 only works on plain text in a single field, with words separated only by spaces. If you want the words to align, but you also want to, say, emphasize a certain word or some morpheme or if you want a gloss to show in small caps or if you want to use the abbreviation capability of XLingPaper,[48] or even if you want to insert an endnote element, then you need to use this second method for keying interlinear examples.

If you find that you have already entered, say, an object element and then remember you need to use this method, you can manually select the content of the line (by selecting the line using the mouse), use Edit menu item / Copy as Text, and then do a Paste command.

Note, however, that there is a special command that will let you convert interlinear created using spaces to this "wrd" format. Put the cursor at the beginning of the first line of the interlinear you want to convert and then use menu item XLingPaper / Convert interlinear line to wrd elements Shift+F10.[50] You will need to do this for each interlinear line you wish to convert. To be more specific, here are the recommended steps for doing this conversion:

  1. Create the example as described in section 5.3.1.1.
  2. Type in what you want for each langData and gloss line. If you have any multi-word units, see section 5.3.8 for what to do. If you are using abbreviations per section 4.6, you can key the abbreviation labels in your gloss line.[51] It uses any hyphens (-), equals signs (=), tildes (~), left angle brackets (<), or right angle brackets (>) in the content of the gloss element to separate potential abbreviation labels.[35] Note that the abbreviation labels need to be identical to what they are in the abbreviation element, including lower or upper case (unless you are using smallcaps for your abbreviations[52] in which case either lower case or upper case will do). Do not insert any object or abbrRef elements yet, though. You'll do that in steps 6 and 7 below, if needed.
  3. Put the cursor at the beginning of the first langData line.
  4. Use the “Convert interlinear line to wrd elements” command (by using menu item XLingPaper / Convert interlinear line to wrd elements Shfit+F10).[50]
  5. Repeat step 4 for each line.
  6. If you are using object elements to emphasize certain portions of the data, go back and mark up any portions using the appropriate object element.
  7. If you are using abbreviations per section 4.6 and if the automatic conversion in step 4 did not convert some abbreviations, go back and insert the needed abbrRef elements.

For these "wrd" interlinear examples, if you do not want to use the special convert command mentioned above, you should use the example templates that begin example(interlinear_wrd_...). These produce an example that has five wrd elements which you can fill in for language and gloss data. You can also insert object elements within these as needed to provide the emphasis or whatever you are seeking to do.

For example, if you choose the example(interlinear_wrd_l_g_free) type, you'll see:

(108)

The blue patches are for language data, the green are for glosses, and the black is for the free translation.[44] Each section is a word that will be aligned in the interlinear output. If you need more than five words, click in the last one in the line, click on wrd in the node path bar,[53] and insert another element.[18] Choose wrd(langData) or wrd(gloss) depending on whether you want another instance of a language data item or a gloss item.

The following is an example from Lachixio Zapotec/Spanish. If you type what is shown in (109), you'll get the result in (110) (assuming that this is the fourth example in the paper).

(109)
(110)
(4)
Nze'ta bee nze'e runa' (bee) nze'e equiella.
viene plural esto llora plural esto sobre-él
es-venir pl esto h-llorar pl esto sobre-3r
‘Estos (sus parientes) vienen y lloran sobre él (porque está muerto)’

Notice the use of type attributes to tag the grammatical categories (which are to be shown as small caps) and to tag the emphasized words in the example. See section 10.1 for more on this.

Also note that XLingPaper does all that is needed to do the aligning. It will only automatically wrap long lines for the XeLaTeX way of producing PDF;[49] for the other kinds of output, you will need to break long lines manually; see 5.3.3 below.

If you are using the SIL FieldWorks Language Explorer program to interlinearize texts, you can create a text that consists of several examples you want to include in your XLingPaper document and then export that text from SIL FieldWorks Language Explorer. Use the “XLingPaper as examples, align words” option. Open the exported file into the XMLmind XML Editor and copy and paste the examples to where you want them to go in your XLingPaper document. You will also probably need to copy and paste the language elements from the exported file into your document. Most likely you will need to do this one by one. See http://fieldworks.sil.org/flex/ for more on the SIL FieldWorks Language Explorer program.

You have probably noticed that there are many types of interlinear examples listed in the Edit tool.[3] The following table lists the ones that allow you to mark some words specially:

(111)
Interlinear kind Meaning
interlinear_wrd_l_g An interlinear with a single line of five wrd elements, each containing a langData element, and a single line of five wrd elements each containing a gloss element. There is no free translation element line. This can be useful when you are giving an ill-formed example or if you are breaking a long interlinear (see section 5.3.3).
interlinear_wrd_l_g_free An interlinear with a single line of five wrd elements, each containing a langData element, a single line of five wrd elements each containing a gloss element and a free translation element line.
interlinear_wrd_l_g_g An interlinear with a single line of five wrd elements, each containing a langData element, and two lines of five wrd elements each containing a gloss element. The two gloss lines are for cases where one wants both a word gloss and a morpheme-by-morpheme gloss. There is no free translation element line. This can be useful when you are giving an ill-formed example or if you are breaking a long interlinear (see section 5.3.3).
interlinear_wrd_l_g_g_free An interlinear with a single line of five wrd elements, each containing a langData element, two lines of five wrd elements each containing a gloss element and a free translation element line. The two gloss lines are for cases where one wants both a word gloss and a morpheme-by-morpheme gloss.
interlinear_wrd_l_l_g An interlinear with two lines of five wrd elements, each containing a langData element and a single line of five wrd elements each containing a gloss element. The two language data lines can be one for the word form and the other one for an underlying form representation. There is no free translation element line. This can be useful when you are giving an ill-formed example or if you are breaking a long interlinear (see section 5.3.3).
interlinear_wrd_l_l_g_free An interlinear with two lines of five wrd elements, each containing a langData element, a single line of five wrd elements each containing a gloss element and a free translation element line. The two language data lines can be one for the word form and the other one for an underlying form representation.
interlinear_wrd_l_l_g_g An interlinear with two lines of five wrd elements, each containing a langData element and two lines of five wrd elements each containing a gloss element. The two language data lines can be one for the word form and the other one for an underlying form representation. The two gloss lines are for cases where one wants both a word gloss and a morpheme-by-morpheme gloss. There is no free translation element line. This can be useful when you are giving an ill-formed example or if you are breaking a long interlinear (see section 5.3.3).
interlinear_wrd_l_l_g_g_free An interlinear with two lines of five wrd elements, each containing a langData element, two lines of five wrd elements each containing a gloss element and a free translation element line. The two language data lines can be one for the word form and the other one for an underlying form representation. The two gloss lines are for cases where one wants both a word gloss and a morpheme-by-morpheme gloss.

5.3.1.3 Morpheme-aligned

If you want to have not only the words align, but also the morphemes within the words to align, you will need to key the interlinear examples in a special, more complicated way.[54] Please note, however, that this style of interlinear only works with the web page output and the default XeLaTeX way of producing PDF. All of the other outputs will not show this correctly. Also, please note that this style is not recommended by the Leipzig Glossing Rules (http://www.eva.mpg.de/lingua/resources/glossing-rules.php). Some interlinearizing programs may automatically produce this kind of format. The SIL FieldWorks Language Explorer program is one that allows one to automatically generate this kind of interlinear. One can then merely copy and paste the results into an XLingPaper file. See http://fieldworks.sil.org/flex/.

Besides aligning the morphemes within words, this kind will also automatically wrap long interlinear examples when viewed in a web page. It will not automatically wrap in PDF or Microsoft Word 2003 format, though.[55]

The following is an example from Orizaba Nahuatl/English. If you used the SIL FieldWorks Language Explorer tool to produce the interlinear, it might look like what is shown in (112). This will come out as shown in (113) (assuming that this is the first example in the paper).

(112)
(113)
(1)
mostla 
mostla 
mostla 
tomorrow 
Exceptional Noun 
tomorrow 
NExc 
timottaskeh 
ti- 
ti-2 
SUBJ:1.PL 
Verb:(Subject) 
mo- 
mo-2 
REFL 
Transitive verb:Object 
tta 
tta 
to see 
Transitive verb (I) 
-s 
-s 
Fut 
Verb:Future 
-keh 
-keh 
PERFV.SUBJ:PL 
Verb:Perfective/Number 
we will see ourselves 

.

See you tomorrow

If you are producing such an interlinear example by hand, you may want to read Hughes, Bird, and Bow (2003) which is available online at http://eprints.unimelb.edu.au/archive/00000455/.

5.3.2 List of interlinear examples

Besides single interlinear examples, one may also produce a list of interlinear examples. Such a list consists of individual interlinear examples. The key difference between just a single interlinear example and a list of interlinear examples is that the latter are indented and each interlinear unit is prefixed by an alphabetic letter. You may use any of the three kinds of interlinear examples shown in sections 5.3.1.1, 5.3.1.2, and 5.3.1.3 above. I will illustrate using the first method for simplicity's sake.

If you choose example(listInterlinear_l_l_g_free) , you'll get what is shown in (114).

(114)

Notice that there is one example item for the entire example and that there are two example items for two words, each with its own gloss. This is so you can refer to either the whole example or to an individual line within that example. See section 5.9. The blue patches are for language data, the green patches are for glosses and the black is for the free translations.[44]

If you need more lines, click in one and then click on the listInterlinear that shows in the node path bar.[53]

When you now insert another element after the selected item (see section 1.2.3), you can choose one of the listInterlinear options and it will add a new set of interlinear elements for you.

As an example from Orizaba Nahuatl/English, if you then type in the blue (language data), green (gloss), and black (free translation) areas as shown in (115), you'll get the result in (116) (assuming that this is the seventh example in the paper).

(115)
(116)
(7) a.
In Wan onikitak in kowat.
in Wan o-ni-k-ita-k in kowa-t
the John PST-1-3O-see-PRET the snake-ABS
"John saw the snake."
b.
Onikitak in Wan in kowat.
o-ni-k-ita-k in Wan in kowa-t
PST-1-3O-see-PRET the John the snake-ABS
"John saw the snake."

If you are using the SIL FieldWorks Language Explorer program to interlinearize texts, you can create a text that consists of a single example containing the text segments you want to include in this example in your XLingPaper document and then export that text from SIL FieldWorks Language Explorer. Use the “XLingPaper, as a single example, align words” option. There will be one example containing listInterlinear elements, one for each text segment. Open the exported file into the XMLmind XML Editor and copy and paste the example to where you want it to go in your XLingPaper document. You will also probably need to copy and paste the language elements from the exported file into your document. Most likely you will need to do this one by one. See http://fieldworks.sil.org/flex/ for more on the SIL FieldWorks Language Explorer program.

You have probably noticed that there are many types of list interlinear examples listed in the Edit tool.[3] The following table lists the ones that use a space between words to align the words:

(117)
Interlinear kind Meaning
listInterlinear_l_free An interlinear with a single line of a langData element, and a free translation element line.
listInterlinear_l_g An interlinear with a single line of a langData element, and a free element. There is no free translation element line. This can be useful when you are giving an ill-formed example or if you are breaking a long interlinear (see section 5.3.3).
listInterlinear_l_g_free An interlinear with a single line of a langData element, a single line of a gloss element and a free translation element line.
listInterlinear_l_g_g An interlinear with a single line of a langData element, and two lines of a gloss element. The two gloss lines are for cases where one wants both a word gloss and a morpheme-by-morpheme gloss. There is no free translation element line. This can be useful when you are giving an ill-formed example or if you are breaking a long interlinear (see section 5.3.3).
listInterlinear_l_g_g_free An interlinear with a single line of a langData element, two lines of a gloss element and a free translation element line. The two gloss lines are for cases where one wants both a word gloss and a morpheme-by-morpheme gloss.
listInterlinear_l_l_g An interlinear with two lines of langData elements and a single line of a gloss element. The two language data lines can be one for the word form and the other one for an underlying form representation. There is no free translation element line. This can be useful when you are giving an ill-formed example or if you are breaking a long interlinear (see section 5.3.3).
listInterlinear_l_l_g_free An interlinear with two lines of langData elements, a single line of a gloss element and a free translation element line. The two language data lines can be one for the word form and the other one for an underlying form representation.
listInterlinear_l_l_g_g An interlinear with two lines of langData elements and two lines of a gloss element. The two language data lines can be one for the word form and the other one for an underlying form representation. The two gloss lines are for cases where one wants both a word gloss and a morpheme-by-morpheme gloss. There is no free translation element line. This can be useful when you are giving an ill-formed example or if you are breaking a long interlinear (see section 5.3.3).
listInterlinear_l_l_g_g_free An interlinear with two lines of langData elements, two lines of a gloss element and a free translation element line. The two language data lines can be one for the word form and the other one for an underlying form representation. The two gloss lines are for cases where one wants both a word gloss and a morpheme-by-morpheme gloss.

The following table lists out the kinds of list interlinear examples that allow you to mark some words specially

(118)
Interlinear kind Meaning
listInterlinear_wrd_l_g An interlinear with a single line of five wrd elements, each containing a langData element, and a single line of five wrd elements each containing a gloss element. There is no free translation element line. This can be useful when you are giving an ill-formed example or if you are breaking a long interlinear (see section 5.3.3).
listInterlinear_wrd_l_g_free An interlinear with a single line of five wrd elements, each containing a langData element, a single line of five wrd elements each containing a gloss element and a free translation element line.
listInterlinear_wrd_l_g_g An interlinear with a single line of five wrd elements, each containing a langData element, and two lines of five wrd elements each containing a gloss element. The two gloss lines are for cases where one wants both a word gloss and a morpheme-by-morpheme gloss. There is no free translation element line. This can be useful when you are giving an ill-formed example or if you are breaking a long interlinear (see section 5.3.3).
listInterlinear_wrd_l_g_g_free An interlinear with a single line of five wrd elements, each containing a langData element, two lines of five wrd elements each containing a gloss element and a free translation element line. The two gloss lines are for cases where one wants both a word gloss and a morpheme-by-morpheme gloss.
listInterlinear_wrd_l_l_g An interlinear with two lines of five wrd elements, each containing a langData element and a single line of five wrd elements each containing a gloss element. The two language data lines can be one for the word form and the other one for an underlying form representation. There is no free translation element line. This can be useful when you are giving an ill-formed example or if you are breaking a long interlinear (see section 5.3.3).
listInterlinear_wrd_l_l_g_free An interlinear with two lines of five wrd elements, each containing a langData element, a single line of five wrd elements each containing a gloss element and a free translation element line. The two language data lines can be one for the word form and the other one for an underlying form representation.
listInterlinear_wrd_l_l_g_g An interlinear with two lines of five wrd elements, each containing a langData element and two lines of five wrd elements each containing a gloss element. The two language data lines can be one for the word form and the other one for an underlying form representation. The two gloss lines are for cases where one wants both a word gloss and a morpheme-by-morpheme gloss. There is no free translation element line. This can be useful when you are giving an ill-formed example or if you are breaking a long interlinear (see section 5.3.3).
listInterlinear_wrd_l_l_g_g_free An interlinear with two lines of five wrd elements, each containing a langData element, two lines of five wrd elements each containing a gloss element and a free translation element line. The two language data lines can be one for the word form and the other one for an underlying form representation. The two gloss lines are for cases where one wants both a word gloss and a morpheme-by-morpheme gloss.

5.3.3 Handling wide interlinear examples

As mentioned in sections 5.3.1.1, 5.3.1.2, and 5.3.1.3 above, XLingPaper does not automatically break lengthy (i.e. wide) interlinear examples with two exceptions:

Unless either of these two are the case, you have to break long lines yourself. This is not necessarily a negative thing. By breaking the interlinear examples by hand, you are able to control where the break occurs. For example, you may choose to only have an interlinear example break at a phrase boundary.

You insert these manual breaks by embedding an interlinear element within either another interlinear element or within a listInterlinear element.

To illustrate how you can do this, suppose you have what I showed in example (105) above, the interlinear portion of which is repeated here in (119).

(119)

The basic process is as follows:

  1. Click in the language data area.
  2. In the node path bar,[53] click on lineGroup.
  3. Make a copy of this lineGroup element: use Edit / Copy menu items.[56]
  4. Insert an element after.[18] You will see something like what is in (120).
    (120)
  5. In the Edit Tool,[3] type the kind of interlinear you want. See the tables in (107), (111), (117), and (118) for what these kinds are. In our case, we want two lines of language data and one line of gloss, so we'll use interlinear(l_l_g).
  6. After choosing this interlinear, it would look like this:
    (121)
  7. Click on the first blue patch (language data area).
  8. In the node path bar,[53] click on lineGroup.
  9. Now paste in what you copied earlier: use Edit / Paste menu items.[57] It should look like this:
    (122)
  10. You can now edit the two halves of the interlinear so they each have just the phrases you want. For example, I made it look like this:
    (123)

The result is given in (124) (assuming this is the fifth example in the document).

(124)
(5)
In Wan onikitak
in Wan o-ni-k-ita-k
the John PST-1-3O-see-PRET
in kowat.
in kowa-t
the snake-ABS
"John saw the snake."

5.3.4 Citing the source of the interlinear

Another characteristic of interlinear examples is that they may be taken from an interlinear text. In such cases, one may well want to indicate the text and line number from where the interlinear was taken. One convention is to include an abbreviated name of the text, a colon, and the line number. XLingPaper provides two ways to do this, depending on whether the source interlinear text is included within the XLingPaper document or not.

5.3.4.1 Interlinear text included in the XLingPaper document

If the source interlinear text is included in the XLingPaper document (most likely as an interlinear-text element within an appendix; see section 9 or else as a referenced interlinear text; see section 9.4), then you can create an interlinear example that will refer to the appropriate portion of the interlinear text. You can do so in either of two ways.

The simplest is to merely make a reference to the portion. Do this by following these steps:

  1. Create an example which contains an interlinearRef element (i.e. choose example(interlinearRef) or example(listInterlinear_interlinearRef) when inserting a new example (see section 5 above).
  2. Click on the element beginning with 'T'.
  3. Immediately press the F11 key on your keyboard (or use menu items XLingPaper / Set Reference F11 or right-click on it and choose Set Reference), a dialog box will pop up that lists all the interlinear text portions in your paper. Choose the interlinear text portion you want.

XLingPaper will insert the content of the referenced interlinear in the formatted output. Starting with version 3.5.3, if the referred to interlinear contains any endnote elements, those endnotes will not appear in the output for the example containing an interlinearRef element (they will, however, appear in the interlinear text output itself). If you want those endnote elements to appear in the output within the example, then follow the second way mentioned next.

The second way is to make a copy of the portion. The advantage of making a copy is that then you can highlight individual words or morphemes that you are discussing in the context. To make the copy, follow these steps:

  1. Find the portion of the interlinear text you want to use.
  2. Select its interlinear element (by clicking somewhere in the portion and then clicking on ‘interlinear’ in the node path bar[53]).
  3. Copy the element (sometimes the best way to do this is to click on menu item Edit, then click on Copy).
  4. Go to where you want to create an example for this portion.
  5. If you are copying this as an interlinear example (and not as a list interlinear example):
    1. Create an interlinear example (any kind of interlinear example will do; the kind of interlinear does not matter)
    2. Select the interlinear element (by clicking somewhere in the newly created example and then clicking on ‘interlinear’ in the node path bar[53]).
  6. If you are copying this as a list interlinear example:
    1. Create a list interlinear example (I suggest using the example(listInterlinear_l_g) template).
    2. Select the lineGroup element (by clicking somewhere in the newly created example and then clicking on ‘lineGroup’ in the node path bar[53]).
  7. Paste the interlinear element you just copied.
  8. Unless it is already there,[58] set the textref attribute to the text ID attribute of that portion (if it does not have one yet, you will need to add one in the interlinear text itself; see section 9.2).
  9. Note that you do not want to have a text ID attribute in the copied portion. In fact, XLingPaper will remove it automatically.

For example, suppose you have the text shown in (221) described in section 9.2, but included here as (125) for your convenience.

(125)
  (=221)

If you copy the second portion as described above, then it might look like this:

(126)

This will come out as shown in (131) (assuming this is the second example in the document).

(127)
(2)
Bi tap ra noo molin.    [LifeInQ:2]
bi tap r-a noo molin
at four H-go 1ex mill
At four I would go to the grinder.

Please note several things:

5.3.4.2 Interlinear text not in the XLingPaper document

If the source interlinear text is not included in the XLingPaper document, then you can use the interlinearSource element to type in a reference to the text. For example, suppose you have just created the interlinear shown in (128).

(128)

If you have the cursor at the end of the free translation line and then perform an insert after command (e.g. press Ctrl+j or right-click and choose Insert After...), then you can select the interlinearSource element in the Edit Tool.[3]

It will then look like this:

(129)

You can then type in an indication of the source of the interlinear as in (130):

(130)

This will come out as shown in (131) (assuming this is the second example in the document).

(131)
(2)
pa go r-laa de    [Gringo:34]
what thing H-do 2
‘What are you doing?’

Please note several things:

5.3.5 Showing the ISO 639-3 Code

As noted in section 1.3, it is possible to tag a given language with an ISO 639-3 code for that language. XLingPaper makes it possible to show these codes in interlinear, word, and single examples. It does so by looking at the ISO 639-3 code of the language element referred to by the first langData element in the interlinear example.

In order for XLingPaper to show these codes throughout your document, you must set the showiso639-3codeininterlinear attribute of the main lingPaper element. To do so, click anywhere in the document (except in any part of an associated publisher style sheet). In the node path bar,[53] click on lingPaper. Then use the Attributes Tool[12] to set the showiso639-3codeininterlinear attribute to a value of yes.

If, on the other hand, you want to show the ISO 639-3 codes for only certain examples, set the showiso639-3codes attribute of those example elements to yes.

Here is a sample output from one XLingPaper document that had this attribute set and where the ISO 639-3 code was ‘zaw’.

(132)

5.3.6 Using a literal translation

As mentioned above, interlinear examples usually include a free translation. Sometimes they also include a literal translation (and, more rarely, use a literal translation instead of a free translation). XLingPaper provides a literal element you can use for a literal translation.

Unlike for free translations, there are no interlinear templates which provide a literal translation element. There are at least two ways to insert a literal element:

  1. To insert a literal element after a free element, do this:
    1. Click in the content of the free element;
    2. do an Insert After command;[18] and
    3. select the literal element in the Edit Tool.[3]
  2. To convert a free element to a literal element, do this:
    1. Click in the content of the free element and
    2. do a Convert command (via Edit / Convert, pressing Ctrl-T, or by clicking on the convert icon in the Edit tool[3]).

A literal element has the same set of attributes as a free element. Its output is also the same except that by default, XLingPaper inserts “Lit. ” at the beginning of a literal element. If you wish to use some other label, then you will need to change the literalLabel attribute of the lingPaper element. To set the literalLabel attribute, click on “lingPaper” in the node path bar.[53] Then use the Attribute tool[12] to find and change the literalLabel attribute.

If you are using a publisher style sheet, that style sheet can provide the label to be used. If so, what is in the style sheet will be used even if you have set the literalLabel attribute of the lingPaper element. (For more on publisher style sheets, see section 11.25 or click here to see the documenation on publisher style sheets.)

5.3.7 Inserting bracketed constituents

Sometimes one wants to insert bracketed constituents around items in an interlinear line. XLingPaper has a way to do this rather conveniently. One must, however, have already converted the interlinear to use the approach discussed in section 5.3.1.2.

Once that is done, there are two ways to insert a bracketed constituent.

The first may be the easiest: select the text material that is to be in the constituent you are inserting. The text material should then have a reddish background color to it. Then press the Shift and F12 keys on your keyboard at the same time (or use XLingPaper menu item / Convert selected text to bracketed constituent). Next you will be asked to key the label you want for this bracketed constituent. After keying it and pressing either the Enter key or the OK button, XLingPaper will insert an object element at the beginning of the selection and two object elements at the end of the selection. These elements will have the type attributes shown in example (133).

(133)
Type value Description
tBracketOpen The opening bracket
tBracketClose The closing bracket
tBracketLabel The label of the bracketing

These three types will be added automatically by XLingPaper if you do not already have them. By default, tBracketOpen has a “[” in its before attribute. tBracketClose has a “]” in its after attribute. tBracketLabel uses subscript formatting. Feel free to edit these type elements to format however you want. For example, you might want the label one to use a small caps font.

Further, if you are using abbreviations (see section 4.6), then XLingPaper will try and convert the label into any matching abbreviation.

The second way involves selecting one or more wrd elements. One way to do this is to click on “wrd” in the node path bar and then use Select menu item / Extend Selection to Following Sibling repeatedly until you have the portion you want. If you want to select the entire content of the line, you can click on “line” in the node path bar and then use Select menu item / Select All Children. Once you have done this, you can press the Shift and F12 keys on your keyboard at the same time (or use XLingPaper menu item / Convert selected text to bracketed constituent) as noted above. The rest is the same as above.

5.3.8 Multi-word units

Sometimes when aligning words in an interlinear, you need to combine more than one word into an aligned unit. How does one do that?

What you want to do is to use the non-breaking space character instead of a regular space whenever you have two or more words that need to be kept together in an alignment unit/cell. See section 11.13 for one way to key a non-breaking space. This method sometimes does not work if you are using Keyman; if you are using Keyman, try turning Keyman off temporarily. If that still does not work, you can use the Character Tool (see section 11.37, at the end). You will want to use character code 0x00a0 which is in the 0x0080 (Latin-1 Supplement) section relatively near the top (it looks like a blank just before the upside-down exclamation mark). When you have a non-breaking space, it will look like a very small raised period (and not like a regular blank).

Note that if you are using the word-aligned, marking certain words or morphemes approach as discussed in section 5.3.1.2, then you will want to insert the non-breaking spaces before converting the lines into wrd elements.

5.4 Tables

Table examples consist of a table (of course). When creating an example, one can select example(table). (One will also be created if you merely choose example.) A table embedded within an example will be created. See section 6.1 for more on dealing with tables. (See section 5 for how to insert an example.)

5.5 Charts

Chart examples consist of a chart (of course). See section 6.2 for more on this. (See section 5 for how to insert an example.)

5.6 Trees

Tree examples consist of a tree diagram or image (of course). See section 6.3 for more on this. (See section 5 for how to insert an example.)

5.7 Definitions

Definition examples merely consist of a definition, optionally including its key term. They come in two varieties: single and lists. (See section 5 for how to insert an example.)

5.7.1 Single definition examples

If you choose the example(definition) template when you insert an example (see section 5 for how to insert an example), you should see something like what is shown in (134).

(134)

If you then type what is shown in (135), you'll get the result in (136) (assuming that this is the second example in the paper). Note that the word ‘referential,’ which is the key notion in this definition, has been keyed within a keyTerm element. In this example, the keyTerm element shows in italics by default. You can control how an individual keyTerm element displays by setting its font-related attributes using the Attributes tool.[12] You can also define a type element that is just for key terms and then use the Attributes tool to associate the keyTerm element with this type. The keyTerm will then display according to the font attributes of that type element with the exception that any font-related attributes specified in the keyTerm element will override any of the same font-related attributes of the type element.

(135)
(136)
(2)
A noun phrase is referential when it is used to speak of an object as an object, with continuous identity over time.

5.7.2 List of Definitions examples

The second kind of definition example is a list of definitions. A list of definitions example is given below. If you choose example(listDefinition), you'll get what is shown in (137).

(137)

Notice that there is one example item for the entire example and that there are two example items for two definitions. This is so you can refer to either the whole example or to an individual line within that example. See section 5.9. As with the single definition example in (134) above, the patches are for keying your definitions.

If you need more definitions, click in one and then click on the listDefinition that shows in the node path bar.[53] When you now insert another element after the selected item (see section 1.2.3), you can choose listDefinition and it will add a new line for you.

As an example, if you type in the values as shown in (138), you'll get the result shown in (139) (assuming that this is the third example in the paper).

(138)
(139)
(3)
a. Structural complexity: An element X is marked with respect to another element Y if X is more complex, morphologically or syntactically, than Y
b. Contextual markedness: An environment ER is a marked one for an element X if E is not a member of the largest subset of environments X where X displays the greatest number of common properties

Notice that one uses the num attribute of the example element for these. In addition, one uses the letter attribute of the listDefinition element. One does not need to label these letter attributes in any particular order. XLingPaper will correctly assign the letters.[46]

5.8 Headings on Examples

Sometimes one wishes to tag an example with a title or heading or label. One uses the exampleHeading element for this. Insert an exampleHeading element within the example element, just before the first element of the example. One may also put an exampleHeading element within a listInterlinear element before a lineGroup element. This way, you can label or tag each interlinear within the list as needed.

Currently, there are no example types (see section 5) that include an example heading. You will need to create the kind of example you want (e.g. interlinear or list interlinear), click on the element as described in the previous paragraph in the node path bar[53] and then do an insert before operation and choose “exampleHeader”.

For example, if you have an interlinear example such as the one shown in (140), repeated from (105) above, then click on the word “interlinear" in the node path bar and then do an insert before operation.[18] The only option will be to insert “exampleHeading”. Choose this. You can then type your header information, including inserting any “embedded” elements.[24]

(140)

5.9 References to Examples

As I noted in section 5, you should give each example a unique identifier name (that begins with a lower case x). This is so you can refer to the example elsewhere in the paper.

To make such a reference to an example, you use the exampleRef element. While typing text (such as in a p (paragraph) element), insert an element[18] and choose exampleRef. You will see . If you immediately press the F11 key on your keyboard (or click on the black drop-down arrow or use menu items XLingPaper / Set Reference F11 or if you right-click on it and choose Set Reference), a dialog box will pop up that lists all the example identifiers in your paper. If I do this on one XLingPaper paper I wrote, it looks like this:

(141)

You can type in the name of the example or scroll down until you find the one you want. Note that capitalization is significant when typing. When your document is processed, a hyperlink is made between the reference and the example.[20]

As an example, suppose you keyed what is shown in (142):

(142)

If example xMonosyllabicStems turned out to be the third example in the document and example xIamb was the twenty-first, the output of (142) would be:

(143)

...Several monosyllabic stems are shown in (3).

(3) a. voi 'trail'
b. tai 'fire'
c. dui 'plum'
d. gaa 'cornfield'

Notice that while (3a-c) contain diphthongs, (3d) has a final long vowel.
...
Now consider the following forms, some repeated from earlier.

(21) a. gaa 'cornfield' (=3d)
b. topaa 'pestle'
c. kasio 'fox'

Notice that one can also create example references which contain a sequence of letters. One does this by using the paren, punct, and letterOnly attributes. See the table in (144). The equal attribute can be used to insert an equals sign in the reference. This, of course, indicates that the particular example has been given earlier in the paper.

Example reference elements can be used anywhere within a document. They do not need to immediately precede or follow their respective example declaration.

There may be times when you find you have chosen an incorrect example and want to fix it. In the output, you can find the number of the correct example and so want to be able to use the number. You can get a list of the numbers by following the following steps:

  1. Click on the exampleRef element.
  2. Use menu items Tools / Execute Command....[38] This opens up the Execute Command dialog box. It will look something like this:
  3. In the Command box, type ShowExampleNumberAndIds and click on the OK button. (Typing just "Sh" should work.)
  4. You will then see a chooser that lists both the example numbers as they appear in the output and the example IDs.
  5. Choose the one you want.

The attributes of the exampleRef element are summarized in the table in (144).[12]

(144)
Attribute Possible Values Meaning
num (user control) Reference to an ID used in the num attribute of an example element.
letter (user control) Reference to an ID used in the letter attribute of a listWord, listSingle, or listInterlinear element.
equal yes or no (the default is no) Whether to include an equals sign before the number (yes) or not (no).
punct (user control) Any punctuation that should follow the number or letter. Typically, this will be a hyphen or a comma.
paren both, none, initial, or final (the default is both) This controls the appearance of opening and closing parentheses around the example number and/or letter. An opening parenthesis appears if either both or initial are set. A closing parenthesis appears if either both or initial are set. No parentheses appear if none is set.
letterOnly yes or no (the default is no) If this is set to yes, then only the letter will appear, not the number and the letter. Of course, this only makes sense if one is using the letter attribute.

5.10 Changing the Language of a Language Data or Gloss Element

As mentioned in section 1.3, there are two default languages, one for vernacular language data and one for glosses. Sometimes you need to add a language element (as discussed in section 1.3) and then set individual language data items and/or glosses to these non-default languages.

You do this by clicking in the text area of a langData or gloss element. If you immediately press the F11 key on your keyboard (or use menu items XLingPaper / Set Reference F11 or if you right-click on it and choose Set Reference), a dialog box will pop up that lists all the language identifiers in your paper. If I do this on one XLingPaper paper I wrote, it looks like this:

(145)

You can type in the name of the language or scroll down until you find the one you want. Note that capitalization is significant when typing.

Alternatively, you can use the Attributes Tool[12] to manually set the lang attribute to the value you need.

Besides the lang attribute, both langData and gloss elements have two other attributes: textbefore and textafter. These two attributes are ignored unless one has associated a publisher style sheet and set special override values in it for text before and text after to be inserted around each langData or gloss element in given contexts. See section 11.25 for associating a publisher style sheet and also see sections 6.13 and 6.14 in the publisher style sheet documentation .

5.11 Setting the Language of a Free Element

If you wish, you can also set the language of the free translation element (free). You do this by clicking in the text area of a free element. If you immediately press the F11 key on your keyboard (or use menu items XLingPaper / Set Reference F11 or if you right-click on it and choose Set Reference), a dialog box will pop up that lists all the language identifiers in your paper. See section 5.10 for more illustrations of this procedure.

Alternatively, you can use the Attributes Tool[12] to manually set the lang attribute to the value you need.

Besides the lang attribute, the free element has two other attributes: textbefore and textafter. These two attributes are ignored unless one has associated a publisher style sheet and set special override values in it for text before and text after to be inserted around each free element. See section 11.25 for associating a publisher style sheet and also see sections 6.15 in the publisher style sheet documentation .

5.12 Examples in a Table

Sometimes it is appropriate to have two or maybe three examples side-by-side. You can do this by first creating a table (see section 6.1). You then replace the text within each cell with the appropriate example.

We recommend that you only do this for examples which are not very wide. Otherwise it is quite likely that the examples will not fit on the page when you create a PDF, Open Office Writer or Word version of your document.

6 Tables, Charts, and Trees

One may also create tables, charts, and trees.

6.1 Tables

Table elements can be placed between paragraphs or as examples. In defining tables, one defines the row and column elements, etc. The XMLmind XML Editor has several nice tools to enable you to edit tables conveniently.

If you have an existing table in a file created via a word processing program like Microsoft Word, a spreadsheet program like Excel, or in a web page, see section 11.53 for how you may be able to copy it and convert it to a draft form of a table in XLingPaper.

One creates a table by inserting a new element.[18] You can initially create one of three types of tables (either within an example or separately):

Type Result
table A blank table with two columns and two rows.
table(head_row) A blank table with an initial header row and then two regular rows. All three rows have two columns.
table(head_row_head_col) A blank table with an initial header row and then two regular rows. All three rows have two columns. The first column in all rows is a th element.

Suppose we want to create a plain table with headers. We can insert a table as shown in (146).

(146)

When you press the Enter key, it should look like this:

(147)

Notice that there are three rows of two columns each. The first row will be treated as a header. You can add columns and rows as needed by using the menu commands for table editing. For example, if you click in the first column of the first row and choose menu items XLingPaper / Table Column, it should look like this:

(148)

You can insert columns before or after the one you clicked in, cut or copy the entire column or delete it. If you had just cut or copied another column, then you could also paste the copied column either before or after the selected column.

Doing something similar for the Table Row menu item produces a similar set of options, only it would be for rows instead of columns.

When you select menu item Table Cell, you get the following options:

(149)

You can span a column or a row. That is you can combine adjacent table cells into one cell. If this is not clear, you can always experiment a bit to see how it works.

As an example, if you keyed a table so it looks like what is in (150), it should come out as shown in (151).

(150)

This could come out as shown in (151).

(151)
Column1 Column2 Column3
Row 1, Col 1 Row 1, Col 2 Row 1, Col 3
Row 2, Col 1 Row 2, Col 2 Row 2, Col 3
This spans all three columns.
This spans two rows. Row 4, Col 2 Row 4, Col 3
Row 5, Col 2 Row 5, Col 3

6.1.1 Increase Table Size

Beginning with version 2.17.0 of XLingPaper, you can increase the size of a table by using the “Increase Table Size” dialog. You do this by first clicking anywhere within the table and then invoking the XLingPaper / Increase Table Size menu option as shown in example (152).

(152)

When you do this, you see the Increase Table Size dialog which might look like what is shown in example (153).

(153)

This shows the current number of header rows, then the current number of non-header rows, and finally the current number of columns. You can use the “spinners” to increase the number for each part of the table. (You can also decrease the numbers, but this command will only increase table sizes, never decrease them.) When you either press the Enter key or click on the “OK” button, XLingPaper will increase the header rows, non-header rows, and columns to the amounts you specified.

For example, suppose you want a table that has one header row, ten non-header rows and six columns. You first insert a table in the normal way.[18] Suppose you had just a table with a header row, so it looks like what is shown in example (154).

(154)

After clicking somewhere in this table, you invoke the Increase Table Size command and change the numbers to be what you want: 1 header row (which it already has), ten non-header rows, and six columns. The “Increase Table Size” dialog would look like what is shown in example (155).

(155)

After you press the “OK” button, the table will now look like what is in example (156).

(156)

The Increase Table Size command will work on embedded tables as well as on entire tables. Because of this, it is important to make sure you click within the table you wish to change sizes for before invoking the command.

One other thing to keep in mind while using the Increase Table Size command is that it will make use of some of the existing material in the table. When it increases the number of header rows, it copies the first row in the table and then makes copies of that row until the total number of required header rows are present.. When it increases the number of non-header rows, it copies the last row in the table and then copies that row until the total number of required non-header rows are present. When it increases the number of columns, it copies the last column in the table and then copies that column until the total number of required columns are present.

Finally, please note that if the table you are working on already has row spans or column spans, the Increase Table Size command may not work as you might expect or it may not even be able to increase the sizes at all. Therefore, please try to use this command before you set any row spans or column spans.

6.1.2 Row Counter In Data Displays

There are times, such as in class handouts, poster sessions, and even in textbooks, where one may want to use a table to display a set of data. To facilitate locating data items in class or poster session discussions, one would like to have a line number for the data in a particular table. Rather than having to key such line numbers by hand, XLingPaper allows you to use the counter element within a td or th element. It will automatically keep track of the count of this and all previous counter elements within the current table element at the same level in the table. By default, it displays the count as a number with a following period. If you have more than 9 such rows, you may well want to set the align attribute of each enclosing td element to right so that the numbers align.

You can have the counter appear in other formats by setting the counterNumberFormat attribute of the closest containing table element. Example (157) shows the possible values you can use. We attempt to show the formated results in the XMLmind XML Editor, except that the 01 value shows just like the 1 does.

(157)
Format Results
1 1, 2, 3, ...
01 01, 02, 03, ...
A A, B, C, ...
a a, b, c, ...
I I, II, III, IV, V, VI, ...
i i, ii, iii, iv, v, vi, ...

Example (158) shows how one such data display might look.

(158)

6.1.3 Captions in Tables

Tables can also have captions. To add a caption, one needs to do the following:

  1. Click in the top row of the table.
  2. Click on tr in the node path bar.[53]
  3. Perform an insert before[18] and choose caption.[60]

One can then enter the caption.

As an example, suppose one keys the following table:[61]

(159)

One can then remove the border lines by setting the border attribute of the table element to zero such as in (160). It is possible to have finer control over the border lines within a table, but it is not recommended that you do so.[63]

(160)

The result should come out as in (161) (assuming this is the fifth example in the document).

(161)
(5)
Orthographic vowel symbols in Carolinian
Front Central Back
High i ú u
Mid e é o
Low á a ó

6.1.4 Footnotes in Tables

You can have footnotes in tables. XLingPaper's default behavior is to show the footnotes in the table just like it does footnotes/endnotes in prose. Please note that if the table is long, you will most likely not want to have any endnote elements inside a th element that forms a part of the header for the table. This is because if the table goes across a page boundary, the PDF formatting programs will automatically repeat the header information, footnote and all, on the next page. Thus, you will get the same footnote repeated once for every page the long table is on.

There are times, however, when you might need to have any footnotes in a given table show at the bottom of that table, not in the default location for general footnotes/endnotes. In such cases, the norm is not to use footnote numbers but rather a sequence of symbols such as an asterisk (*), a dagger (†), a double dagger (‡), a section symbol (§), and a paragraph symbol (¶). That is, the requirement is for the footnotes to stay with the table wherever that table appears and the footnote numbering is totally independent of the main footnote numbering elsewhere in the paper. How does one accomplish this with XLingPaper?

The basic solution is to create a table that has the footnote material embedded in it by hand. Here are some suggestions on how to do that.

  1. Create two custom type elements (see section 10.1):
    1. The type element tFootnoteSymbolInTable is for the symbols. I suggest you make a copy of the tSuperscript type element that comes with XLingPaper and modify it to your liking/requirements. For example, it may be best to remove the font-size attribute or to change its value so that the symbols are not too small.
    2. The type element tFootnoteInTable is used on the cells (i.e., td elements) containing the body of the footnote. Set the font-size attribute to the size you need the footnote body to be in. In some cases, this should be the same as regular footnotes; in other cases, it can be the same as the text in the table.
  2. Everywhere you need a footnote symbol in the body of the table, insert an object element and set its type attribute to tFootnoteSymbolInTable. Within this object element, insert the symbol you need for this footnote. In some cases, the same footnote body applies to multiple places in the body of the table. Just repeat the same symbol for each of these (see http://www.press.uchicago.edu/dms/ucp/journals/jrnl-images/tbl_fg4.gif for an example; note the multiple uses of the single asterisk and the double asterisk; accessed on 5 June, 2015).
  3. Add an extra row at the bottom of the table for each footnote body you need. See section 6.1.1 for a way to quickly do this. (Another hint if you have several footnotes: add one extra row, do the steps in 4 below for the first footnote body, and then increase the table size for the remaining footnotes. This will automatically copy the information you did in step 4 for all the new footnote rows.)
  4. For each row which will contain a footnote body, do this:
    1. Set the column span of the leftmost cell of this row to span all the columns of the table. See section 6.1.
    2. Click on “tr” in the node path bar.[53]
    3. Set the XeLaTeXSpecial attribute to row-separation='-2pt', where “-2pt” is the difference in font size between the regular font size (used in the table body) and the footnote size. If the two are the same size, then skip this step.
    4. Click on “td” in the node path bar.[53]
    5. Set the width attribute to be the width of the table. See the first bullet point of section 11.17.1.1 for some tools that can possibly make it easier to figure out the width value to use.
    6. Set the type attribute to tFootnoteInTable on this td element.
    7. If the footnotes need to be indented on the first line of the footnote body, insert several non-breaking spaces in the table cell to force an indent (see section 11.13).
    8. Insert an object element and set its type attribute to tFootnoteSymbolInTable. Within this object element, insert the symbol you need for this footnote.
    9. Enter the content of the footnote body.
  5. For the default PDF output, one leaves the border attribute of the main table empty. For Word and web page, one sets it to "1". (See footnote [63] for a partial discussion on this difference.)
  6. For the default PDF output, since there are no border lines, we use some XeLaTeXSpecial attribute values to get the horizontal lines to show in the right places. We want a line before the header, a line before the first row in the table proper (i.e., after the header), and a line after the last row in the table proper (i.e., the row before the first footnote). Do this:
    1. Click in the first row of the header (if there's only one header row, click in it).
    2. Click on “tr” in the node path bar.[53]
    3. Set the XeLaTeXSpecial attribute to line-before.
    4. Click in the first row of the table proper.
    5. Click on “tr” in the node path bar.[53]
    6. Set the XeLaTeXSpecial attribute to line-before.
    7. Click in the last row of the table proper.
    8. Click on “tr” in the node path bar.[53]
    9. Set the XeLaTeXSpecial attribute to line-after.

6.1.5 Attribute Summary

The attributes used in the various elements within a table are summarized in the table in (162).[12] Not every element in a table has all of these attributes, but they are all listed here for ease of reference. When you are using the default way of producing PDF, you can use the XeLaTeXSpecial attribute of the tr element to add a horizontal line when you need an extra one. See line-before and line-after in Appendix D.

(162)
Attribute Possible Values Meaning
align[64] left, center, right, or justify Horizontal alignment within the element.
backgroundcolor (user control) A color name or code to be used as the background color of this table, row or cell.[65]
border (user control) A number (usually either 0 or 1) indicating the width of the border.
cellpadding (user control) The spacing within table cells. (This does not work for the default XeLaTeX way of producing PDF.)
cellspacing (user control) The spacing between table cells. (This does not work for the default XeLaTeX way of producing PDF.)
colspan (user control) The number of columns spanned by the table cell. (You may well just want to use the Table Cell menu items to deal with this instead.)
direction ltr, rtl or inherit Whether the text is to flow left-to-right (ltr) or right-to-left (rtl). Theinherit value indicates that this cell should use a value for this attribute that is the same as what its parent elements use.
pagecontrol keepAllOnSamePage or letFormatterDecide Whether the entire table (for a table element) or the row should be kept on the same page for sure (keepOnSamePage) or to just let the formatter decide (letFormatterDecide). The default is to let the formatter decide. (This only works with the RenderX XEP way of producing PDF.)
rowspan (user control) The number of rows spanned by the table cell. (You may well just want to use the Table Cell menu items to deal with this instead.)
type (user control) A way to add special effects. See section 10.1.
valign top, middle, bottom, or baseline Vertical alignment of the element with respect to other parts of the table.
width (user control) Specifies the width of the element. It may be a percentage of the total width.

6.1.6 Tables in Default PDF Output

When using the default way of producing PDF (via XeLaTeX), there are some special cases you may run into. See the first five bullet points in section 11.17.1.1.

In addition, you may find you need to set the XeLaTeXSpecial attribute sometimes to get certain special effects. The following lists them with links to where the content of the XeLaTeXSpecial attribute is found.

6.1.7 Epigraph

As Judicial Accountability Institute (2018) notes,

An epigraph is a stylistic device a writer uses – a quote, phrase, a poem, etc.—placed at the beginning of a work that serves as a kind of summary or preface that links the work to something greater in the literary canon. A writer usually intends to put his work within a context or to invite comparison with other literary works.

While XLingPaper does not have an element specifically for an epigraph, you can use a table element to produce an epigraph. You can use the various attributes to center, align it to the left or right, produce the spacing and content, etc., you need.

Alternatively, you can use a blockquote element.

6.2 Charts

One can also create charts. Chart elements can be placed between paragraphs or as examples. The content of a chart can either be “plain” text or an image (i.e. graphic) file.[66] In addition, you can use any list element (ol, ul, or dl) or a hanging indent paragraph (hangingIndent). The latter can be useful for entering dictionary entry examples.[67]

Suppose we want to create a non-example chart that shows an image (by the way, this is exactly what all the screenshots in this document are). We can insert a chart as shown in (163).

(163)

When you select chart(with_image) and press the Enter key, it should look like this:

(164)

When you click on the symbol, you can set the attributes for this image.[12] It should look like this:

(165)

You can either type in the name of the image file in the src attribute or you can do this:

  1. Click on src in the Attributes Tool.[12]
  2. Click on the Browse Files... button as indicated by the large black arrow below:
  3. This calls up a dialog you can use to locate the file you want.

If you want, you can also type in a text description of the image in the description attribute (on a web page, this description will be used if the image file is not available). Once you type the name of the image file (and press the Enter key), the image will appear within the XMLmind XML Editor itself.

For example, if the image is in a file called ParseC.gif, then if we key things as shown in (166), the corresponding output will be as in (167).[68]

(166)
(167)

You may find it helpful to set the background of an image to be transparent. This may especially be the case if the image is in an example with an example heading.

Sometimes the graphic appears very large within the XMLmind XML Editor. You can make it appear smaller by setting either the height or the width attribute (or both) to a number. This value indicates the number of pixels to use for showing the graphic image. Some possible values are on the order of 300 or 500, depending on your screen resolution and the size of the XMLmind XML Editor window on your computer. Please note that these values are just for showing the image within the XMLmind XML Editor. They are not used when creating any of the XLingPaper output formats.

If you want to center an image, use a table element (instead of a chart element). Make it have one column and one row (see section 6.1). In the table cell (td element), insert an img element. On the table element itself, set the border attribute to be 0 and set the align attribute to be center.[12]

Note that if you try to use “plain” text instead of an image in a chart, you will probably want to use non-breaking spaces[69] before the text in each line and insert a br element[18] at the end of each line. Otherwise, the result will probably not be formatted the way you had hoped.

6.3 Trees

One can also create tree diagrams. From one perspective, tree diagrams are just charts. We have chosen to use a distinct element for trees and charts, however, as linguists typically consider these to be different things. You can type plain text to try and format the tree (by using a lot of non-breaking spaces[69] at the beginning of lines and br elements at the end of each line, for example) or you can use some tool to produce a tree image file (e.g. LingTree[70]). I recommend using the latter.

Tree elements can be placed between paragraphs or as examples. Suppose we want to create a non-example tree that shows an image file created by the LingTree program. We can insert a tree as shown in (168).

(168)

When you select tree(with_image) and press the Enter key, it should look like this:

(169)

When you click on the symbol, you can set the attributes for this image.[12] It should look like this:

(170)

You can either type in the name of the image file in the src attribute or you can do this:

  1. Click on src in the Attributes Tool.[12]
  2. Click on the Browse Files... button as indicated by the large black arrow below:
  3. This calls up a dialog you can use to locate the file you want.

If you want, you can also type in a text description of the image in the description attribute (on a web page, this description will be used if the image file is not available). Once you type the name of the image file (and press the Enter key), the image will appear within the XMLmind XML Editor itself.

For example, if the image is in a file called rikaykaamaanaykipaq.png, then if we key things as shown in (171), the corresponding output will be as in (172).

(171)
(172)

If you want to make an image file larger or smaller, you can do so by using one of the special attributes on the image element, depending on which output format you are using. See example (173). You may need to play with these values to get the output to look the way you want. Note that none of these will make any difference to how the image file shows within the XMLmind XML Editor.

(173)
Output Format What to do
Web page Set the cssSpecial attribute to be something like this: height:50%; or height:1in; or height:3cm;. Notice the pattern? Always begin with height: and end with a semicolon. In between either use a percentage or a number followed by a unit of measure.
XeLaTeX way of producing PDF (the default method) Set the XeLaTeXSpecial attribute to use the scaled parameter. See appendix D for more.
RenderX XEP way of producing PDF. Set the xsl-foSpecial attribute to be something like this: content-height='50%' or content-height='1in' or content-height='3cm'. The pattern is to use content-height=' followed by a percentage or a number followed by a unit of measure. To be safe, add an extra space at the end.

6.4 Floats (Numbered Tables and Figures)

Some publishers require one to put tables, charts and trees in special formatting items sometimes called “floats.” The idea is that where these items will appear in the published document will “float" depending on what is best as determined by the typesetter.[71] Personally, I am not a fan of floats. Whenever I am reading an article or book that has these, it is often the case that when a figure or table is referenced in the text, it is very hard to know where to look for the figure or table. Even though they are numbered, they typically do not appear very often so one does not know whether to look ahead or behind nor how far. It also is often the case that no list of figures or list of tables were provided, making it even more challenging to find the correct float.[72] Therefore, I am only reluctantly providing floats for XLingPaper. Please be nice to your readers and not use them unless absolutely necessary.

XLingPaper provides two kinds of floats: figures and numbered tables. Please note, however, that typesetters generally consider it bad style to mix footnotes with floats. Therefore, if there are any embedded endnote elements, the item will show up “in place.” Also note that any floats will not appear in the output when producing a Word 2003 document (see section 11.18).[73]

Something else to keep in mind is that these floats are intended to occur relatively infrequently. There should be lots of text and/or examples and/or other tables, etc. between them. If you have many of these in a row, the XeLaTeX way of producing PDF may well fail or the results may be very ugly.

6.4.1 Figures

Figures consist of a required chart element and an optional caption element. XLingPaper will automatically number the figures in your document. (Figures are numbered independently of numbered tables.) For papers, each figure is numbered consecutively. For books (i.e. documents containing chapter elements), the numbering for figures starts over with each chapter and appendix. The chapter number and appendix letter are prepended to the figure number.

Whether the caption appears before or after the chart is determined by the figureLabelAndCaptionLocation attribute of the lingPaper element. The default is set to after. To change the default setting or to overtly set the figureLabelAndCaptionLocation attribute, click on “lingPaper” in the node path bar.[53] Then use the Attribute tool[12] to find and change the figureLabelAndCaptionLocation attribute.

If you have an XLingPaper document for which you want to convert existing chart elements into figure elements, do the steps outlined in example (174) for each such chart element. Please note, however, that this will only work for chart elements that are not part of an example element.

(174)
  1. Click in the chart element.
  2. Click on “chart” in the node path bar.[53]
  3. Do a "Convert [Wrap]" operation via Edit / Convert [wrap], pressing Ctrl-Shift-T, or by clicking on the convert [wrap] icon in the Edit tool.[3]
  4. Select figure.

To create a figure from scratch, do an insert before or insert after operation[18] and choose one of the figure options. For example, if we chose figure(with_caption_and_image), we would get what is shown in example (175).

(175)

Like other elements which can be referred to, figures have an id attribute. I suggest that you begin all figure id attributes with the letter "f."[16] The patches are for where you key your caption. See section 6.2 for how to set the image of the chart.

As an example, if you had the appropriate image file, then you could create a figure like what is in example (176).

(176)

If this is the first figure in the document, it will come out as in example (177).

(177)

Figure 1 Pronominal reference inclusion

The word "Figure" before the number is used by default. If you wish to use some other label, then you will need to change the figureLabel attribute of the lingPaper element. To set the figureLabel attribute, click on “lingPaper” in the node path bar.[53] Then use the Attribute tool[12] to find and change the figureLabel attribute.

One can also produce an automatically generated list of figures for one's XLingPaper document. One does this by inserting a listOfFiguresShownHere element within a preface or glossary element. Usually the preface or glossary element is a distinct preface or glossary and contains just the list of figures. You change the label attribute of the preface or glossary element to be something like “List of Figures” and so it will appear that way in the table of contents. The list of figures will include the figure label, figure number and any caption.[74]

The attributes of the figure element are summarized in the table in (178).[12]

(178)
Attribute Possible Values Meaning
align left, center, right, or justify Horizontal alignment for the figure.
cssSpecial (user control) This is a way to allow the user to add Cascading Style Sheet attributes which are not defined in other attributes of a figure element. CSS attributes only work for web page output. Click here to see one web page that defines these attributes. Note that each Cascading Style Sheet attribute needs to end with a semicolon (;) and should be followed by a space.
id (user control) The unique identifier for this figure to be used in this document. This identifer should contain only letters and digits; no spaces.
location here, bottomOfPage or topOfPage (the default is here) This is a hint to the program that produces PDF output about where you would like the figure to appear. The formatting program makes the final decision for bottomOfPage and topOfPage. For here the figure will appear in its place in the flow of the text. The webpage output process ignores this attribute.
type (user control) A way to add special effects. See section 10.1.
XeLaTeXSpecial (user control) This is a way to allow the user to add special attributes for the included XeLaTeX processor that produces PDF. It is intended to be used only for attributes which are not defined in other attributes of a type element. XeLaTeX attributes only work for the “default” PDF output. Each one needs to be followed by a space. See appendix D.
xsl‑foSpecial (user control) This is a way to allow the user to add XSL-FO attributes which are not defined in other attributes of a figure element. XSL-FO attributes only work for the RenderX XEP way of producing PDF and Microsoft Word 2003 output. Each one needs to be followed by a space.[8]

6.4.2 References to Figures

As noted in section 6.4.1, you should give each figure a unique identifier name (that begins with a lower case f). This is so you can refer to the figure elsewhere in the paper.

To make such a reference to a figure, you use the figureRef element. While typing text (such as in a p (paragraph) element), insert an element[18] and choose figureRef. You will see . If you immediately press the F11 key on your keyboard (or click on the black drop-down arrow or use menu items XLingPaper / Set Reference F11 or if you right-click on it and choose Set Reference), a dialog box will pop up that lists all the figure identifiers and their captions in your document.

You can type the identifier you want in the text box or scroll down until you find the one you want. Note that capitalization is significant when typing. When your document is processed, a hyperlink is made between the reference and the figure.[20]

6.4.2.1 Controlling Text before a Reference to a Figure

One can also control what text precedes a figure reference, if one so chooses. Some people like to use a word such as “figure,” whereas others prefer to not have anything. One challenge with actually keying or not keying such words is that some publishers may want the author to do it one way or the other. In fact, some publications want authors to use capitalized "Figure" while others want authors to use lower case "figure".

In an effort to minimize an author's effort in dealing with this situation, XLingPaper provides you with the option of never keying such words, but rather to have them be inserted automatically when the paper (or book) is formatted. That is, if you so choose, you can never key words such as “figure” before a figureRef element. Which word or symbol will appear before them, if any, is controlled by setting various attributes of the figureRef element and the lingPaper element.[75] Please note that the default situation is for XLingPaper to not automatically insert these words; but if you wish, you can have XLingPaper insert them for you.

Example (179) lists the attributes of the lingPaper element that are relevant to this discussion. To modify them, click on “lingPaper” in the node path bar.[53] Then change them using the Attributes Tool.[12] Note that the key attribute is figureRefDefault. The other four are there so you can change the default text to what you need. There are four cases for whether the text needs to be capitalized or not and for whether there is only one reference or several. The default is to use the English words “figure,” “figures,” “Figure,” and “Figures” as appropriate. The “label” attributes are there so if you are writing in a non-English language, you can use the appropriate terms for that language.

(179)
Attribute Possible Values Meaning
figureRefCapitalizedPluralLabel (user control) This is the text to use before a plural figureRef element when the inserted text needs to be capitalized. If it is empty and the figureRef element is tagged for using capitalizedPlural (or capitalizedPlural is the default), then the word “Figures” will be inserted before the figure reference in the output.
figureRefCapitalizedSingularLabel (user control) This is the text to use before a single figureRef element when the inserted text needs to be capitalized. If it is empty and the figureRef element is tagged for using capitalizedSingular (or capitalizedSingular is the default), then the word “Figure” will be inserted before the figure reference in the output.
figureRefDefault none, capitalizedPlural, capitalizedSingular, plural, or singular. This sets the default behavior for inserting text before a figureRef element. The normal value for this is none which means that no text will be inserted. If you set it to, say, singular, then whenever the textBefore attribute of the figureRef element is set to useDefault, the text for the “singular” label will be used. See figureRefSingularLabel.
figureRefPluralLabel (user control) This is the text to use before a plural figureRef element. If it is empty and the figureRef element is tagged for using plural (or plural is the default), then the word “figures” will be inserted before the figure reference in the output.
figureRefSingularLabel (user control) This is the text to use before a single figureRef element. If it is empty and the figureRef element is tagged for using singular (or singular is the default), then the word “figure” will be inserted before the figure reference in the output.

The relevant attribute for controlling this text in the figureRef element is given in example (180).

(180)
Attribute Possible Values Meaning
textBefore none, capitalizedPlural, capitalizedSingular, plural, singular, or useDefault.
This indicates what text, if any, should be inserted in the output before the section reference. The normal value for this is useDefault which means that what text is inserted depends on the value of the figureRefDefault attribute of the lingPaper element. See figureRefDefault. All of the other values override this default. Each one is listed below.
none No text will be inserted. This is useful for when you have a list of figure references and you do not want to insert any text before the second, third, etc. references.
capitalizedPlural The word “Figures” will be inserted before the figure reference unless you have keyed text in the figureRefCapitalizedPluralLabel attribute of the lingPaper element. In this case that text will be used instead of “Figures” (see figureRefCapitalizedPluralLabel). This is useful for when you have a list of figure references and the first one begins a sentence. Mark the first figureRef with capitalizedPlural and then mark all the other figureRef elements in the list with none.
capitalizedSingular The word “Figure” will be inserted before the figure reference unless you have keyed text in the figureRefCapitalizedSingularLabel attribute of the lingPaper element. In this case that text will be used instead of “Figure” (see figureRefCapitalizedSingularLabel). This is useful for when you have a figure reference that begins a sentence.
plural The word “figures” will be inserted before the figure reference unless you have keyed text in the figureRefPluralLabel attribute of the lingPaper element. In this case that text will be used instead of “figures” (see figureRefPluralLabel). This is useful for when you have a list of figure references and the first one is in the middle of a sentence. Mark the first figureRef with plural and then mark all the other figureRef elements in the list with none.
singular The word “figure” will be inserted before the figure reference unless you have keyed text in the figureRefSingularLabel attribute of the lingPaper element. In this case that text will be used instead of “figure” (see figureRefSingularLabel). If you have set the figureRefDefault attribute of the lingPaper element to singular, then you should not need to ever set this value. This is normally only useful for when you have set the figureRefDefault attribute to something other than singular.

6.4.2.2 Showing the Caption of a Figure

It is also possible to show just the caption or the short caption of a figure. One uses the showCaption attribute to control this as explained in example (181).

(181)
Attribute Possible Values Meaning
showCaption numberOnly, full, short.
This indicates whether the caption of the targeted figure should be output or just the number. The normal value for this is numberOnly which means that only the number will be output.. All of the other values override this default. Each one is listed below.
numberOnly The figure number will be output. This is the default value.
full Instead of the figure number, the full caption of the figure will be output. The full caption is in the caption element.
short Instead of the figure number, the short caption of the figure will be output. The short caption is in the shortCaption element. If there is no short caption, the full caption will be used.

6.4.3 Numbered Tables

Numbered tables consist of a required tablenumbered element[76] and either a required table element or a required img element.[77] XLingPaper will automatically number the tables in your document. (These tables are numbered independently of figures.) For papers, each numbered table is numbered consecutively. For books (i.e. documents containing chapter elements), the numbering for numbered tables starts over with each chapter and appendix. The chapter number and appendix letter are prepended to the table number.

If you have an XLingPaper document for which you want to convert existing table elements into tablenumbered elements, do the steps outlined in example (182) for each such table element. Please note, however, that this will only work for table elements that are not part of an example element.

(182)
  1. Click in the table element.
  2. Click on “table” in the node path bar.[53]
  3. Do a "Convert [Wrap]" operation via Edit / Convert [wrap], pressing Ctrl-Shift-T, or by clicking on the convert [wrap] icon in the Edit tool.[3]
  4. Select tablenumbered.

To create a numbered table from scratch, do an insert before or insert after operation[18] and choose one of the tablenumbered options. For example, if we chose tablenumbered(caption_with_head_row), we would get what is shown in example (183).

(183)

Like other elements which can be referred to, numbered tables have an id attribute. I suggest that you begin all numbered table id attributes with the letters "nt."[16] The patches are for where you key your caption. See section 6.1 for how to create and edit the content of a table.

Whether the caption appears before or after the table is determined by the tablenumberedLabelAndCaptionLocation attribute of the lingPaper element. The default is set to before. To change the default setting or to overtly set the tablenumberedLabelAndCaptionLocation attribute, click on “lingPaper” in the node path bar.[53] Then use the Attribute tool[12] to find and change the tablenumberedLabelAndCaptionLocation attribute.

As an example, you could create a numbered table like what is in example (184).

(184)

If this is the first numbered table in the document, it will come out as in example (185).

(185)

Table 1 Some Latin declension classes

Declension Citation Form Gloss Dative Plural
I causa reason caus-is
II annus year ann-is
III civis citizen civ-ibus
IV manus hand man-ibus
V dies day di-ebus

The word "Table" before the number is used by default. If you wish to use some other label, then you will need to change the tablenumberedLabel attribute of the lingPaper element. To set the tablenumberedLabel attribute, click on “lingPaper” in the node path bar.[53] Then use the Attribute tool[12] to find and change the tablenumberedLabel attribute.

One can also produce an automatically generated list of numbered tables for one's XLingPaper document. One does this by inserting a listOfTablesShownHere element within a preface or glossary element. Usually the preface or glossary element is a distinct preface or glossary and contains just the list of tables. You change the label attribute of the preface or glossary element to be something like “List of Tables” and so it will appear that way in the table of contents. The list of numbered tables will include the table label, table number and any caption.[78]

The attributes of the tablenumbered element are summarized in the table in (186).[12]

(186)
Attribute Possible Values Meaning
cssSpecial (user control) This is a way to allow the user to add Cascading Style Sheet attributes which are not defined in other attributes of a tablenumbered element. CSS attributes only work for webpage output. Click here to see one webpage that defines these attributes. Note that each Cascading Style Sheet attribute needs to end with a semicolon (;) and should be followed by a space.
id (user control) The unique identifier for this numbered table to be used in this document. This identifer should contain only letters and digits; no spaces.
location here, bottomOfPage or topOfPage (the default is here) This is a hint to the program that produces PDF output about where you would like the figure to appear. The formatting program makes the final decision for bottomOfPage and topOfPage. For here the figure will appear in its place in the flow of the text. The webpage output process ignores this attribute.
type (user control) A way to add special effects. See section 10.1.
XeLaTeXSpecial (user control) This is a way to allow the user to add special attributes for the included XeLaTeX processor that produces PDF. It is intended to be used only for attributes which are not defined in other attributes of a type element. XeLaTeX attributes only work for the “default” PDF output. Each one needs to be followed by a space. See appendix D.
xsl‑foSpecial (user control) This is a way to allow the user to add XSL-FO attributes which are not defined in other attributes of a tablenumbered element. XSL-FO attributes only work for the RenderX XEP way of producing PDF and Microsoft Word 2003 output. Each one needs to be followed by a space.[8]

6.4.4 References to Numbered Tables

As noted in section 6.4.3, you should give each numbered table a unique identifier name (that begins with lower case nt). This is so you can refer to the numbered table elsewhere in the paper.

To make such a reference to a numbered table, you use the tablenumberedRef element. While typing text (such as in a p (paragraph) element), insert an element[18] and choose tablenumberedRef. You will see . If you immediately press the F11 key on your keyboard (or click on the black drop-down arrow or use menu items XLingPaper / Set Reference F11 or if you right-click on it and choose Set Reference), a dialog box will pop up that lists all the numbered table identifiers and their captions in your document.

You can type the identifier you want in the text box or scroll down until you find the one you want. Note that capitalization is significant when typing. When your document is processed, a hyperlink is made between the reference and the numbered table.[20]

6.4.4.1 Controlling Text before a Reference to a Numbered Table

One can also control what text precedes a numbered table reference, if one so chooses. Some people like to use a word such as “table,” whereas others prefer to not have anything. One challenge with actually keying or not keying such words is that some publishers may want the author to do it one way or the other. In fact, some publications want authors to use capitalized "Table" while others want authors to use lower case "table".

In an effort to minimize an author's effort in dealing with this situation, XLingPaper provides you with the option of never keying such words, but rather to have them be inserted automatically when the paper (or book) is formatted. That is, if you so choose, you can never key words such as “table” before a tablenumberedRef element. Which word or symbol will appear before them, if any, is controlled by setting various attributes of the tablenumberedRef element and the lingPaper element.[75] Please note that the default situation is for XLingPaper to not automatically insert these words; but if you wish, you can have XLingPaper insert them for you.

Example (187) lists the attributes of the lingPaper element that are relevant to this discussion. To modify them, click on “lingPaper” in the node path bar.[53] Then change them using the Attributes Tool.[12] Note that the key attribute is tablenumberedRefDefault. The other four are there so you can change the default text to what you need. There are four cases for whether the text needs to be capitalized or not and for whether there is only one reference or several. The default is to use the English words “table,” “tables,” “Table,” and “Tables” as appropriate. The “label” attributes are there so if you are writing in a non-English language, you can use the appropriate terms for that language.

(187)
Attribute Possible Values Meaning
tablenumberedRefCapitalizedPluralLabel (user control) This is the text to use before a plural tablenumberedRef element when the inserted text needs to be capitalized. If it is empty and the tablenumberedRef element is tagged for using capitalizedPlural (or capitalizedPlural is the default), then the word “Tables” will be inserted before the numbered table reference in the output.
tablenumberedRefCapitalizedSingularLabel (user control) This is the text to use before a single tablenumberedRef element when the inserted text needs to be capitalized. If it is empty and the tablenumberedRef element is tagged for using capitalizedSingular (or capitalizedSingular is the default), then the word “Table” will be inserted before the numbered table reference in the output.
tablenumberedRefDefault none, capitalizedPlural, capitalizedSingular, plural, or singular. This sets the default behavior for inserting text before a tablenumberedRef element. The normal value for this is none which means that no text will be inserted. If you set it to, say, singular, then whenever the textBefore attribute of the tablenumberedRef element is set to useDefault, the text for the “singular” label will be used. See tablenumberedRefSingularLabel.
tablenumberedRefPluralLabel (user control) This is the text to use before a plural tablenumberedRef element. If it is empty and the tablenumberedRef element is tagged for using plural (or plural is the default), then the word “tables” will be inserted before the numbered table reference in the output.
tablenumberedRefSingularLabel (user control) This is the text to use before a single tablenumberedRef element. If it is empty and the tablenumberedRef element is tagged for using singular (or singular is the default), then the word “table” will be inserted before the numbered table reference in the output.

There is only one relevant attribute for the tablenumberedRef element. It is given in example (188).

(188)
Attribute Possible Values Meaning
textBefore none, capitalizedPlural, capitalizedSingular, plural, singular, or useDefault.
This indicates what text, if any, should be inserted in the output before the section reference. The normal value for this is useDefault which means that what text is inserted depends on the value of the tablenumberedRefDefault attribute of the lingPaper element. See tablenumberedRefDefault. All of the other values override this default. Each one is listed below.
none No text will be inserted. This is useful for when you have a list of numbered table references and you do not want to insert any text before the second, third, etc. references.
capitalizedPlural The word “Tables” will be inserted before the numbered table reference unless you have keyed text in the tablenumberedRefCapitalizedPluralLabel attribute of the lingPaper element. In this case that text will be used instead of “Tables” (see tablenumberedRefCapitalizedPluralLabel). This is useful for when you have a list of numbered table references and the first one begins a sentence. Mark the first tablenumberedRef with capitalizedPlural and then mark all the other tablenumberedRef elements in the list with none.
capitalizedSingular The word “Table” will be inserted before the numbered table reference unless you have keyed text in the tablenumberedRefCapitalizedSingularLabel attribute of the lingPaper element. In this case that text will be used instead of “Table” (see tablenumberedRefCapitalizedSingularLabel). This is useful for when you have a numbered table reference that begins a sentence.
plural The word “tables” will be inserted before the numbered table reference unless you have keyed text in the tablenumberedRefPluralLabel attribute of the lingPaper element. In this case that text will be used instead of “tables” (see tablenumberedRefPluralLabel). This is useful for when you have a list of numbered table references and the first one is in the middle of a sentence. Mark the first tablenumberedRef with plural and then mark all the other tablenumberedRef elements in the list with none.
singular The word “table” will be inserted before the numbered table reference unless you have keyed text in the tablenumberedRefSingularLabel attribute of the lingPaper element. In this case that text will be used instead of “table” (see tablenumberedRefSingularLabel). If you have set the tablenumberedRefDefault attribute of the lingPaper element to singular, then you should not need to ever set this value. This is normally only useful for when you have set the tablenumberedRefDefault attribute to something other than singular.

6.4.4.2 Showing the Caption of a Numbered Table

It is also possible to show just the caption or the short caption of a numbered table. One uses the showCaption attribute to control this as explained in example (189).

(189)
Attribute Possible Values Meaning
showCaption numberOnly, full, short.
This indicates whether the caption of the targeted numbered table should be output or just the number. The normal value for this is numberOnly which means that only the number will be output.. All of the other values override this default. Each one is listed below.
numberOnly The table number will be output. This is the default value.
full Instead of the table number, the full caption of the numbered table will be output. The full caption is in the caption element.
short Instead of the table number, the short caption of the numbered table will be output. The short caption is in the shortCaption element. If there is no short caption, the full caption will be used.

6.4.5 Convert Regular Table to a Numbered Table

There are two cases where you might want to convert a table into a numbered table. As mentioned above in section 6.4.3, one case is when you have a table element that stands alone. To convert such existing table elements into tablenumbered elements, do the steps outlined in example (190) for each such table element.

(190)
  1. Click in the table element.
  2. Click on “table” in the node path bar.[53]
  3. Do a "Convert [Wrap]" operation via Edit / Convert [wrap], pressing Ctrl-Shift-T, or by clicking on the convert [wrap] icon in the Edit tool.[3]
  4. Select tablenumbered.

For the case where you have a table element in an example, do the steps outlined in example (191).

(191)
  1. Click in the table element.
  2. Click on “example” in the node path bar.[53]
  3. Do a "Convert" operation via Edit / Convert, pressing Ctrl-T, or by clicking on the convert icon in the Edit tool.[3]
  4. Select tablenumbered.

7 Lists

Lists come in three varieties:

Each one is explained and illustrated in the following sections.

7.1 Unordered or Bulleted Lists

Unordered or bulleted lists consist of items, each of which is tagged with a bullet. To create an unordered list, insert a ul element:[18]

(192)

When you select ul and press the Enter key, it should look like this:

(193)

That is, it begins with two bulleted list items. You can start typing the content of each item. You can insert another item (which is an li element) by either typing Enter, Ctrl+Enter or by inserting before or after.[18]

For example, if you type what is shown in (194), the corresponding output will be as in (195).

(194)
(195)
  • This is the first item in the list.
  • Here is the second item
  • This is the final item.

One can embed lists within lists. Normally, one uses the same kind of list for both the outside and inside lists, but one can mix the varieties. To embed a list, click on the end of the text in the list item just above where you want to embed the list and insert another ul element.[18] It should look like this:

(196)

You can now start typing the content of the embedded list, add new list items, etc.

To remove an item from a list, you can click on the li element in the node path bar.[53] This will select the entire list item. You can now delete it (by typing Ctrl+k), cut it or copy it. If you cut or copy it, you can then paste it in another place in a list.

7.2 Ordered or Numbered Lists

Ordered or numbered lists consist of items, each of which is tagged with a number or letter in sequence. To create an ordered list, insert an ol element:[18]

(197)

When you select ol and press the Enter key, it should look like this:

(198)

That is, it begins with two numbered list items. You can start typing the content of each item. You can insert another item (which is an li element) by either typing Enter, Ctrl+Enter or by inserting before or after.[18]

For example, if you type what is shown in (199), the corresponding output will be as in (200).

(199)
(200)
  1. This is the first item in the list.
  2. Here is the second item
  3. This is the final item.

One can embed lists within lists. Normally, one uses the same kind of list for both the outside and inside lists, but one can mix the varieties. To embed a list, click on the end of the text in the list item just above where you want to embed the list and insert another ol element.[18] It should look like this:

(201)

You can now start typing the content of the embedded list, add new list items, etc.

To remove an item from a list, you can click on the li element in the node path bar.[53] This will select the entire list item. You can now delete it (by typing Ctrl+k), cut it or copy it. If you cut or copy it, you can then paste it in another place in a list.

7.2.1 Controlling Numbers and/or Letters Used

For ordered lists, XLingPaper defaults to numbering the list elements at the highest level (i.e., using 1, 2, 3,... for each list item). If there is a nested ordered list at the second level, then it uses lower case letters (i.e., a, b, c, ...). For a third level nested ordered list, it uses lower case roman numerals (i.e., i, ii, iii, iv, v, ...). If there is a fourth level nested ordered list, it will use numbers again. It repeats this “numbers, lower case letters, lower case roman numerals” for each successive nested ordered list.

There are times when you may want to be able to choose the numbers or letters to use. You do this by setting the numberFormat attribute of the ol element. Example (202) shows the possible values you can use.[79]

(202)
Format Results
1 1, 2, 3, ...
01 01, 02, 03, ...
A A, B, C, ...
a a, b, c, ...
I I, II, III, IV, V, VI, ...
i i, ii, iii, iv, v, vi, ...

Please note that while the output will have the correct number or letter, you will not see them in the XMLmind XML Editor.

7.2.2 Creating an Outline

Sometimes you may want to use an ordered list to create an outline, perhaps in a dissertation proposal to show the proposed content of various chapters and their sections You also want to include the section numbers. You can now do this for the default way of producing PDF only. You do it by nesting ol elements and setting two attributes: numberFormat and numberLevel. Set numberLevel to multiple (which enables it to correctly set the level numbers). You set the numberFormat attribute to values as shown in example (203).

(203)
Format Results
1 1, 2, 3, ...
1.1 1.1, 1.2, 1.3, ...
1.1.1 1.1.1, 1.1.2, 1.1.3, ...
1.1.1.1 1.1.1.1, 1.1.1.2, 1.1.1.3, ...
1.1.1.1.1 1.1.1.1.1, 1.1.1.1.2, 1.1.1.1.3, ...
1.1.1.1.1.1 1.1.1.1.1.1, 1.1.1.1.1.2, 1.1.1.1.1.3, ...

You can also begin the pattern with a capital A if you are showing appendices, say.

When you have more than nine numbered items at any level, then you should use double "11" instead of a single "1". For example, suppose that chapter 5 has eleven sections in it. For chapter 5's embedded ol element, use "1.11”. If any of these subsections of chapter 5 have further subsections, use “1.11.1”, etc. If you just use the usual “1.1” or “1.1.1”, the alignment will not be correct in the PDF.

Please note that while the output will have the correct number or letter, you will not see them in the XMLmind XML Editor.

7.3 Definition Lists

Definition lists are lists whose items have two parts: a term and its definition. Appendix A in this document has such a list in it. To create a definition list, insert a dl element:[18]

(204)

When you select dl and press the Enter key, it should look like this:

(205)

Like unordered and ordered lists, it begins with two definition list items. The term is the one closest to the left and the definition is indented.

You can start typing the content of each term and definition. The term will be bolded (in the XMLmind XML Editor). You can insert another term by clicking at the end of a definition and then doing an insert after[18] for a dt element. When you've typed in the term, you can do an insert after for the dd definition element.

For example, if you type what is shown in (206), the corresponding output will be as in (207).

(206)
(207)
CP
Complementizer phrase
DP
Determiner phrase
NP
Noun phrase

To remove a term from a list, you can click on the dt element in the node path bar.[53] This will select the term item. You can now delete it (by typing Ctrl+k), cut it or copy it. If you cut or copy it, you can then paste it in another place in a list. Similarly, you can select and delete or copy a dd definition element.

The default way of producing PDF does not put the content of the dd element on a new line like the web page output does. If you want it to be on a new line, then set the showddOnNewLineInPDF attribute to yes on the dl element.

8 Citations

A mentioned in section 1, XLingPaper manages references and citations to references. Section 4.5 discusses how to create references. This section shows how to make citations to the references.

Reference citations involve two aspects: the declaration of a label and citations to that label. As with example number names, the label is chosen by the user. A label can be any sequence of letters and numbers the user wishes to use (such as rChomsky81 or rLGB, for example). The id attribute of the refWork element declares the unique label. The citation element refers to the label and XLingPaper will insert the author name(s)[80] and date in an appropriate fashion.

8.1 Basic Examples

As I noted in section 4.5, you should give each reference work a unique identifier name (that begins with a lower case r). This id should consist of letters and numbers, but no spaces. This is so you can refer to the reference elsewhere in the paper.

To make such a citation to a reference, you use the citation element. While typing text (such as in a p (paragraph) element), insert an element[18] and choose citation. You will see . If you immediately press the F11 key on your keyboard (or click on the black drop-down arrow or use menu items XLingPaper / Set Reference F11 or if you right-click on it and choose Set Reference), a dialog box will pop up that lists all the reference works in your references. They will be sorted first by the citename attribute of the refAuthor element (see section 4.5), the date of the refWork, and then by the refTitle element of the refWork. A colon will separate the citename from the title. At the end of the line, the id will be shown within squiggly brackets. For one XLingPaper paper I've worked on, it looked like this:

(208)

You can type the name you want or scroll down until you find the one you want. Note that capitalization is significant when typing. When your document is processed, the citation is created using a standard linguistic format that is also a hyperlink to the referenced work.[20]

Consider the examples shown in (209) which come out as shown in (210) (assuming that the appropriate reference elements have been made).

(209)
(210)

QZ has consonant clusters which violate the normal sonority sequencing patterns given as universals by Greenberg (1978) and further discussed in Bell & Saka (1983) and Selkirk (1984), among others. QZ exhibits many reversed onset clusters consisting of a sonorant or glide followed by an obstruent (data are from Regnier 1989).

...


References

Bell, Alan and Mohamad M. Saka. 1983. "Reversed sonority in Pashto initial clusters." Journal of Phonetics 11:259-275.

Greenberg, J. 1978. "Some generalizations concerning initial and final consonant clusters." In J. Greenberg, ed. Universals of Human Language Vol. 2 Stanford University Press.

Regnier, Sue. 1989. "Quiegolani Zapotec phonology." Summer Institute of Linguistics, Mexico Branch ms.

Selkirk, E.O. 1984. "On the major class features and syllable theory." In M. Aronoff and R. Oehrle, eds. Language Sound Structure MIT Press, Cambridge.

8.2 Controlling the Date

Recall that XLingPaper only includes those reference entries which have a corresponding citation somewhere in the file(s). Suppose that there are two refWork elements for a particular refAuthor element, both of which are for the same year as example (211) below has for Clements (and Dixon, too).

(211)

If only the second such entry is cited in the text (i.e. via a citation element), then the date should be produced as 1985, not as 1985b or even as 1985a. XLingPaper formats this correctly. It adjusts the value of the letter in the date for such entries to correspond to the appropriate value. If there were three dates (such as 1985a, 1985b, and 1985c) and only two were cited (such as 1985b and 1985c), then XLingPaper will output these as 1985a and 1985b, respectively.

The content of the refDate element can be any text, so one can also use strings such as in prep., to appear, or forthcoming as the date.

The placement of the parentheses around the date in the citation within the text can be controlled by the user. The default option is to enclose the date in parentheses. In (209)-(210) above, notice how the citation to Regnier 1989 did not have parentheses around the date. That's because the paren attribute was set to a value of none, which outputs the date without any parentheses. The table in (212) delineates the various options.[12] The last two (citationBoth and citationInitial) will put an opening parenthesis before the author name(s). This is as a convenience for those cases where the citation is to be enclosed in parentheses.

(212)
Attribute Value Meaning
paren both use both opening and closing parentheses around the date
none use neither opening nor closing parentheses around the date
initial use only an opening parenthesis before the date
final use only a closing parenthesis after the date
citationBoth put an opening parenthesis before the author name(s) and also after the date
citationInitial put an opening parenthesis before the author name(s)

8.3 Controlling the Presence of the Author

In addition, one can control whether or not the author name appears. The default action is for the name to appear. If you do not want the author name to appear, use the author attribute and give it a value of no.[12] This is useful when listing several works by the same author(s). For example, if the citations are keyed as in (213), the results will be what is shown in (214) (assuming the appropriate reference entries have been made).

(213)
(214)

This Uto-Aztecan language, spoken in the state of Durango, Mexico, has been described in E.Willett (1981, 1982, 1985), and T.Willett (1991).

...

References

Willett, Elizabeth. 1981. Word Shortening in Southeastern Tepehuan. Grand Forks, N.D.: University of North Dakota M.A. thesis.

Willett, Elizabeth. 1982. "Reduplication and Accent in Southeastern Tepehuan." IJAL 48:168-184.

Willett, Elizabeth. 1985. "Palatalization in Southeastern Tepehuan." IJAL 51:618-620.

Willett, Thomas Leslie. 1991. A Reference Grammar of Southeastern Tepehuan. Summer Institute of Linguistics and The University of Texas at Arlington Publications in Linguistics No. 100. The Summer Institute of Linguistics and the University of Texas at Arlington. Dallas, Texas.

Note in (213) that the citation to rEWillett82 has been selected, so we see the Attribute Tool for this citation. Notice that the author attribute has been set to no and that the paren attribute has been set to none so that just the date appears in (214).

8.4 Controlling Page Numbers

Sometimes a writer wishes to include a page number with the citation. XLingPaper provides a means for doing this. Suppose the references section is the same as that in (209)-(210) above. Then if we set the page attribute to 251 for the Greenberg citation element, the result will be as in (215).

(215)

As Greenberg (1978:251) notes, a voiced consonant may not appear outside of a voiceless obstruent within a single syllable.

The contents of the page attribute[12] of the citation element is inserted after the date with an intervening colon. Any string of characters (not just digits) can be used as a page number.

8.5 Controlling Time Stamps

Sometimes a writer wishes to include a time stamp with the citation for when the referenced material is audio or visual material. XLingPaper provides a means for doing this. You set the timestamp attribute of the citation element to do this.

The contents of the timestamp attribute[12] of the citation element is inserted after the date with an intervening space. Any string of characters can be used as a time stamp.

The expectation is that you will not set both the page and timestamp attributes for a given citation element. If you do, the page number will always appear first.

8.6 Attribute Summary

The reference citation attributes are summarized in (216).[12]

(216)
Attribute Value Meaning
ref (user determined) refers to the id attribute of the refWork element that corresponds to this citation
page (user determined) the page number(s) of the citation
author yes show the author name
no do not show the author name
paren both use both opening and closing parentheses around the date
citationBoth put an opening parenthesis before the author name(s) and also after the date
citationInitial put an opening parenthesis before the author name(s)
none use neither opening nor closing parentheses around the date
initial use only an opening parenthesis before the date
final use only a closing parenthesis after the date

9 Interlinear Text

Some linguistic papers and books include one or more complete interlinear glossed texts, often in one or more appendices. XLingPaper allows you to include such texts. The form of the interlinear within the interlinear text may be the same as any of those described for interlinear examples (see section 5.3). Long interlinears will not automatically wrap except for the XeLaTeX way of producing PDF.[49]

Occasionally, such interlinear text is preceded by the same text in paragraph form.[81] In such cases, use a prose-text element to key the text. Set the lang attribute of the prose-text element to the id attribute value of the language element the text is written in. The text will then be formatted in the output per the information contained in that language element.

It is also possible to insert paragraphs (p elements) or continuation paragraphs (pc elements) between interlinear elements. This can be used to insert commentary on the text.

9.1 Importing a text from SIL FieldWorks Language Explorer

One possible way to include an interlinear text is to use the SIL FieldWorks Language Explorer program to interlinearize a text and then export the entire interlinear text in XLingPaper format. We suggest you use the “XLingPaper, align words" option. You can then open the exported file into the XMLmind XML Editor and merely copy and paste the resulting text into an XLingPaper document. You will also probably need to copy and paste the language elements from the exported file into your document. Most likely you will need to do this one by one. See http://fieldworks.sil.org/flex/ for more on the SIL FieldWorks Language Explorer program.

The ID in the text and textref attributes of the interlinear elements in the exported text have a pattern of “T-IDsomething-line_number” where something is usually a sequence of letters and/or digits and line_number is the line number that shows in SIL FieldWorks Language Explorer.

Note that if you use this option, then most of what is described in the next section has already been done for you.

9.2 Entering an interlinear text by hand

One can also key an entire interlinear text by hand. There are two ways to do this. One is to create an interlinear text as a modular document. You can then make this text be part of more than one XLingPaper document. To do this, use menu items File / New. Scroll down to the XLingPaper section and choose “Interlinear text (part of a modular document).”

The other way is to merely create the text within your current document. To do this, one can, say, perform an insert after command (e.g. press Ctrl+j or right-click and choose Insert After...), and type interlinear-text in the Edit Tool.[3] It should look like this:

(217)

The first option[82] results in the following:

(218)

You can then key in the title of the text and also a shortened title. The shortened title is used when indicating line numbers and also for when an example within the document refers to this text (see section 5.3.4.1).

After this, you can create the interlinear portions which constitute the text. You can use methods similar to those outlined in sections 5.3.1.1-5.3.1.2, including using abbreviations. For example, it might look something like this:[83]

(219)

When formatted, this will look like what is shown in (220).

(220)
Life in Quiegolani
LifeInQ:1
Tempran ra xee noo yrup noo xnaa noo.
tempran r-a xee noo y-chup noo xnaa noo
early H-go rise 1ex P-two 1ex mother 1ex
Early my mother and I would get up.
LifeInQ:2
Bi tap ra noo molin.
bi tap r-a noo molin
at four H-go 1ex mill
At four I would go to the grinder.
LifeInQ:3
Tsano noo nil molin.
ts-a-no noo nil molin
P-go-take 1ex nixtamal mill
I would take the nixtamal to the grinder.

Notice how XLingPaper uses the shortened title and automatically assigns a line number. (If the text was imported from SIL FieldWorks Language Explorer as described in section 9.1, then the line number will be the one given by SIL FieldWorks Language Explorer.) See here for what the ID in the text and textref attributes of the interlinear element looks like for a text taken from SIL FieldWorks Language Explorer. You can simulate this pattern to control the line number XLingPaper will produce in the output.

9.3 Referring to an interlinear within an included interlinear text

If you will want to make reference to a portion of an interlinear, then you should give a unique text ID attribute[16] to the interlinear element in such a portion (this is done automatically for you if you import a text from SIL FieldWorks Language Explorer). Suppose we do this for the second portion of the text shown in (219) above, using an text ID of TLIQ2. (We do this by clicking somewhere in the portion, clicking on ‘interlinear’ in the node path bar[53], and then typing TLIQ2 in the Attributes Tool[12].) The result will be:

(221)

You can now make reference to this in an interlinear example. See section 5.3.4.1 for more on this.

It is also possible to make a reference to an interlinear within text material (such as in a p element or a langData element). To do this, insert an interlinearRefCitation element and set its reference to an interlinear text. See section 12.9 for the easiest way to do this. For example, if we refer to the second portion in (221), it will appear in the output as shown in (222).

(222)
[LifeInQ:2]

It is also possible to refer to the text ID attribute of the entire interlinear text, if the interlinear text has one. In such cases, only the short title of the text will appear.

The attributes of the interlinearRefCitation element are summarized in the table in (223).[12]

(223)
Attribute Possible Values Meaning
textRef (user control) Reference to an ID used in the text attribute of an interlinear element.
bracket both, none, initial, or final (the default is both) This controls the appearance of opening and closing square brackets around the interlinear text name and line number. An opening bracket appears if either both or initial are set. A closing bracket appears if either both or final are set. No brackets appear if none is set.
lineNumberOnly yes or no (the default is no) If this is set to yes, then only the line number will appear, not the text name and the colon.
showTitleOnly short, full or no (the default is no) If this is set to short, then only the short title of the interlinear text will appear. If it is set to full, then only the full title of the interlinear text will appear.

9.4 Referring to an interlinear when the interlinear text is in another document

Sometimes one has a number of distinct XLingPaper documents on a particular language or topic. Some of these documents contain interlinear text. Others are discussions of constructions in the language. In the latter kind of document, one does not want to have to include the entire interlinear text because it is in its own document in the series. And yet, one wants to be able to copy or refer to particular interlinears within the text, including having a hyper-link to the document containing the interlinear text. How does one do this?

First, open the XLingPaper document containing the interlinear text in the XMLmind XML Editor. Make sure that the interlinear-text element itself has the text attribute set to a unique value (this is the ID of the entire interlinear text). Now copy the interlinear-text element as a reference by using menu items Edit / Reference / Copy as Reference.[84]

Second, insert a referencedInterlinearTexts element just before the languages element (near the bottom). It might look something like what is shown in example (224).

(224)

Open up the "Referenced Interlinear Texts" by clicking on the plus sign. You will now see what is shown in example (225).

(225)

Click on "Interlinear text:" and do a paste. This will link in the interlinear text from your other document. Now click on where it says "url" and type in the (relative) location of the file containing the interlinear text. Do not include any file extension. The extension will be supplied automatically by the output.

You can now refer to any interlinear within the interlinear text by following the steps outlined in section 5.3.4.1. Note, however, that the interlinear text itself will not appear in the output.

While using the XMLmind XML Editor version 7.2+, you may get a validity message saying “element has no attribute “xml:lang” [cvc-complex-type.3]”. This error has a red background color. This is caused by a mismatch in the xml:lang attribute of the lingPaper element between the two documents (the master document and the document containing the interlinear text). If your document containing the text, say, has the xml:lang attribute of the lingPaper element set to es but the xml:lang attribute of the lingPaper element of the master document either has the xml:lang attribute of the lingPaper element not set at all or set to something other than es, then you will get this validity message. To fix it, make sure that both documents have the same value in the xml:lang attribute of the lingPaper element. (If the xml:lang attribute of the lingPaper element is empty in both or in the document containing the interlinear text, then you will not get this message.) Note that after changing the xml:lang attribute of the lingPaper element in the master document, you may need to shut down the XMLmind XML Editor editor, restart it, and then reload the master document before it will stop showing the validity message. Further, if your master document is large, it may take a very long time for the change to the xml:lang attribute of the lingPaper element to take effect.

10 Special Effects

XLingPaper allows for two types of special effects.

10.1 Text

Within a paragraph or other text, you may want to create some special effects (such as I do here for the word XLingPaper and for element and attribute names). Normally you will use an object element for these, although there is also the langData element. The latter is to be used for all language data in order to provide a consistent rendering for language data. It also tags all instances of such language data within the document. This is important for archiving purposes.

When you create an XLingPaper document, a pre-defined set of type elements are included. You can see them by opening the very last item as shown in (226).

(226)

One important, but easy to forget, issue is that you are actually tagging your data with these object elements. Thus, it is actually wiser in the long run to create an object element that is for the kind of thing it is as opposed to how you want it to format. This is especially challenging for those of us who have been using programs that show what we are keying in the way it is to appear on paper; we become conditioned to think in terms of formatting rather than in terms of the kind of item it is. By tagging it as a special object, if we (or someone else) ever decide to format these kinds of items differently, it is very easy to change - merely change the formatting information of the type element. If we have merely tagged these as “bold” or “italic” or used some special color, however, we have to manually search through the document to figure out which ones to change.

If you wish to produce some special effect for any non-language data item, follow these steps.

  1. Define a type element within this types element. Give it a unique id attribute.[16] Remember to use only letters and numbers; no spaces. Set its attributes to perform the special effects you want. Note that you can click on the buttons to set font information or to set the color. See section 1.3 for more on these buttons.
  2. In your text, insert an object element.[18] It will look like this: .
  3. Set its type attribute to the id value of the type element that defines the special effect. You can do this by pressing the F11 key on your keyboard (or by using menu items XLingPaper / Set Reference F11 or you can right-click on it and choose Set Reference). When you do this, a dialog box will pop up that lists all the type elements defined in your paper. While writing this section, for example, I just did this and the dialog box looked like this:
    (227)

    You can type the name you want or scroll down until you find the one you want. Note that when you type, capitalization is significant.

    Alternatively, you can use the Attributes Tool[12] to manually set the type attribute to the value you need.

There is another way to do this now, also. You can do this instead:

  1. Type the text you want to tag.
  2. Select it.
  3. Press both the Ctrl and the F11 keys on your keyboard at the same time (or use menu items XLingPaper / Convert selected text to object ). This will immediately convert your selected text into an object element.
  4. The Type chooser dialog above will then be shown and you can select the type of this object.

The attributes of the type element are summarized in the table shown in (228).[12]

(228)
Attribute Possible Values Meaning
after (user control) Text that is to appear after the element. This is what I do here for the XLingPaper object: I never have to type “XLingPaper”. I just create an instance of an object whose type has the after attribute set to XLingPaper.[85] Please note that with the XMLmind XML Editor version 7.3-7.6, when you first insert an object element with an after attribute, you will not see the content of the after attribute. It will show the next time you open the document or if you use menu item View / Redraw. Alternatively, as soon as you finish adding the new object element, type Ctrl-z and then Ctrl-y. Version 8.2 of the XMLmind XML Editor does not have this issue.
before (user control) This is the same as the after attribute, except the text appears before the object. Note that by using both the before and the after attributes, it is possible to surround the content of the object element with some text.
cssSpecial (user control) This is a way to allow the user to add Cascading Style Sheet attributes which are not defined in other attributes of a type element. CSS attributes only work for webpage output. Click here to see one webpage that defines these attributes. Note that each Cascading Style Sheet attribute needs to end with a semicolon (;) and should be followed by a space.
font-family (user control) This is the font name to use (e.g. Times New Roman or Courier New).
font-size (user control) This is the font size. If it is expressed in points, it should have the value followed by pt. Perhaps the wisest way to specify a font size is to use a percentage (e.g. 120%). Then, if you use this element in a secTitle or an endnote element, it should come out proportionately well in those contexts.
font-style normal, italic, oblique, backslant, or inherit You can use this to set the font style. The most common usage will be to set it to italic.
font-variant normal, small-caps, or inherit You can use this to set the font variant. The most common usage will be to set it to small-caps.
font-weight normal, bold, bolder, lighter, 100, ... 900, or inherit You can use this to set the font weight. The most common usage will be to set it to bold.
types One or more references to other type elements. This is a way to define some basic special effects and then to combine them in another type.
XeLaTeXSpecial (user control) This is a way to allow the user to add special attributes for the included XeLaTeX processor that produces PDF. It is intended to be used only for attributes which are not defined in other attributes of a type element. XeLaTeX attributes only work for the “default” PDF output. Each one needs to be followed by a space. See appendix D.
xsl‑foSpecial (user control) This is a way to allow the user to add XSL-FO attributes which are not defined in other attributes of a type element. XSL-FO attributes only work for PDF and Microsoft Word 2003 output. Each one needs to be followed by a space.[8]

You can also add highlights or other effects to a language data item by embedding an object element within a langData element.

10.2 Hypertext Links

There are three kinds of special hypertext links available.

10.2.1 Internal links

The first is for linking material within the document. One does this by inserting[18] a genericRef element within text. The genericRef element has one attribute:[86] gref which should be the id attribute of some section, appendix, example, endnote, or other element that has an id attribute.[87] You can also type some text that will show up as a hyperlink on that text to the appropriate section, appendix, example, endnote, etc.

For example, suppose you want to create a generic reference to a section1 element with an id attribute of sIntroduction. After you insert the genericRef element, it might look like this:

(229)

If you immediately press the F11 key on your keyboard (or click on the black drop-down arrow or use menu items XLingPaper / Set Reference F11 or if you right-click on it and choose Set Reference), a dialog box will pop up that lists all the possible ids that you could use. For one XLingPaper paper I've worked on, it, it looked like this:

(230)

You can type the name of the one you want or scroll down until you find the one you want (sIntroduction in our example here). You can then type some text within the black patch shown in example (229).[20] So if you were to type introduction, it would come out looking like this:

(231)

10.2.2 External Links

For links to items outside of the document, one can use the link element within text or other constructs to link to a media object (for example, a sound file). The link element has one attribute: href which should be the URI of the media object you wish to link to. Type some text or embed an image (via the img element) between the begin link element and its end tag. The result will be a hyperlink on that text and/or image that will link to the media object.

Here are two examples of a link element:

  1. Click here to hear some Mandarin Chinese.
  2. Click on this icon to hear some Mandarin Chinese:

Please note that as a URI, the value of the href attribute should have regular English letters and numbers in it. It is possible to use accented letters in the URI file name, but you may well find that the resulting XLingPaper output (either web page or PDF) will not find the file. There are technical reasons for this.[88] Therefore, we advise you to use basic English letters and numbers whenever possible. When it is not possible, there is a special XLingPaper command you can use to convert your file name to a special URI format. To use this command, do the following:

  1. Use Tools menu item / Execute Command....[38]
  2. In the dialog box that comes up, in the “Command” text box, type “U” (it should then fill in “URIConvertFileNameToURI” for you).
  3. Press the Enter key or click on OK.
  4. This will bring up a dialog asking you to type or copy in the name of the file. Do so and then press the Enter key
  5. You will then see a message telling you that you can paste in the result into the appropriate attribute. For the link element, use the Attributes Tool[12] to edit the href attribute. Select the portion of the value that is the file name you want and do a paste. Press the Enter key.

10.2.3 Media objects

An alternative way is to embed a sound or movie file into a PDF file via the mediaObject element. The way one does this for the default (XeLaTeX) way of producing PDF and the RenderX XEP way of producing PDF differs. (Any mediaObject elements will be converted to hyperlinks in webpage output. The files will not be embedded in the resulting webpage file, however.)

For webpage and the default (XeLaTeX) way of producing PDF, you will need to get the free Symbola font and install it on your computer. You can get it at http://software.sil.org/xlingpaper/resources/symbola-font/. If you installed XLingPaper before version 2.25.0, you will also need to get and install the XeLaTeX upgade package at http://software.sil.org/xlingpaper/resources/xelatex-upgrade/.

The attributes of the mediaObject element used by the XeLaTeX way of producing PDF are summarized in the table in (232).[12]

(232)
Attribute Possible Values Meaning
color (user control) A color name or code to be used as the color of the icon symbol.[65]
font-size (user control) This is the font size. If it is expressed in points, it should have the value followed by pt. Perhaps the wisest way to specify a font size is to use a percentage (e.g. 120%). Then, if you use this element in a secTitle or an endnote element, it should come out proportionately well in those contexts.
icon cinema, moviecamera, opticaldisk, or sound (the default is sound) The icon which will show in the PDF and on which the user can double-click to play the media file. The table in example (233) shows what the icons look like (The size is 3 times normal size for clarity's sake.)
src (user control) The media file to use. Please use just a-z/A-Z letters and numbers; in particular, using an underscore may cause the media file to not appear in the default PDF output.
(233)
icon Image
cinema
moviecamera
opticaldisk
sound

The attributes of the mediaObject element used by the RenderX XEP way of producing PDF are summarized in the table in (234).[12]

(234)
Attribute Possible Values Meaning
contentheight (user control) The height of the box where the media control will show. It should be in points (pt) or inches (in) or centimeters (cm) or millimeters (mm).
contentwidth (user control) The width of the box where the media control will show. It should be in points (pt) or inches (in) or centimeters (cm) or millimeters (mm).
showcontrols yes or no (the default is yes) Whether to show the media player control or not.
src (user control) The media file to use.

Please be aware that including media objects can make the resulting PDF file very large, simply because the PDF file must include all the media object files. Note that when a given media object file occurs more than once in the document, each occurrence will include that file again.

You can easily control whether to include or exclude all mediaObject elements in a given document by setting the includemediaobjects attribute of the lingPaper element to be no (the default is yes). To set the includemediaobjects, click on “lingPaper” in the node path bar.[53]

11 How Do I...

This section lists some answers to some common questions on the order of “How do I do X?”. Some of these are not addressed elsewhere.

11.1 Make some text bold or italic?

If it is language data that you want to come out in bold or italic, then set the font-weight attribute of the appropriate language element to bold for bold or set the font-style attribute to italic for italic. See section 1.3.

If it is just some text that you want to make bold or italic, insert[18] an object element and set its type to bold or italic. See section 10.1.

One important, but easy to forget, issue is that you are actually tagging your data with these object elements. Thus, it is actually wiser in the long run to create an object element that is for the kind of thing it is as opposed to how you want it to format. This is especially challenging for those of us who have been using programs that show what we are keying in the way it is to appear on paper; we become conditioned to think in terms of formatting rather than in terms of the kind of item it is. By tagging it as a special object, if we (or someone else) ever decide to format these kinds of items differently, it is very easy to change - merely change the formatting information of the type element. If we have merely tagged these as “bold” or “italic,” however, we have to manually search through the document to figure out which ones to change.

11.2 Make some text be superscript or subscript?

To make some text be superscript or subscript (whether that text is in language data or not), insert[18] an object element and set its type to superscript or subscript. See section 10.1.

One important, but easy to forget, issue is that you are actually tagging your data with these object elements. Thus, it is actually wiser in the long run to create an object element that is for the kind of thing it is as opposed to how you want it to format. This is especially challenging for those of us who have been using programs that show what we are keying in the way it is to appear on paper; we become conditioned to think in terms of formatting rather than in terms of the kind of item it is. By tagging it as a special object, if we (or someone else) ever decide to format these kinds of items differently, it is very easy to change - merely change the formatting information of the type element. If we have merely tagged these as “bold” or “italic,” however, we have to manually search through the document to figure out which ones to change.

11.3 Make some text come out in color?

If it is language data that you want to always show in a particular color, then set the color attribute of the appropriate language element. See section 1.3.

If it is just some text that you want to show in a particular color, insert[18] an object element and set its type to a color type. You may have to add a type element. See section 10.1.

One important, but easy to forget, issue is that you are actually tagging your data with these object elements. Thus, it is actually wiser in the long run to create an object element that is for the kind of thing it is as opposed to how you want it to format. This is especially challenging for those of us who have been using programs that show what we are keying in the way it is to appear on paper; we become conditioned to think in terms of formatting rather than in terms of the kind of item it is. By tagging it as a special object, if we (or someone else) ever decide to format these kinds of items differently, it is very easy to change - merely change the formatting information of the type element. If we have merely tagged these with some color, however, we have to manually search through the document to figure out which ones to change.

11.4 Set a font size so it works in titles and endnotes as well as other places?

If you have, say, language data that you need to use a large font size for (as often happens with non-roman fonts), if you use a font size set to a particular point size (e.g. 24pt), then your data will always have that size wherever it occurs. This can be problematic for text within elements like secTitle or endnote. The language data will come out either too small or too large.

The solution is to specify a font size that is a percentage (e.g. 120%). Then, if you use this element in a secTitle or an endnote element, it should come out proportionately well in those contexts.

11.5 Get fonts like Charis SIL and Doulos SIL to work well?

If you, like many of us, use the Charis SIL and/or Doulos SIL font in your document, you may notice some unpleasant formatting issues when producing either a webpage or the RenderX XEP PDF output.

I'm told that these fonts have different ascender and descender values than fonts like Times New Roman.[89] So when you try and mix these fonts in a paragraph or in an interlinear example, sometimes the spacing between lines in a paragraph (in a webpage, say) or the horizontal alignment of interlinear lines (in the RenderX XEP PDF output) do not come out as one would like. For example, the webpage problem might be something like what is in (235)[90] where there is extra vertical space between the lines containing one of these fonts.

(235)

For webpage output, one thing you can do is to set the font of your browser to use, say, Charis SIL. It will then look like this:

(236)

Notice that now the line spacing is even.

The problem with the RenderX XEP PDF output might look something like what is shown in (237) where the word in one of these fonts is almost a whole line down from the other items on the line. (This only happens when using the RenderX XEP approach to producing PDF; the XeLaTeX way does not have this problem. See section 11.17.)

(237)

The way to fix this is to add a special formula to the xsl-foSpecial attribute of all language elements that use either the Charis SIL or Doulos SIL font. If you set the xsl-foSpecial attribute to be text-altitude="0.693em" text-depth="0.215em" then it should come out looking more like what is shown in (238).

(238)

11.6 Use small caps for grammatical glosses?

Many authors prefer to use small caps for “grammatical” glosses (e.g. inflectional affix glosses). How does one do this?

One can select the portion of a gloss that is the “grammatical gloss” and then press F5 or select menu item XLingPaper / Mark selection as grammatical gloss. The selected text will be tagged with an object element whose type attribute will be set to tGrammaticalGloss. You will need to make sure you have a type element whose id attribute is set to tGrammaticalGloss. You can format it as you wish, including using small caps (see section 10.1). If you create a new XLingPaper document using version 1.11.0 or later, the “grammatical gloss” type element will automatically be included and set to small caps.

As always when using small caps, remember that only lower case letters come out as small caps. Upper case letters will remain capitalized.

Another thing to remember is that the packages that produce PDF output are typesetting packages and typesetters consider small caps to be distinct fonts. Many of us are used to how programs like Microsoft Word and Internet Explorer will approximate small caps for us. The typesetting tools used to produce PDF versions of a XLingPaper document, however, will only produce true small caps when you have a real small caps font. If you do not have a true small caps font, then XLingPaper will attempt to approximate small caps for you. Be aware, however, that this approximation will not be of the same quality as a true small caps font. If you are using Charis SIL fonts, it is possible to create true small caps versions of these.[91] There is also a set of Charis SIL Small Caps fonts at http://software.sil.org/xlingpaper/resources/small-caps-fonts/.

11.7 Make a List of Abbreviations?

See section 4.6.3 for an automated way of producing a list of abbreviations.

While XLingPaper does not have an overt element for adding a list of abbreviations in the front matter, one can use a preface element to make a list of abbreviations. Here's one way:

  1. In the front matter area, insert a preface element.
  2. In the Attributes Tool,[12] change the label attribute to be “List of Abbreviations”.
  3. Open up the preface element and insert a table.
  4. Edit the table so that it contains your abbreviations along with their meanings.

Note that you can have multiple preface elements in the front matter section, so you can use this method to create other specialized front matter sections.

11.8 Maintain a master list of references?

To create a master list of references,[92] use the File / New menu item. Find the XLingPaper section and select “References (part of a modular document)”.

This will open up a new document that has just the References portion of an XLingPaper document, along with two (blank) refAuthor elements.

Key your reference information, adding new authors and works as needed. (See section 4.5.)

When you have your master references file the way you want it, you can make it be a part of a modular document by doing the following:

  1. Load your main XLingPaper document[93] into the XMLmind XML Editor along with your master references document.
  2. Go to your master references document (i.e. click on its file name tab above the text).
  3. Select the entire document (i.e. click on the bolded References at the top).
  4. Use menu items Edit / Reference / Copy as Reference
  5. Go to your main document
  6. Find the bold References element (near the bottom) and click on it.
  7. Use menu items Edit / Paste
  8. The References element will now have a light aqua background color:
    This indicates that this portion of the main document is linked to your master reference document.

You have now made the linkage between your main document and the master references document.

When you are editing your main document and want to add a reference to your master references document, go to your master references document and make your additions. When you are done making the additions, use menu item Edit / Reference / Edit Referencing Document. This will take you back to your main document.

The next time you need to make an addition to the master references document, you can use menu item Edit / Reference / Edit Referenced Document.

11.9 Find text in a document?

To find text in a document, use the Search Tool. It is located in the same place that the Attributes Tool is,[12] but is on a different tab. The Search Tool's tab icon looks like this:

Click on the Search Tool tab. You will see something like this:

You type in the text you want to look for in the Search box. Notice that the XMLmind XML Editor keeps track of the text you have looked for during the most recent editing session. To see these, click on the drop down arrow in the Search box.

You can choose to control various options by checking the boxes or selecting the direction of the search (up or down).

You start the search by hitting the Enter key or clicking on the Start button. When it finds a match, it shows it. You can then either skip it or the whole element it is in, or stop looking.

11.10 Find and replace text in a document?

To find and replace some text, you do what you need to do to find text (see section 11.9), but you check the Replace box. After checking this box, you can type in the replacement text in the box below Replace. Like the Search text box, the XMLmind XML Editor remembers the replacement texts you have used before during this editing session.

When you start the replace operation, it will find the next instance of the matching text to be searched for. You can then skip it, replace the text or even replace all instances (be careful with the last one so you do not accidentally replace ones you did not intend to replace).

11.11 Do a spelling check?

Unlike earlier versions of the XMLmind XML Editor, XMLmind XML Editor version 7.3+ has a way to dynamically indicate mis-spelled words. Like many other editors, it uses a red squiggle line underneath the word to indicate a word it does not recognize.

You control what language it uses, among other things, by clicking on the Check Spelling dropdown icon at the bottom of the screen. It looks like this: If you click on the part to the left, it controls whether the dynamic spelling checking is done or not (the little check box is checked when it is set to do checking and it not checked when it is not). The dropdown arrow shows a dialog box where you can choose what language to use for the spelling checking and/or to perform a spelling check.

The dialog box looks something like this:

Make sure that the default language is the language your document is written in. If you need a spelling checker for French, German, or Spanish and do not see these languages listed in the Default language drop down, you will need to install the correct addon spelling package. See section 11.11.1 below.

Click on the Start button. When the XMLmind XML Editor finds a word that it does not recognize, it will show it to you in context. You can ignore it, have the spelling checker learn it, or replace it with one of the suggested corrections.

This version of XLingPaper for the XMLmind XML Editor ignores the contents of these elements while doing a spelling check:

11.11.1 Adding a spelling checker language

To add a spelling checker for XMLmind XML Editor version 7.3+, use menu item Options / Install Add-ons. Note that you must be connected to the Internet for this to work. Look in the Category column for “Dictionary”. If you find the language you need, check the box at the beginning of the line and then click on the OK button. This will install the dictionary for you. You will need to restart the XMLmind XML Editor after installing the dictionary files.

11.12 Key ‘smart’ quotes?

From what I can tell, the XMLmind XML Editor does not automatically insert ‘smart’ quotes like Word does. But one can still insert them.

One can use some special key stroke combinations to enter “curved” quote marks. In (239), when there is a plus sign between the keys, type all the keys at the same time as indicated in the “Key stroke combination” column. The result is given in the “Result” column.

(239)
Key stroke combinations Result
Ctrl+' left single quote ( ‘ )
Esc ' right single quote ( ’ )
Ctrl+Shift+' left double quote ( “ )
Esc Shift+' right double quote ( ” )

Another way is to do this:

  1. At the point you want to insert a quote character, type Esc, then immediately type a capital C.[62]
  2. You will see a dialog like this:
  3. As you can see, it has some cryptic names for a whole set of characters.
  4. Type the name for the quote character you want. See the table in (240) to know what name to use.
(240)
Quote What to type
lsquo (for left single quote)
rsquo (for right single quote)
ldquo (for left double quote)
rdquo (for right double quote)

11.13 Key a non-breaking space?

To key a non-breaking space, use the insert character dialog discussed in section 11.12, but type in nbsp (for non-breaking space).

Another way to insert a non-breaking space is to use Ctrl-Space, that is, hold the Ctrl key down while simultaneously pressing the space bar.

11.14 Key a non-breaking hyphen?

To key a non-breaking hyphen, use the insert character dialog discussed in section 11.12, but type in nbhy (for non-breaking hyphen).

11.15 Fix validity problems?

One of the nice things about using the XMLmind XML Editor is that it automatically maintains the structure of an XLingPaper document. One cannot insert an element in an incorrect position. The XMLmind XML Editor simply will not let you do that. And that, of course, is a very good thing.

Nonetheless, there are at least two ways in which an XLingPaper document can have some validity problems. These problems can show up in at least two ways.

First, you may have already noticed that usually there is a green check mark in the lower left corner of the window, as indicated in the following screen shot by the large black arrow.

If the document has a validity problem, this icon will turn yellow like this or it will be red like this .[94]

When your file is saved and there is some such problem, you may also see the Validity tab open up on the right, in the same area where the Attributes tool is. For example, it might look like this:

(241)

Unfortunately, the messages like the ones above in (241) that the validity tool gives are not that easy to understand. The nice thing, though, is that the blue numbers enclosed in square brackets are hyperlinks to the place in your document where the problem is. If you have the red image showing, then these warning messages will have some suggested steps for how to fix the problem.

In (241), there are instances of the two errors I mentioned above:

  1. Error [1] is an instance where an id for an example, section, etc. has already been defined. These ids must be unique, so to have such a message is nice (I just wish the wording was clearer!).
  2. Errors [2] and [3] are instances of the opposite: there is a reference element (e.g. citation, exampleRef, or sectionRef, among others) which is referring to an id that does not exist. Because of this, when you process your XLingPaper document, the reference will not be processed properly (if it can be processed at all). Once again, having this error reported is a good thing.

So to find out where an error is, click on the blue number enclosed in square brackets. The place should open up in the editor and it should be selected. (On rare occasions, clicking on the number will not show you the problem. When this happens, you can try and use the ugly "no style sheet" view. Clicking on the number should then take you to the element that has the problem. To use this view, use the menu item View / 0 (no style sheet). Then click on the number. To return to the nicer XLingPaper view, use menu item View / XLingPap.)

After you fix the errors (and do a save), the Validity tool area should become blank. You will probably then want to click on the Attributes Tool tab.[12]

11.16 Produce a Webpage?

In section 1.2, I mentioned that you can use the XMLmind XML Editor to produce webpages. How does one do that?

Use the menu items XLingPaper / Produce Webpage F7.[95] This invokes a transform on your document and produces a file with the same name as your XLingPaper document file, but with an extension of htm (which is often used for webpages). This new file is in the same directory as your XLingPaper document.[96]

To see what the webpage looks like, you can use the menu items XLingPaper / Show Webpage F8.[97] This starts up your web browser showing your processed file.

Note that once you have an instance of your processed file opened in your web browser, you can do the following steps repeatedly:

  1. Make changes to your document using the XMLmind XML Editor.
  2. Process it to produce a webpage.
  3. Go to your opened webpage and press F5 (or click on the Refresh button). This will cause your browser to reload the now modified webpage.

By following these three steps, you can incrementally write and check the output of your document.

11.17 Produce a PDF Version?

In section 1.2, I mentioned that you can use the XMLmind XML Editor to produce a PDF file version of your document. How does one do that?

Beginning with version 2.6.0 of XLingPaper, there is an automatic way to produce a PDF file. The freely available programs required to do this are included in the XLingPaper configuration installation package (see section 1.2.2). There also is an older way to produce PDF.

Therefore we have two ways to produce PDF. The default way uses XeLaTeX (see section 11.17.1). The older way is to use RenderX XEP (see section 11.17.2). In both cases, the resulting PDF has the fonts used embedded in it.

Also beginning with version 2.6.0, we try to automatically load the PDF file into your default PDF viewer program. On Windows operating systems, because at least some of these programs refuse to allow the PDF file to be changed while they are showing that PDF file, you need to close the file before it can be made again. If you (like me) happen to forget, a message dialog box will be displayed reminding you to do it.

By the way, on Windows operating systems, if you use the freely available Foxit READER program to read your PDF files, then it is possible to enter annotations or comments in the PDF. The Foxit READER can be obtained at http://www.foxitsoftware.com/. See section 11.30 for other ideas on adding comments.

11.17.1 Using XeLaTeX to produce PDF

The first and default[98] way to produce PDF is to use the menu item XLingPaper / Produce PDF F9.[99] This invokes a transform on your document and then tries to run the XeLaTeX tool to produce a PDF file. It will produce a file with the same name as your XLingPaper document file, but with an extension of pdf. This new file is in the same directory as your XLingPaper document. Since it needs to have some working files, it also produces a new sub-directory (XLingPaperPDFTemp) for these files. Please note that it can take a while for the XeLaTeX tool to complete its task. This is especially true the first time you run a document that has fonts the XeLaTeX tool has not seen before. If you note any odd results or errors in the PDF output (or if the PDF output process never finishes), please send an email message to xlingpaper_support@sil.org. Also please see section 11.45.

See the note on reading PDF files above, too.

11.17.1.1 Known limitations of using XeLaTeX

There are some known limitations with the XeLaTeX approach:

  1. Table column widths can be a problem. For very simple tables (i.e., those without any embedded tables or column spans or row spans or overt width specifications), we try to get XeLaTeX to calculate the width of each column. The algorithm used, however, is only approximate and may or may not work well for a given table.
    Therefore, you may well need to adjust column widths by hand. The default is for each column to be as wide as the material in the column. For tables with more horizontal content, this often means that the table is too wide to fit the page. To fix this, you will need to set the width attribute of any cells that are too wide to fit in the space you want them to take.[100] You can use inches (in), millimeters (mm), centimeters (cm), points (pt) or percentages (%).[101] Given how XeLaTeX works, however, you may have to play with the values some to get things to come out just the way you want.
    If you have a “simple” table (one that has neither row spans or column spans), then you can set the width of a column by setting the width attribute of the td or the th element of that column in the first row. If, however, you have either a row span or a column span anywhere in the table, then you will need to overtly set the width attribute for each cell in the column that is too wide.
    One thing you can do to help with figuring out what the column widths should be is to Some screen-oriented ruler programs I have found useful are:
    Operating System Screen-oriented ruler program
    Windows (XP, Vista, Windows 7) JRuler (http://www.spadixbd.com/freetools/?referrer=JRulerUser)
    Mac OS X 10.4+ (Intel processor) Free Ruler (http://www.pascal.com/software/freeruler/). I had to manually adjust the Unit Conversion Settings to be correct for the screen I was using. I did this by using Free Ruler menu item Units / Conversion Settings, Unit Conversion tab.
    Linux The best I found was gruler, also known as ScreenRuler (http://gnomecoder.wordpress.com/screenruler/), although it did not seem to show correct units of measurement. If you discover a better tool, please let me know.
  2. If you have column and row spans in a table, you may find that the positioning that comes out is not quite ideal. Please send an email to xlingpaper_support@sil.org and we'll work on a solution for you.
  3. Currently, the br element does not always work in table cells unless you have overtly specified a width for the cell it is in. If you have not specified a column width, you will need to embed tables within the cell to get the same effect.
  4. Background colors in a table cell that spans more than one row do not come out correctly. Only the first row will have the color.
  5. While background colors can be used in tables, they will not show in other material (e.g. within a chart element).
  6. Sometimes when you have a link element in a paragraph and the URL it contains is rather long, the URL will end up sticking out into the margin. We suggest you insert zero width spaces at appropriate (e.g. punctuation character) places in the URL. See section 11.33 for more on this.
  7. Font names must not have single quotes in them. The PDF may not even be tried if you have some language and/or type element with a font-family attribute that has a single quote in it.
  8. Sometimes pagebreaks seem to be made at odd places. Try using the XeLaTeXSpecial attribute with a pagebreak command to fix it. See appendix D.
  9. If you are using automatic wrapping for interlinear examples and you have either a free or a literal element with an endnote in it and it just so happens that the example is near the bottom of the page, you may find that the footnote content shows up on the next page, not the same page where the footnote should appear. To fix this, set the XeLaTeXSpecial attribute of the free or literal element to fix-free-literal-footnote-placement. See appendix D. The footnote should then appear on the correct page. You can also just try and force the example to be on the next page by setting the XeLaTeXSpecial attribute of the example element to pagebreak.
  10. As mentioned above, the first time you try to produce a PDF file for a document, it may take quite a long time. This is especially so when a document has fonts that the XeLaTeX tool has not seen before. Subsequent processing should be much faster.
  11. The first time you produce PDF for a given document, the page numbers in the table of contents may be shown as '??'. The next time you produce the PDF, the page numbers should show.
  12. Some of the formatting process needs to be run more than once.[102] This means that you may well need to perform the process that produces PDF two or three times before the result is just right. This is especially the case for things like
  13. It does not handle graphic files with a .gif extension, a .tiff extension, a .tif extension, nor with an .odg extension. You have to convert such files to something else like .png or .jpg. Some versions of the Paint program can do this conversion.
  14. It does not handle graphic files with an .svg extension. You have to convert them to PDF first. To do so, start the XMLmind XML Editor, open your XLingPaper document, and then you can use the XLingPaper / Convert .svg file to .pdf menu item. This will allow you to navigate to where you have an .svg file and it will then convert it to a .pdf form. You then need to set any img elements using this graphic file to refer to the .svg form. It will display correctly within the XMLmind XML Editor.
  15. While it will handle PDF files included as graphic files, these PDF files must be PDF version 1.4 or older. Newer PDF file versions will not work (the PDF for the XLingPaper document will fail to be produced). Note that the image will not display correctly within the XMLmind XML Editor since, to my knowledge, there is no add-on package that will display .pdf files within the XMLmind XML Editor.
  16. Currently, it is not possible to control the footnote line length or style ( that is, the publisher style sheet parameters for this do not work; see section 11.25 for more on publisher style sheets or click here to see the documentation on publisher style sheets).
  17. If the very last main item of your document is set to use landscape mode, the table of contents may not show the correct page numbers. To fix this, set the XeLaTeXSpecial attribute of the main item element to fix-final-landscape. See appendix D. The table of contents should then contain the correct page numbers on subsequent runs of producing the PDF (you may have to run it two or three times). Please note that this must only be on the very last main element. If it is on an earlier element, then the PDF may fail to be produced.
  18. A page may have a footnote continuation line at the bottom, but no footnote content when the preceding page has one or more footnotes and the final item on that preceding page is a table or certain kinds of examples. Try forcing a page break (see appendix D) on the last item on the preceding page (if it's a table, try it on one of the rows in the table).
  19. In very rare circumstances, you may get a blank page before a table at the top of the page. Try settting the table's XeLaTeXSpecial attribute to pagebreak. This often removes the unwanted blank page.
  20. If you use an apostrophe character ' in a folder name or in a file name, no PDF output will be produced. Do not use apostrophes in file or folder names.
  21. As of July 25, 2015, there have been two cases reported where a font was not displaying correctly in the XMLmind XML Editor and in the default PDF output. In both cases it was on Windows 7 and in both cases the user had installed a new version of the font in question. It turned out that there were duplicate instances of that font installed. (Why Windows 7 allowed duplicates, I have no idea.) The solution was to get a tool like TypoGraf to see what fonts are truly installed, find the duplicates, delete them, and re-install the one version of the font desired. TypoGraf can be obtained from http://www.neuber.com/typograph/index. Please note that it is *crucial* that you run TypoGraf as Administrator when you try and delete a duplicate font. If you do not, it will look like the font is deleted but it will not be.

11.17.1.2 Installing XeLaTeX

If you used the XLingPaper configuration installation package, then you already have what you need to use the XeLaTeX approach to producing PDF.

If you did not use the XLingPaper configuration installation package, please do so. See section 1.2.2.

11.17.2 Using RenderX XEP to produce PDF

The second way to produce PDF is to use the menu item XLingPaper / Produce PDF (RenderX) Ctrl+Shift+F9.[103] This invokes a transform on your document and then tries to run the RenderX XEP tool to produce a PDF file. If you have the RenderX XEP tool installed on your computer,[104] it will produce a file with the same name as your XLingPaper document file, but with an extension of pdf. This new file is in the same directory as your XLingPaper document. Please note that it can take a while for the RenderX XEP tool to complete its task. If you note any odd results or errors in the PDF output, please send an email message to xlingpaper_support@sil.org.

See the note on reading PDF files above, too.

If you do not have the RenderX XEP tool installed, you will see a message saying that apparently you do not have this tool installed on your machine.

To obtain the RenderX XEP tool, you can download a free, personal use version from http://www.renderx.com/download/personal.html. They also have a free academic version available at http://www.renderx.com/download/academic.html.[105]

11.17.2.1 Known limitations of using RenderX XEP

There are some known limitations with the RenderX XEP approach:[106]

  1. It is extremely hard to install.[107] See section 11.17.2.2.
  2. It is hard to install new fonts (even if those fonts are already on your machine).
  3. It does not handle stacked diacritics (and they have not responded to my requests to fix this.)
  4. Some fonts require special handling. See section 11.5.
  5. It is not able to format morpheme-aligned interlinear (as described in section 5.3.1.3).
  6. If one uses an interlinearRef element within a listInterlinear element, the interlinearRef does not right-justify properly. (See section 5.3.4 for more on the interlinearRef element.)
  7. An interlinear example in footnotes may come out with the words having too much space between them.
  8. Any blockquote elements within an li element will not be indented properly.

11.17.2.2 Installing RenderX XEP

Installing the RenderX XEP tool, unfortunately, is non-trivial, to put it mildly. I have no idea why they make it so challenging to do... and it is not just with the free versions that they do this! On the bright side, you can get a free version and it really does do a great job of formatting. No other similar tool (i.e. one that uses XSL-FO technologies) that I have tried could even come close to getting the proper output, especially for interlinear examples. All of the other ones would require you to do custom hand-editing for each example.

The steps to follow are below. You may want to have someone help you with these steps since they are so complicated. (These steps are for installing on a Windows machine. For Unix or Mac, see the footnote.)[108]

  1. Go to RenderX's webpage (http://www.renderx.com/download/personal.html) and ask for a personal license.
  2. They email you the license.xml file.
  3. Save that file on your disk.
  4. Go to the page they tell you in the email and choose the option to browse to that license.xml file you just saved on your machine.
  5. It then downloads a zip file to your machine.
  6. Find C:\Program files and make a RenderX subdirectory.
  7. Unzip the file downloaded in step 5.
  8. Open up the readme.txt file and find where it talks about installation.
  9. Open up a command prompt where you unzipped the download.
  10. Find C:\Program files\java\jrelXXX\bin and copy the directory path (where XXX is some number)
  11. In the command prompt, type set Path=%Path%;where the java is where “where the java is” is the directory found in step 10.
  12. In the installation instructions section, copy the java... command information.
  13. Paste it into the command prompt.
  14. Run it.
  15. Scroll down on the license page to the bottom.
  16. Click on the Next button, etc. until it is installed.
  17. Go to the Program Files\RenderX\XEP directory.
  18. Open up the xep.xml file in an editor like Wordpad (Notepad may make it very hard to read).
  19. Find the true type fonts section.
  20. Replace what's there with
    <font-group xml:base="file:/C:/Windows/Fonts/" label="Windows TrueType" embed="true" subset="true"> <font-family name="Arial"> <font><font-data ttf="arial.ttf"/></font> <font style="oblique"><font-data ttf="ariali.ttf"/></font> <font weight="bold"><font-data ttf="arialbd.ttf"/></font> <font weight="bold" style="oblique"><font-data ttf="arialbi.ttf"/></font> </font-family> <font-family name="Arial Unicode MS"> <font><font-data ttf="arialuni.ttf"/></font> <font style="oblique"><font-data ttf="arialuni.ttf"/></font> <font weight="bold"><font-data ttf="arialuni.ttf"/></font> <font weight="bold" style="oblique"><font-data ttf="arialuni.ttf"/></font> </font-family> <font-family name="Charis SIL"> <font><font-data ttf="CharisSILR.ttf"/></font> <font style="oblique"><font-data ttf="CharisSILI.ttf"/></font> <font weight="bold"><font-data ttf="CharisSILB.ttf"/></font> <font weight="bold" style="oblique"><font-data ttf="CharisSILBI.ttf"/></font> </font-family> <font-family name="Doulos SIL"> <font><font-data ttf="DoulosSILR.ttf"/></font> <font style="oblique"><font-data ttf="DoulosSILR.ttf"/></font> <font weight="bold"><font-data ttf="DoulosSILR.ttf"/></font> <font weight="bold" style="oblique"><font-data ttf="DoulosSILR.ttf"/></font> </font-family> <font-family name="Ezra SIL"> <font><font-data ttf="SILEOT.ttf"/></font> <font style="oblique"><font-data ttf="SILEOTI.ttf"/></font> <font weight="bold"><font-data ttf="SILEOTB.ttf"/></font> <font weight="bold" style="oblique"><font-data ttf="SILEOTBI.ttf"/></font> </font-family> <font-family name="Times New Roman" ligatures="&#xFB01; &#xFB02;"> <font><font-data ttf="times.ttf"/></font> <font style="italic"><font-data ttf="timesi.ttf"/></font> <font weight="bold"><font-data ttf="timesbd.ttf"/></font> <font weight="bold" style="italic"><font-data ttf="timesbi.ttf"/></font> <!-- following not implemented in xep, yet --> <font variant="small-caps"><font-data ttf="times.ttf"/></font> </font-family> <font-family name="Courier New"> <font><font-data ttf="cour.ttf"/></font> <font style="oblique"><font-data ttf="couri.ttf"/></font> <font weight="bold"><font-data ttf="courbd.ttf"/></font> <font weight="bold" style="oblique"><font-data ttf="courbi.ttf"/></font> </font-family> <font-family name="Tahoma" embed="true"> <font><font-data ttf="tahoma.ttf"/></font> <font weight="bold"><font-data ttf="tahomabd.ttf"/></font> </font-family> <font-family name="Verdana" embed="true"> <font><font-data ttf="verdana.ttf"/></font> <font style="oblique"><font-data ttf="verdanai.ttf"/></font> <font weight="bold"><font-data ttf="verdanab.ttf"/></font> <font weight="bold" style="oblique"><font-data ttf="verdanaz.ttf"/></font> </font-family> <font-family name="Palatino" embed="true" ligatures="&#xFB00; &#xFB01; &#xFB02; &#xFB03; &#xFB04;"> <font><font-data ttf="pala.ttf"/></font> <font style="italic"><font-data ttf="palai.ttf"/></font> <font weight="bold"><font-data ttf="palab.ttf"/></font> <font weight="bold" style="italic"><font-data ttf="palabi.ttf"/></font> </font-family> </font-group>
  21. Make sure that the above is not within comments (<!-- and -->).
  22. Save the xep.xml file.
  23. You're done (whew!)

11.18 Produce a Word 2003 Version?

In section 1.2, I mentioned that you can use the XMLmind XML Editor to produce a file in Microsoft Word 2003 format for your document. How does one do that?

There are actually two ways to do this. (Some users who have the full version of Adobe Acrobat have said that its PDF to Word conversion works well. I tried it on one file and it came out about the same as the first option below.)

The first is to produce a PDF file using the default way of producing PDF. See section 11.17. Then go to http://www.pdftoword.com/ and use their free online converter service. This will produce a Word file that has the exact same formatting as the PDF. There are three drawbacks as of July 20, 2012:

  1. If the website is very busy, it may take a while before you receive the converted file. If it is not, it will not take long.
  2. The result removes all internal hyperlinks. This means that there will not be any links for contents, section references, example references, citations, etc. (This may get fixed in a future version of their product.)
  3. There are no Word styles inserted.

The second way is to use the menu items XLingPaper / Produce Word 2003 Document. This invokes a transform on your document and then tries to run the XMLmind XSL Utility tool to produce a Word 2003 document file. If you have the XMLmind XSL Utility tool installed on your computer, it will produce a file with the same name as your XLingPaper document file, but with an extension of doc. This new file is in the same directory as your XLingPaper document. Please note that it may take a while for the XMLmind XSL Utility tool to complete its task.

If you do not have the XMLmind XSL Utility tool installed, you will see a message saying that apparently you do not have this tool installed on your machine.

To obtain the XMLmind XSL Utility, you can download the latest personal edition from http://software.sil.org/xlingpaper/resources/xmlmind-xsl-utility/. Be sure to read the license information in the installation program to determine if the Personal Edition License is appropriate for your situation. (SIL members can use the Personal Edition License.) If the Personal Edition License is not correct for you, please go to http://www.xmlmind.com/foconverter/buy.html and buy a license for the Professional Edition.

The following table delineates what to get depending on your operating system:

Operating System Installer to download
Windows (XP, Vista, Windows 7) xslutil_perso-4.6.1-setup.exe
Mac OS X 10.4+ xslutil_perso-4.6.1.zip
Linux xslutil_perso-4.6.1.zip

After you have downloaded the file, do the following:

Operating System What to do
Windows (XP, Vista, Windows 7) Run the installer; be sure to install it in the "C:\Program Files" directory (or "C:\Program Files (x86)" directory on 64-bit versions).
Mac OS X 10.4+ Unzip it wherever you'd like, then do the following in a Terminal:
sudo ln -s Full_path_to_where_you_unzipped_it/xslutil_perso-Version_number /usr/local/bin/xslutil
Note that on some Mac systems, you may need to first make the /usr/local/bin directory via commands like these:
sudo mkdir -p /usr/local
sudo mkdir -p /usr/local/bin
Linux Unzip it wherever you'd like, then do the following in a Terminal:
sudo ln -s Full_path_to_where_you_unzipped_it/xslutil_perso-Version_number /usr/local/bin/xslutil

On Windows machines, the current XLingPaper configuration files will also work with versions 4.2p1, 4.3.1, and 4.3.2 of this converter.

By the way, you can also invoke this tool by itself and use it to convert to some other formats, too. You will need to use the .fo version of your file (that this process also produces) as your input file. Then you will need to select the output format you wish. Ones that make the most sense are to map from FO to .docx, .odt, or .rtf.

Please note that this process of producing a Word 2003 document is not as mature and stable as the process to produce a webpage and PDF is. Here are the known limitations:

  1. Any display which is rendered as a table may have oddly spaced columns.[109] This includes many example elements. There is a Word macro package I have written to help with this. The macro applies Word's "auto-fit" table capability to all the tables in the document. You can obtain the macro by going to http://software.sil.org/xlingpaper/resources/ms-word/, downloading the file and following the instructions in that Word file.
  2. Tables and interlinear examples may be split across page boundaries.[110] You will have to correct these by hand.
  3. It does not handle tables and examples in footnotes and, from what I can tell, they do not plan to add this capability.
  4. Graphic .bmp files do not come out in the resulting Microsoft Word 2003 file, unless you are using version 4.4.0 or higher of the XMLmind XSL Utility. This version handles more kinds of graphic image files.
  5. If you output a table of contents, the page numbers will initially come out as zero. The latest version of the macro attempts to fix this as well. If the page numbers are still not correct, while viewing the Word document in Word, select the table of contents and then press the F9 key. It should then show the correct page numbers.
  6. Headers and footers with centered page numbers or other items will not come out truly centered. You will have to adjust the header or footer by hand.
  7. Floats (see section 6.4) are not handled as floats. They will appear exactly in place.
  8. Multiple endnote elements in the same paragraph sometimes will not get formatted at all. If you have one of the newer versions of the XMLmind XSL Utility, you can run it on the resulting .fo file and choose to use the RTF output. It will then handle the footnotes correctly. Alternatively, you can use the Open Office Writer output (see section 11.19) and then convert that to Word format.

If you note any odd results or errors, please send an email message to xlingpaper_support@sil.org.

11.19 Produce an Open Office Version?

In section 1.2, I mentioned that you can use the XMLmind XML Editor to produce a file in Open Office Writer format for your document. How does one do that?

Like for producing a Word version, there are two options.

The first is to produce a PDF file using the default way of producing PDF. See section 11.17. Then go to http://www.pdftoword.com/ and use their free online converter service. This will produce a Word file that has the exact same formatting as the PDF. There are three drawbacks as of July 20, 2012:

  1. If the website is very busy, it may take a while before you receive the converted file. If it is not, it will not take long.
  2. The result removes all internal hyperlinks. This means that there will not be any links for contents, section references, example references, citations, etc. (This may get fixed in a future version of their product.)
  3. There are no Word styles inserted.

Finally, open this Word file with Open Office Writer. Note that it may not be 100% perfect, but it will be close.

The second option is to use the menu items XLingPaper / Produce Open Office Document. This invokes a transform on your document and then tries to run the XMLmind XSL Utility tool to produce an Open Office Writer document file. If you have the XMLmind XSL Utility tool installed on your computer, it will produce a file with the same name as your XLingPaper document file, but with an extension of odt. This new file is in the same directory as your XLingPaper document. Please note that it may take a while for the XMLmind XSL Utility tool to complete its task.

If you do not have the XMLmind XSL Utility tool installed, you will see a message saying that apparently you do not have this tool installed on your machine.

To obtain the XMLmind XSL Utility, see the instructions in section 11.18.

On Windows machines, the current XLingPaper configuration files will also work with versions 4.2p1, 4.3.1 and 4.3.2 of this converter.

By the way, you can also invoke this tool by itself and use it to convert to some other formats, too. You will need to use the .fo version of your file (that this process also produces) as your input file. Then you will need to select the output format you wish. Ones that you will most likely want to use are to map from FO to .docx or .rtf.

Please note that this process of producing an Open Office Writer document is not as mature and stable as the process to produce a webpage or PDF is. Here are the known issues:

  1. Any display which is rendered as a table may have oddly spaced columns.[109] This includes many example elements. There is an Open Office Extension package I have written to help with this. The macro attempts to apply the "auto-fit" table capability to all the tables in the document. You can obtain the macro by performing these steps:

    1. Go to http://software.sil.org/xlingpaper/resources/open-office-writer/ and download the XLingPaper.oxt file
    2. In Open Office, use Tools / Extension Manager
    3. Click on the Add button and navigate to where you downloaded the extension file.
    4. Follow the installation instructions.
    5. Exit out of Open Office and restart it.
    6. Now in Open Office Writer, there will be an XLingPaper tool bar and also an XLingPaper menu item. You can use these to invoke the macro.

    Note that the macro does not always work for each and every example/table. Sometimes when there is a list interlinear, the widest one will not get reformatted. You have to manually adjust the width of the table and then apply the macro again.

  2. Tables and interlinear examples may be split across page boundaries.[110] You will have to correct these by hand.
  3. It does not handle tables and examples in footnotes and, from what I can tell, they do not plan to add this capability.
  4. Graphic .bmp files do not come out in the resulting Open Office Writer file, unless you are using version 4.4.0 or higher of the XMLmind XSL Utility. This version handles more kinds of graphic image files.
  5. If you output a table of contents, the page numbers will initially come out as zero. The macro will attempt to fix this as well.
  6. Headers and footers with centered page numbers or other items will not come out truly centered. You will have to adjust the header or footer by hand.
  7. Floats (see section 6.4) are not handled as floats. They will appear exactly in place.

If you note any odd results or errors, please send an email message to xlingpaper_support@sil.org.

11.20 Insert a section level 2 while in a section level 3?

A very common issue people run into while using XLingPaper with the XMLmind XML Editor occurs when they have created lower-level sections (say section2 or section3) and now want to add a new section at a higher level. In programs like Microsoft Word, one merely went to the end of the lower level section, pressed the Enter key, typed the title of the higher level section, and then changed the style to be the higher level.

With a structured editor like the XMLmind XML Editor, this is not possible. A section1 element can only go after another section1 element. A section2 element can only go after another section2 element, etc. You can insert a section3 element within (at the end) of a section2 element, but you cannot insert a section2 element after a section3 element - that would mean you have a level 2 inside a level 2, which does not make sense - sections at the same level do not nest.

Given this structured way of thinking, how does one insert, say, a section2 element after a section3 element? The following outlines one way:

  1. Click in the section3 material.
  2. Find the node path bar at the top.[53]
  3. Click on "section2". You have now selected the entire section2 element.
  4. Now do an insert after.[18] The only option will be a section2. You can now insert a section2 after another section2.

11.21 Split portions of a section into sub-sections

Sometimes while writing, one realizes that the material one has within a section should really be broken up into several sub-sections. For example, the material that at first seemed like it should all be part of a section2 element, say, should really be split into two or more section3 elements. How does one make this split or “demote” this material to sub-sections?

One can do this as follows.

  1. Select the portion of the section that you need to demote by clicking at the beginning point, holding down the Shift key, and scrolling down until you reach just past the last piece you want to include in one of the new sub-sections. This material will be highlighted in a reddish color.
  2. Click on the XLingPaper menu item and then select Demote selected portion of section.
  3. This process will cut what you have selected, insert an appropriate section element at the end of the current section, and paste in your selected material into the newly created sub-section.
  4. The cursor will be at the title of the newly created sub-section. You can type in the section name you want for it.

Here's an example. Suppose you have something like what is shown in (242).

(242)

In addition, suppose that you want to split the second paragraph and first example into a section3 element and you also want to split the third paragraph and last example into a section3 element. First, click at the beginning of the “We begin” paragraph, hold the Shift key down and use the down arrow key to move the cursor to the beginning of the “We now...” paragraph. It might look like this:

(243)

Now, click on the XLingPaper menu item and select Demote selected portion of section. After you do this, it will look like what is shown in (244).

(244)

Notice that the selected portion of (243) has been moved into a new section3 element. This new section3 element is now at the end of the section2 element. Why? Because sub-sections can only occur at the end of a section.

You can now type in the title of the new sub-section and you can create the unique ID for this new sub-section, too. Let's say the title is “Condition State Verbs” and the ID is “sVerbsConditionState”.

Now click at the beginning of the “We now ...” paragraph, hold the Shift key down and use the down arrow key to move the cursor to the end of the example. It might look like this:

(245)

Notice that in this case, where we are selecting the last portion in the original section, that the cursor is not on the following sub-section, but rather at the end of the free translation of the final example. The reason is that the XMLmind XML Editor is a structured editor and we have to select reasonable chunks of elements. See below for a bit more on this.

Once again, click on the XLingPaper menu item and select Demote selected portion of section. After you do this, it will look like what is shown in (246).

(246)

Now we have the second portion showing up as section3 element. Also notice that the order of the “demoted” material is now the same as it originally was.

As before, you can now type in the title of the new sub-section and you can create the unique ID for this new sub-section, also. You have now successfully split this section into two sub-sections.

Note that when you are working on splitting the final portion and that portion only has one element in it (say a paragraph), then the above procedure may not work correctly. You have to click on the element name in the node path bar[53] and then apply the Demote selected portion of section command. If you run into this, an informational message should appear reminding you of what to do. Another option to try is to merely add an empty paragraph after the last element you want to include, then do your selection as before. This may actually prove easier to remember to do.

11.22 Change a section level?

Sometimes while writing, one realizes that the material that at first seemed like it should be a section2 element, say, should really be a section1 element (or it should really be a section3 element). If this material is currently entered as a section2 element, how does one change it?

One can do this as follows.

  1. Select the entire section that you need to promote or demote. One way you can do this is by clicking on the blue section number.
  2. Click on the XLingPaper menu item and then select either
    1. Demote entire selected section; copy to clipboard or
    2. Promote entire selected section; copy to clipboard
  3. This process will shift all sections in the section down one level (demote) or all sections up one level (promote). The result is copied to the clipboard in such a way that the XMLmind XML Editor can recognize it.
  4. You then click on the blue section number of the section before or after where the demoted/promoted section should now go and use the Paste After or the Paste Before ability of the XMLmind XML Editor to insert the demoted/promoted section. You can access these by right-clicking, using the Edit menu item, or by using the keyboard shortcuts (Ctrl+W for paste after and Ctrl+U for paste before).
  5. After varifying that all is well, you can go back and select the original section and delete it.

Here's an example. Suppose you have something like what is shown in (247).

(247)

In addition, suppose that you want to promote section 2.1.1 from being a section3 element to being a section2 element. First, click on the “2.1.1” in order to select the entire section3 element. It might look like this:

(248)

Now, click on the XLingPaper menu item and select Promote selected section; copy to clipboard. After you do this, it will still look like (248).

Now click on section “2.2” so that it might look like this:

(249)

Do a Paste Before action (by right-clicking and choosing Paste Before, using the Edit menu and choosing Paste Before, or by typing Ctrl+U). It might now look like this:

(250)

Now all of the content that was in section “2.1.1” is showing up as section “2.2.” You can open up the new section “2.2” and make sure all of it is there. Notice that all the section elements have been promoted up one level so that what was a section3 element is now a section2 element, what was a section4 element is now a section3 element, etc.

The next step is to go and delete the original section you promoted.

Note that there are some limitations about what can and cannot be demoted or promoted:

11.23 Convert text and other material into a sub-section?

Sometimes while writing, one realizes that the paragraphs, examples, etc. one has just written should really be put into a sub-section. For example, one might be working in a section2 element and then decide to convert several paragraphs, etc. into a section3 element.

The first thing many of us try is to go to the top of what needs to become that section3 element and try to insert a section3 element. After all, this is how we would have done it in our favorite text editor. But, the XMLmind XML Editor is a structured editor and not a text editor. Therefore, when we try this in the XMLmind XML Editor, we discover that no section3 elements show up at this point. Why? Because we are trying to insert a section3 element in the middle of a section2 element and that does not make sense structurally: a section does not consist of some paragraphs, one or more sub-sections, and then more paragraphs (back at the section level). You see, rather than being a pain, the XMLmind XML Editor is actually helping us maintain proper structure - we were trying to create structural junk and it will not let us.

What one has to do is the following:[111]

  1. Go to the last element in the section (most likely a paragraph, but not necessarily).
  2. Select that last element (e.g. by clicking on the element name in the node path bar[53]).
  3. Perform an Insert After operation (by right-clicking and choosing Insert After, using the Edit menu and choosing Insert After, or by typing Ctrl+J).
  4. Now the appropriate sub-section will be available. Choose it.
  5. Once that sub-section is inserted, go back and select the entire portion to copy into the newly inserted sub-section.
  6. Do a Copy operation (by right-clicking and choosing Copy, using the Edit menu and choosing Copy, using the Copy tool bar button, or by typing Ctrl+C). Alternatively, you can do a Cut operation.
  7. Select the first paragraph in the newly added sub-section (by clicking on the p element in the node path bar[53]).
  8. Do a Paste Before action (by right-clicking and choosing Paste Before, using the Edit menu and choosing Paste Before, or by typing Ctrl+U).

If you chose the Copy operation in step 6 above, you will now need to go back and delete that material.

11.24 Add a comment?

Whenever you are inserting an element[18] and see that one possible element to add is comment, you can type in a comment. The comment will not appear in any output unless you overtly set the showcommentinoutput attribute of the lingPaper element to yes. (To set this attribute, click on lingPaper in the node path bar[53] and then use the Attributes Tool.[12]) In all outputs except the default XeLaTeX PDF output, the comment will appear with a yellow background. For the default XeLaTeX PDF output, the comment will begin with [[ in a yellow box and will end with ]] in a yellow box.

11.25 Associate a publisher style sheet to my document

Sections 11.17 and 11.18 discuss how to produce a PDF or Microsoft Word 2003 version of your XLingPaper document. While this does produce a nicely formatted PDF document and a form of a Microsoft Word 2003 document, you do not have any direct control over the formatting produced. This can especially be a problem if you wish to submit your document to a particular journal or publisher which has specific formatting requirements.

Beginning with version 2.0 of XLingPaper, this problem is alleviated by the use of publisher style sheets. The idea is that you can write your document using XLingPaper and then associate it with a particular publisher style sheet. Once your document has been associated with such a style sheet, whenever you produce output, the formatting will now conform to the associated style sheet. One implication of this is that as you write your document, you do not have to be thinking about the target format. Just use the normal XLingPaper elements and, when it is time to produce the output, associate the style sheet you need and produce the output. If you change your mind about where you want to submit your document, in theory all you have to do is associate (or re-associate) the document to the new style sheet.[112]

To associate your document to a publisher style sheet, do this:

  1. Use the menu items XLingPaper / Associate a publisher style sheet.

  2. This will bring up a dialog box like the one shown in (251).

    (251)
  3. Choose one (or navigate to where you know one is) and then click on the Open button.

  4. After some processing, your document will be re-shown. At the bottom will be the style sheet (as a referenced document) and it will also show the name of the style sheet. It might look like what is in (252).[113]
    (252)

The publisher style sheets themselves can be created and/or customized, but how to do that is outside the scope of this documentation. See the XLingPaper Publisher Style Sheet User Documentation if you need to create or modify a publisher style sheet.

If you do need to create or modify a publisher style sheet, please be sure to save the publisher style sheet file in a directory near your document. Do not directly make changes to the publisher style sheets included with XLingPaper. The reason is that the next time you update to a new version of XLingPaper, you will probably lose your changes.

11.26 Remove an associated publisher style sheet from my document

If you have associated a publisher style sheet with your document (see section 11.25), how can you remove or "un-associate" it from a style sheet?

To remove an associated publisher style sheet from your document, use the menu items XLingPaper / Remove (unassociate) a publisher style sheet. Note that this will not delete the associated publisher style sheet from your disk drive. It will only remove the association of that publisher style sheet to your current document.

11.27 Get my language data to use a particular font in the XMLmind XML Editor?

If you are using version 4.0.0 or higher of the XMLmind XML Editor, then all font information should show properly in the XMLmind XML Editor. Whenever you change the font information, however, you will either need to reload your file into the XMLmind XML Editor or you will need to do a “Redraw” command before the changes will show in theXMLmind XML Editor. To do a “Redraw” command, use View menu item / Redraw Ctrl+L.[114] Please be aware that the "Redraw” command will close all opened sections (i.e. when the "Redraw” command finishes, the window iin the XMLmind XML Editor will look just like it does when you first open the file).

11.28 Change the lVernacular and lGloss language IDs?

Some users have complained about the default language identifiers that come with XLingPaper. These users almost always work in one vernacular language and one gloss language. They would like to use identifiers that reflect the names of these languages rather than the default generic ones of lVernacular and lGloss.[115]

There is a way to do this, but it comes with a warning and therefore this is not a suggested thing that every user should do. The main warning is that the change is only temporary. The next time you install an updated set of XLingPaper configuration files, you will have to make the change again.

So, if you really want to do this, follow these steps while running the XMLmind XML Editor.

  1. Open up an XLingPaper document in the XMLmind XML Editor.
  2. Use menu items Tools / Execute Command....[38] This opens up the Execute Command dialog box. It will look something like this:
  3. In the Command box, type ChangeDefaultLangAttributesInTemplates and click on the OK button.
  4. You will then be presented with four dialog boxes, one after the other. These are for:
    1. The current (old) langData default language name.
    2. The new langData default language name you want to use.
    3. The current (old) gloss default language name.
    4. The new gloss default language name you want to use.
    In each case type the appropriate language identifier and then click on the OK button. If you change your mind at any point or make a mistake, you can click on the Cancel button. It is essential that you use only letters for these identifiers. Do not use any spaces.

After you click on the OK button for the fourth dialog box, this command will change the default attributes in the key XLingPaper configuration files. If you decide to set the defaults back, you can run this command again, being sure to use your new values for the current (old) items and the original items for the new ones.

Note that you will need to restart the XMLmind XML Editor again in order for your changes to take effect.

11.29 Indicate standard language information?

Most elements (including the top-level lingPaper one itself) have an attribute called xml:lang. This is primarily for archival purposes. You can use this attribute to fill in the language code of the content of that element. See ISO 639 codes for more information. The intention behind including the top-level lingPaper is as a short-hand way to indicate that the text in this document is in the language specified by the xml:lang unless indicated otherwise.

11.30 Add comments to a PDF?

After you or a colleague produces a PDF file, you may well want to be able to add comments to it. Typically, such comments would be to make suggestions on wording or presentation or formatting.

How can one do this with XLingPaper? There are at least two ways:

11.31 Create a talk handout from my paper?

For those whose working style includes writing a paper before presenting it, you may be wondering how to create a handout once the paper is written as an XLingPaper document.

Here is one way:

  1. Copy your XLingPaper document .xml file and rename it so it ends with the word "Handout".
  2. Work your way through the copy, cutting out anything that you do not want to appear in the handout.
  3. Be sure to include citation elements for any references you want to show up in the references section. Remember that only those works cited in your XLingPaper document show up in the references section.[116]
  4. Associate the handout document with the HandoutStylesheet.xml file provided with the XLingPaper configuration files. See section 11.25 for more on how to do this.
  5. Produce a PDF output for this document. See section 11.17 for details on how to do this.
  6. Print the PDF to make the handout.

An alternative method is to do the above but at the point of cutting out material, leave what you know you will need as notes to yourself for doing the presentation. You can even add material if need be. After saving this version, make a copy of it and cut out your notes so that all that is left is what you want your listeners to have.

11.32 Create a poster session presentation from my paper?

Sometimes one needs to create a poster session presentation for a paper.

Here is one way:

  1. Copy your XLingPaper document .xml file and rename it so it ends with the word "Poster".
  2. Work your way through the copy, cutting out anything that you do not want to appear in the poster.
  3. Be sure to include citation elements for any references you want to show up in the references section. Remember that only those works cited in your XLingPaper document show up in the references section.[116]
  4. Associate the handout document with the PosterSessionStylesheet.xml file provided with the XLingPaper configuration files. See section 11.25 for more on how to do this.
  5. Produce a PDF output for this document. See section 11.17 for details on how to do this.
  6. Print the PDF to make the handout.

Note that this produces regular sized pages, but the content will be magnified by a factor of 1.5. If you need the material to be larger, you can edit the publisher style sheet and change the magnification factor item under Document Content Layout. Since the text size is larger, you may well need to adjust interlinear examples and tables to make them fit. (For more on publisher style sheets, click here to see the documentation.)

11.33 Make long web page addresses break into multiple lines?

Sometimes a referenced work will have a very long web page address (URL). These will often not format well in the PDF output. There is a way to insert some special characters in the url element to allow the PDF formatters to break the line. The character to use is Unicode character U+200B ‘Zero width space.’ As you can probably infer from the name of this character, it acts like a space, but does not take up any horizontal width. Therefore the PDF formatters can break the line wherever one of these zero width spaces occurs and yet there will not be a normal space (which is just what one would want). The main drawback to using this special Unicode character is that you cannot see it (because it does not take any horizontal width)!

To enter this special zero width space character in the XMLmind XML Editor, do this:

  1. Put the cursor where you want the character to go (perhaps after some regular punctuation character in the url).
  2. Using the Character Tool of the XMLmind XML Editor,[117] click on the drop-down box and select the “0x2000 (General Punctuation)” section.
  3. Hover your mouse over the twelfth blank box from the top. The tool hint message should be blank but at the bottom, it should begin with “0x200b”. Click.
  4. This inserts a single zero width space at the cursor. Be aware that you will not see anything different!
  5. Repeat this process until you think you have inserted enough potential line breaking points to make your output come out well.

Please note that you do *not* want to insert any of these zero width spaces in the href attribute of a link element. The resulting hyperlink will not work correctly.

11.34 Make a page in PDF be in landscape mode?

Sometimes a table or other material will fit better on a page that is in landscape mode instead of the default portrait mode. One can do this by enclosing the material within a landscape element. One way to enclose such material is to select it and then use the Convert [wrap] capability of the XMLmind XML Editor and choose landscape. You can do a "Convert [Wrap]" operation via Edit / Convert [wrap], pressing Ctrl-Shift-T, or by clicking on the convert [wrap] icon in the Edit tool.[3]

Please note that this material will start a new page in the output. Also, using the landscape element within an index does not work with the default XeLaTeX way of producing PDF.

If you discover that you want to go back to portrait mode, do the following steps:

  1. Click on the landscape element in the node path bar.[53]
  2. Type Esc (let go) and then press the down-arrow key. This should select everything inside the landscape element.
  3. Copy.
  4. Click again on the landscape element in the node path bar.
  5. Paste.

Most major elements (such as chapter, part, appendix, section1, section2, etc.) and most front matter and back matter elements have an attribute called showinlandscapemode. If it is set to yes, then the default way of producing PDF via XeLaTeX will make that element (and all its sub-elements) appear in landscape mode.

To make an entire document be in landscape mode, create a publisher style sheet that has the page height and width dimensions for landscape and then associate that publisher style sheet to the document. See section 11.25 for more or click here to see the documentation on publisher style sheets.

11.35 Change a set of abbrRef elements to refer to a different abbreviation?

Sometimes while working on a document, you discover that you have glossed a particular item (using abbrRef elements; see section 4.6) and that you used the wrong abbreviation for the gloss. How do you go back and change them?

Here is one way:

  1. Place the cursor at the beginning of your document (for example, in the title element).
  2. Use menu items Search / Find Element.
  3. Make it look something like this:
  4. You'll want to replace vAGR with the abbr ID of the abbreviation element you want. You may have to check your list of abbreviations to find the exact value you need.
  5. Click on OK and the XMLmind XML Editor will find the first instance of an abbrRef element that has its abbr attribute set to vAGR (or whatever value you used).
  6. If you immediately press the F11 key on your keyboard (or click on the black drop-down arrow or use menu items XLingPaper / Set Reference F11 or if you right-click on it and choose Set Reference), then you will get the chooser for the abbreviations. Select the one you want to change to.
  7. To repeat the search command use Esc-g (which means press the Esc key, release it, and then press the g key).

If you need to change many of these abbrRef elements, then you can save yourself some time and work by making a keyboard macro. Do these steps (remember that you need to release the Esc key after pressing it in all of these before you press the next key):

  1. Type Esc-m to start recording the macro..
  2. Type Esc-g to find the next instance.
  3. Type F11 to bring up the chooser.
  4. Type the new abbreviation you want.
  5. Press the Enter key.
  6. Type Esc-m to end recording the macro.

To run the macro, type Esc-p (I think the m above is for "macro" and the p here is for "play" - as in "play the macro"). My experience in using macros in the XMLmind XML Editor says that they only work if you do every step using the keyboard. If you use the mouse for any of it, it will not play back.

11.36 Change some langData, gloss and language IDs in a document?

Sometimes one may have an XLingPaper document that uses certain language IDs for some langData and/or gloss elements that are not what you want. This might happen in some instances, for example, when exporting text from a program like FieldWorks Language Explorer. The language ID may be similar to what you want, but not precisely the same. Having to go through such a document and change the IDs one-by-one would be a lot of work.

If you find that you need to do this, follow these steps while running the XMLmind XML Editor.

  1. Open up the XLingPaper document you want to change the IDs for in the XMLmind XML Editor.
  2. Use menu items Tools / Execute Command....[38] This opens up the Execute Command dialog box. It will look something like this:
  3. In the Command box, type ModifyLangAttributesInDocument and click on the OK button.
  4. You will then be presented with four dialog boxes, one after the other. These are for:
    1. The current (old) langData language ID.
    2. The new langData language ID you want to use.
    3. The current (old) gloss language ID.
    4. The new gloss language ID you want to use.
    In each case type the appropriate language identifier and then click on the OK button. If you change your mind at any point or make a mistake, you can click on the Cancel button. It is essential that you use only letters for these identifiers. Do not use any spaces.

After you click on the OK button for the fourth dialog box, this command will find every langData element whose lang is set the old language ID and change it to the new value. Similarly, it will find every gloss element whose lang attribute is set the old gloss ID and change it to the new one.

Please note that if there are any language elements whose id attribute has the old value (whether for langData or for gloss), this command will also change that id attribute to the new value.

11.37 Key a special symbol?

There are two possible ways to key a special symbol. Possibly the easiest way is to do this:

  1. At the point you want to insert a special symbol, type Esc, release it, then immediately type a capital C.[62]
  2. You will see a dialog like this:
  3. As you can see, it has some cryptic names for a whole set of characters. It also shows what the character looks like.
  4. Scan down for the character you want or, if you happen to know its abbreviation, start typing the abbreviation. The dialog will show only those abbreviations that begin with what you have typed.
  5. When the symbol you want has been selected, press the Enter key.

The second way to key such a special symbol is to use the XMLmind XML Editor's Character Tool.[117] Look for your character in the list and click on it.

11.38 Use a non-English version of the XMLmind XML Editor and XLingPaper?

The default user interface for both the XMLmind XML Editor and XLingPaper is in English. There also are versions in French and Spanish. (If you notice any error in these versions, please let us know.)

To use one of these non-English versions of the user interface, do the following steps:

  1. Use Options menu item / Intall Add-ons
  2. Look for the Translation you want and check the box before it.
  3. Click OK.
  4. Restart the XMLmind XML Editor.
  5. Use the Options / Preferences... menu item.
  6. In the ensuing dialog box, click on the word “General” in the left hand pane.
  7. In the right hand pane, find the word “Locale” and click on the drop-down button.
  8. Look for the language you want. Please note that both French (français) and Spanish (español) come after all the uppercase languages in this list.
  9. Click on the OK button.
  10. Restart the XMLmind XML Editor.

You should now see the menu items using the language you chose.

Please note that these non-English versions are for the user interface only. The element names, attribute names, and some of the validity messages will still be in English. Also the user documentation files are only in English.

11.39 Get the default PDF output to hyphenate for a non-English language?

The default way of producing PDF, XeLaTeX, comes with a number of special algorithms for automatically hyphenating running text in the PDF output. The default algorithm is for English.

To use one of these non-English algorithms for hyphenation, look in the chart in appendix C and find the language you are writing your document in. Set the xml:lang attribute of the lingPaper element to either the two letter or the three letter code of that language.

Please note that if the first version of XLingPaper you got is older than version 2.18.0, then you will need to get a special updated version of the XeLaTeX package used by XLingPaper. See http://software.sil.org/xlingpaper/resources/xelatex-upgrade/ for more. If you do not have this update, trying to produce the PDF will fail when you also try to use hyphenation for a non-English language.

Also, if you find that you need to have XeLaTeX hyphenate some words differently than what the algorithm does, you can create a custom XML file containing these words. The format of this file should be as shown in example (253).

(253)
<exceptions>
<word>...</word>
<word>...</word>
</exceptions>

Where example (253) has the ellipsis, put your exceptional words. You can enter a regular hyphen character to indicate where the hyphenation should occur. Be sure to save this file in UTF-8 format.

If any of your words have a character that is normally considered to be punctuation (such as an apostrophe or closing single quote), then add these in this file as shown in example (254).

(254)
<exceptions>
<wordformingcharacter>’</wordformingcharacter>
<word>...</word>
<word>...</word>
</exceptions>

One other thing to note about how XeLaTeX hyphenates: If a word has an orthographic hyphen in the middle of it, XeLaTeX will not hyphenate the word, no matter how far it goes into the margin. To overcome this, insert a ‘zero-width space’ character between the hyphen and the next letter to make XeLaTeX hyphenate it. See section 11.40 on how to insert a ‘zero-width space’ character.

Finally, make sure you have a language element whose id attribute is the same as the two or three letter code you used in the xml:lang attribute of the lingPaper element. Then set the hyphenationExceptionsFile attribute of that language element to the location of your hyphenation exceptions file; we suggest you use the “Browse Files...” button of the Attributes tool.[118]

11.40 Get the default PDF output to use word-spacing after abbreviations?

The default way of producing PDF, XeLaTeX, will normally use extra wide spacing (sentence-spacing) after a period followed by a space. This produces the correct output in the vast majority of cases. Sometimes, however, when there is an abbreviation, you do not want to have this extra wide spacing. You want the normal spacing used between words (word-spacing).

There are actually three cases where this can be an issue:

  1. An abbreviation is used in the middle of a sentence (such as etc.). The normal output will use sentence-spacing here but you want word-spacing instead.
  2. An abbreviation is used in the middle of a sentence and, in addition, you want to make sure that the line does not end after this abbreviation (such as the “Dr.” in Dr. Potts). The normal output will use sentence-spacing after the period but you want word-spacing instead.
  3. An abbreviation is used at the end of a sentence and the letter before the period is a capital (such as in LSA.). The normal output will use word-spacing after the period but you want sentence-spacing instead.

For these relatively rare cases, you can make the output do what you want by inserting a special zero width character after the period and before the following space. Example (255) delineates which special character to use for each case.

(255)
Case Solution
Abbreviation in middle of the sentence Insert a zero width space character (0x200b)
Abbreviation in middle of the sentence, do not break a line Insert a zero width joiner character (0x200d)
Abbreviation with final capital letter at the end of the sentence Insert a zero width non-joiner character (0x200c)

Here are the steps needed:

  1. Put the cursor just after the period.
  2. Using the Character Tool of the XMLmind XML Editor,[117] click on the drop-down box and select the “0x2000 (General Punctuation)” section.
  3. Hover your mouse over the blank boxes near the top until you see the one that is for the zero width character needed as described in example (255). Click.
  4. This inserts a single zero width character at the cursor. Be aware that you will not see anything different!

Please note that if you inadvertently insert two or more of these zero width characters, the output will come out in its default mode (i.e., it will not have the change you want). Be sure to only insert one of these zero width characters. You can always delete the characters there until you can see that no extra ones are present and then insert them again.

One final note: many, if not most, manuals of style will say that you should key a comma after the abbreviations i.e. and e.g.. This makes good sense because if you were to use the English equivalents of these abbreviations, chances are that you would use a comma after them. This means that for these two common abbreviations, if you use a comma after them, you will not need to do anything special. The XeLaTeX output will come out the way it should automatically.

11.41 Convert selected text to langData?

Sometimes while typing prose material in a paragraph, say, you want to include some language data. One way to do this is:

  1. Type the language data text.
  2. Select it.
  3. Press both the Alt and the F11 keys on your keyboard at the same time (or use menu items XLingPaper / Convert selected text to langData). This will immediately convert your selected text into a langData element.

The lang attribute of the newly created langData element will be set to lVernacular. If this is not the language ID you want, you can immediately type the F11 key on your keyboard (or use menu items XLingPaper / Set Reference) and then choose the language ID you want.

11.42 Convert selected text to gloss?

Sometimes while typing prose material in a paragraph, say, you want to insert a gloss. One way to do this is:

  1. Type the gloss text.
  2. Select it.
  3. Press the Alt, the Shift and the F11 keys on your keyboard at the same time (or use menu items XLingPaper / Convert selected text to gloss). This will immediately convert your selected text into a gloss element.

The lang attribute of the newly created gloss element will be set to lGloss. If this is not the language ID you want, you can immediately type the F11 key on your keyboard (or use menu items XLingPaper / Set Reference) and then choose the language ID you want.

11.43 Produce an EBook in EPUB Format?

In section 1.2, I mentioned that you can use the XMLmind XML Editor to produce a file in EPUB format for your document. This can be done for both papers and for books. How does one do it?

First, you need to install the (free) Calibre program on your computer. Go to http://calibre-ebook.com/ and download the version appropriate for your computer. When you run the installer or the first time you run Calibre, the welcome wizard will run. Very Important: You must use the default location for storing your books in the Calibre Library. If you use some other location, XLingPaper will not be able to find it and thus will not succeed in producing the EBook for you. Also, you may find that the EBook fails to be produced if the file name is long. Try to keep the name under 24 characters. While counting, a space counts as 3 characters as do some other non-A-Z or digit characters. If the name is too long, the EBook will fail to be produced.

For users of XLingPaper on Mac OS X computers, you must also do another step before XLingPaper will know that you have installed Calibre. (This is for version 1.x of Calibre; versions 2.x and 3.x do not need this additional step.) When you have Calibre running, use Preferences / Advanced / Miscellaneous and click on install command line tools.

Second, this process only works when you have associated a publisher style sheet with your file. See section 11.25.

Finally, use the menu items XLingPaper / Produce EBook (in EPUB format) Ctrl+Shift+F7.[119] This first tries to tell if you have installed Calibre. If so, it then starts a four step process to convert your document into an EBook in EPUB format. It may take quite a while depending on the size of your document. It will produce a file with the same name as your XLingPaper document file, but with an extension of epub. This new file is in the same directory as your XLingPaper document. When it is done processing, there should be an audible beep and then XLingPaper will try and load the newly created EBook into Calibre's EBook viewer program.

If you wish to try and convert the resulting EPUB file to some other EBook format (such as MOBI for the Kindle), you can use the Convert Books capability of Calibre. Please note, however, that the MOBI format is rather limited in what it can do so complicated tables and interlinears do not come out well.

If you note any odd results or errors, please send an email message to xlingpaper_support@sil.org.[120]

11.44 Handle the Special Front Matter in a Book?

When it comes time to actually produce a final PDF of a book or a thesis or a dissertation, how does one deal with the specific, custom pages that a given publisher or school requires to be at the beginning? We're talking about copyright pages, a thesis/dissertation approval page, etc., etc.

Since it seems like each publisher and each institution tend to have their own, custom requirements on what needs to go on each page and where, XLingPaper does not attempt to model these custom front matter pages. Rather, I suggest that you create these (custom) pages via a word processing program like Open Office Writer or Microsoft Word. Then save or print the output as a PDF file.

Next, use a PDF tool that allows you to combine two or more PDF files into one. Example (256) lists some tools that will do this.

(256)
Tool URL Windows Mac Linux
Free
Merge PDF http://smallpdf.com/merge-pdf X X X
PDFedit http://pdfedit.cz/en/index.html     X
pdfsam http://www.pdfsam.org/ X    
Preview http://macintoshhowto.com/leopard/how-​to-​merge-​pdf-​files-​with-​preview-​in-​leopard.html   X  
Commercial
Able2Extract https://www.investintech.com/prod_a2e.htm X X X
Adobe Acrobat http://www.adobe.com/products/acrobat.html X    
Corel PDF Fusion http://www.corel.com/corel/product/index.jsp?pid=prod4100140 X    
Nitro PDF Pro http://www.nitropdf.com/pro/ X    
PDF Studio http://www.qoppa.com/pdfstudio/ X X X

The basic idea is to merge the two PDF files. In general, start with the XLingPaper-produced PDF file first. This is most likely to preserve the hyperlinks in the merged PDF document.

Some of these allow you to insert one file before or after another. In those cases, load the XLingPaper PDF first and then insert the front matter before it. This will probably preserve the hyperlinks in the document.

11.45 Create a Zip File of My Document?

Since a given XLingPaper document may contain the main document plus a number of “referenced” (or embedded) documents as well as refer to any number of image files, making sure you have a backup of all the relevant files for a given document can be difficult. It also can be difficult to make sure you have all the needed files if you wish to share your document with someone else. You can now ask XLingPaper to create a zip file for you that has all these files in it.

This also can be useful for archving.

To do so, follow these steps:

  1. In XMLmind XML Editor, open your XLingPaper document.
  2. Use Tools menu item / Execute Command....[38]
  3. In the dialog box that comes up, in the “Command” text box, type “Cr” (it should then fill in “CreateZipFile” for you).
  4. Press the Enter key or click on OK.
  5. This will then (silently) create a zip file containing all the files involved in your document. The name of the zip file will be the same as your main document's file name but with an extension of “.zip” instead of “.xml”. This zip file will appear in the same directory as your main document.

Please note that if any of the files involved in your document are in directories above the directory where your main document is, the zip file will adjust so that the highest level directory is at the top and all other files will be in their respective directories.

If you are sending this file to XLingPaper support, please do one of two things:

  1. Navigate to https://drive.google.com/open?id=1AQNHz-PiCucjc9iHqJSsDkYr_0UYq9Um and drag and drop your zip file to it. Then send an email to xlingpaper_support@sil.org that you have put the file there. Please note that apparently you must have Google Drive installed on your computer in order for the dropping of your file to work.
  2. Change the extension of your zip file to something like “.piz” and send it via email to xlingpaper_support@sil.org. If you do not change the extension, the zip file will not be sent.

11.46 Make the List of XLingPaper Menu Items Fit on My Screen?

If you are using the XMLmind XML Editor with the XLingPaper configuration files on a computer with a rather small screen, the long list of XLingPaper menu items may not all fit on your computer's screen. While some operating syste