Help:Transclusion

Transclusion
This page helps users "transclude" proofread text from the workspace (the Index and Page namespaces) to the mainspace, where it can read by Wikisource users.

Transclusion displays the contents found on another page without having to copy-paste nor synchronize any later changes. It is most commonly used to group text into logical and reasonably sized chunks—most frequently as chapters or sections. Examine the transcluded text at The Wind in the Willows (1913)/Chapter 1 and compare with some of the source text found at Page:Wind in the Willows (1913).djvu/19. As the individual pages from Index:Wind in the Willows (1913).djvu were saved in the "Page:" namespace, they populated into the chapters of the book through transclusion. Creating readable sections from scanned pages is the most common use of transclusion on Wikisource.

This help page first examines the most common methods of transclusion, this should be enough to help you manage your first texts. Next the page discusses more advanced and uncommon uses for transclusion which can stretch the digital text beyond familiar boundaries. And finally, it examines the full functionality of the two tranclusion methods. If you still have unanswered questions or any problems using transclusion, please post at the Scriptorium or at Scriptorium (Help). Someone there will do their best to help you!

How to transclude full pagesEdit

You will most often be transcluding many pages together from the Page: namespace into the main presentation space of the wiki—as you saw at The Wind in the Willows (1913)/Chapter 1. There are two methods which can perform full-page transclusion. The <pages/> function, and the older {{Page}} template. Most of the time, the <pages/> tag will be the best method of transcluding, but you may still run across the older template method when editing existing texts.

Where the pages to be transcluded would be placed inside another tag such as a <ref></ref> pair, then the Magic word #tag:pages should be used instead, with the relevant parameters translated accordingly.


The syntax for <pages/> is as follows:

<pages index="file name.djvu" from=x to=y/>
  • "file name.djvu" is replaced with the exact name of the Index you are working with.
  • The number after the slash (/) following the file name of the first page you wish to transclude is "x".
  • The number after the slash (/) following the file name of the final page you wish to transclude is "y".

Example

To display what is transcluded at The Wind in the Willows (1913)/Chapter 5 you would type:

<pages index="Wind in the Willows (1913).djvu" from=133 to=161 />

Working, though deprecatedEdit

The syntax for {{Page}} is as follows:

{{Page|file name.djvu/x|num=z}}
  • "file name.djvu" is replaced with the exact name of the file you are working with.
  • The number after the slash (/) following the file name of the page you wish to transclude is "x".
  • The original corresponding page number from the scanned volume is "z".
  • Note this can only transclude a single page at a time

Example

To display what is transcluded at The Wind in the Willows (1913)/Chapter 5 you would type:

{{Page|Wind in the Willows (1913).djvu/133|num=113}}
{{Page|Wind in the Willows (1913).djvu/134|num=114}}
{{Page|Wind in the Willows (1913).djvu/135|num=115}}
... 
{{Page|Wind in the Willows (1913).djvu/161|num=141}}

How to transclude a portion of a pageEdit

Sometimes you will not want transclude a full page all together, examine Page:Popular Science Monthly Volume 25.djvu/169. When two chapters or logical sections appear on the same page, instead of the entire page you need a way to transclude only the relevant parts of the page into the main presentation space. The example page from above presents as Popular Science Monthly/Volume 25/June 1884/Modes of Reproduction in Plants. This is accomplished using Labeled Section Transclusion (LST). The section breaks are marked with anchors in the Page: namespace. Then only the relevant part of the page, rather than the entire page, is called for during transclusion.

Adding section labelsEdit

To mark sections in the scan (Page: namespace), insert the following syntax into the typed proofreading text at the start of every new section:

## label ##

Alternatively you can use start <section begin="label" /> and end <section end="label" /> labels at the respective places in the text.

Note:

  • Section tags are recommended to be wrapped in quotes "label" to avoid ambiguity.
  • These are just free text labels, however, making labels contextual to the page can have advantages.
  • Use of letters and numbers is usually a recommendation, and other extended characters may cause some issues when transcluding.
  • Labels need to be unique for relevant sections on a page, so that the targeted section can be extracted.
  • If you are using <poem> markers, please make sure to open and close them inside the sections, or else section transcluding will not work properly.

Transcluding to main namespaceEdit

When the section ends part-way though a pageEdit

An extra parameter, tosection, is required in <pages> to end the transclusion at the anchor. The syntax is as follows:

<pages index="file name.djvu" from=x to=y tosection="label" />

  • file name.djvu is replaced with the exact name of the file you are working with.
  • The number after the slash (/) following the file name of the first page you wish to transclude is x
  • The number after the slash (/) following the file name of the final page you wish to transclude is y.
  • label is replaced with the name of the anchor you inserted.

Example

To display what is transcluded at Popular Science Monthly/Volume 25/June 1884/The Sins of Legislators II you would type:

<pages index="Popular Science Monthly Volume 25.djvu" from=155 to=169 tosection=E169/>

When the section begins part-way though a pageEdit

To begin the first page of a chapter or section at the anchor, a fromsection parameter is needed. Follow this pattern:

<pages index="file name.djvu" from=x to=y fromsection="label" />

Example

To display what is trancluded at Popular Science Monthly/Volume 25/June 1884/Modes of Reproduction in Plants you would type:

<pages index="Popular Science Monthly Volume 25.djvu" from=169 fromsection=B169 to=180 />

When the section begins and ends part-way though a pageEdit

If a section begins part way though one page and finishes part way through another, then both fromsection and tosection parameters may need to be used at once:

<pages index="file name.djvu" from=x to=y fromsection="label" tosection="label"/>

Note, the "from" and "to" section names do not have to be the same. It is common for them to be the same, but not required.

Example

To display the sections used at "Bibliography of Chess Periodicals":

<pages index="Notes and Queries - Series 7 - Volume 12.djvu" from=150 to=151 fromsection="ContributionChessBiblio" tosection="ContributionChessBiblio" />

When the section begins and ends on the same pageEdit

To transclude only a single section on a single page, you can use the include and onlysection parameters:

<pages index="file name.djvu" include=X onlysection="label" />

Example

For example, just the contents on Page:Notes and Queries - Series 7 - Volume 12.djvu/149 can be transcluded with:

<pages index="Notes and Queries - Series 7 - Volume 12.djvu" page=149 onlysection=s1 />

Transcluding sections without the page tagEdit

Use of the <pages .../> tag as above is the preferred way to transclude sections of pages. However, this tag does not work on other Page: pages or in the Index namespace. On these pages, you can use Labeled Section Transclusion (LST) directly to transclude a section:

In this case, the following format can be used:

  • {{#section:PageTitle|sectionA}}
  • PageTitle is replaced with page you wish to transclude from (including the Page: namespace and /# numeric suffix as necessary)
  • sectionA is the section you wish to transclude.

Deprecated method using {{Page}}

Another, deprecated, method is to use the {{page}} template, You may see this in some older works, but generally this template should no longer be used.

Use the {{Page}} template as follows, replacing djvu with the scan file name and # with the page number:

  • {{Page|djvu/#|section=sectionA}}

How to place images with transcluded textEdit

The preferred means of placing a picture or other image in the main pagespace is to upload the cropped image to Wikimedia Commons as a separate picture, for example as a png or jpeg file.

  • [[File:Title and number and subject.png|frameless|center]]

The page image could also be displayed in the book's Wikisource mainspace like at Personal Recollections of Joan of Arc/Book I/Chapter 2, using:

  • [[File:Personal_Recollections_of_Joan_of_Arc.djvu|page=27|right|thumbnail|200px|{{uc|The Fairy Tree}}]]

Advanced usageEdit

Transclusion can also be used to produce alternative displays of text without having to repeat the proofreading and validation. Celtic Fairy Tales/Guleesh presents the story of Guleesh as published in Celtic Fairy Tales. It shows the preceding and following stories from that publication and also has a link to the foreword and commentary by the editor. Alternatively Guleesh presents the same text as a stand-alone work. Presenting suitable titles outside of the editions they may have been collected in not a necessary task any more than it is necessary to present a famous essay as a subpage of the magazine it happened to be printed in. However, both are possible by transcluding the same validated text. The consensus has been to allow individual editors to use whichever style they like inclusively.

More complicated transclusion can be used to present a comparative study of several editions. Elegy I Comparative text compares the 1633 printing of the poem to the 1896 printing. Bible/Obadiah/1/1 uses Labeled Section Tranclustion (LST) to show verse 1 of chapter 1 of the book of Obadiah starting with the original languages and then the Anglic translations from oldest to the most recent. These more complicated types of transclusion are actually very uncommon. The examples used here were experiments to see what was possible with tranclusion and pre-date the Proofread Page extension. If they were done today they would all be based on on a scanned edition, and the transclusions would be pulled from the Page: namespace.

Using the <pages/> functionEdit

Most of the time, the <pages/> tag will be the best method of transcluding. There is only one required parameter, which is index=. This field must always be supplied or nothing happens. The exact pattern to use is as follows: <pages index="file name.djvu"/> where the name file name.djvu is just a placeholder for whatever file you have used when proofreading.

Where the pages to be transcluded would need to be placed inside another a tag such as a <ref></ref> pair, then the Magic word #tag:pages should be used instead, with the relevant parameters translated accordingly. The parameters themselves have the same values and effects.

Try it out with a real file name: Copy

<pages index="Wind in the Willows (1913).djvu"/>

into here and save. There is one other way to type this and have the same result. Try out <pages index=Wind_in_the_Willows_(1913).djvu/>. This works just the same. The important thing to know is that <pages index=Wind in the Willows (1913).djvu/> will not work. If you use any spaces in the field, then you must also surround the field with quotation marks ("), or it will not work.

While you always must supply the index= field, if you do not add any other parameters this syntax will only transclude the index of the file. Whenever you also supply some of the optional parameters, the index will be superseded by your other commands. Some of these optional parameters must be paired together in order to work. The numbers used in these fields are the titular number after the / in the Page: namespace. The optional parameters are as follows:

  • include= to supply the numbers of the page(s) to be transcluded
  • from= (paired with to=) to supply the number of the first page to be transcluded
  • to= (paired with from=) to supply the number of the last page to be transcluded
  • fromsection= (paired with from=/to= or include= or exclude= ) to supply the initial anchor on the first page of the section
  • tosection= (paired with from=/to= or include= or exclude=) to supply the final anchor on the last page of the section
  • onlysection= (paired with from=/to= or include= or exclude=) to supply the anchor used to mark off a section for transclusion
  • step= (paired with from=/to= or include= or exclude=) to supply a incremental number where every x page will be transcluded.
Transclude every other page by increments of n. By example : <pages from=1 to=10 step="2" /> show the 1st, 3rd, 5th, 7th and 9th pages.
  • include
Include following pages. This allows a more flexible list. For example : <pages include="2-5,9" /> show the 2nd, 3rd, 4th, 5th and 9th pages.
  • exclude
Don't include following pages. By example : <pages from=1 to=10 exclude="2-5,9" /> show the 1st, 6th, 7th, 8th and 10th pages.

We can, of course, use all the attributes on the same tag. By example <pages from=1 to=10 include="31" exclude="2-4" step="2" /> will show 1st, 5th, 7th, 9th and 31st pages.

Note: Good practice says that attributes within the <pages> tag should be quoted. It is important to not have unquoted empty attributes within tags, so please either quote empty attributes, or remove the unneeded optional attributes.

Considerations for Transcluded contentEdit

Certain mark-up (like table Syntax) must be entirely balanced across the Body sections of the pages transcluded. This either means that the markup or (rarer raw HTML used) must either be contained entirely within a single body or the approaches recommended at Help:Page breaks utilised.

See alsoEdit