# Textpos

Lay out text and graphics at arbitrary positions on the LaTeX page.

The textpos home page is at `https://purl.org/nxg/dist/textpos`; please quote this URL rather than the URL it resolves to.

Version 1.10.1, 2022 July 23.

This package facilitates placing boxes at absolute positions on the LaTeX page. There are several reasons why this might be useful, but the main one (or at least my motivating one) is to help produce a large-format conference poster. Other applications include placing material within, say, figures. Textpos is also discussed in the TeX FAQ entry on absolute positioning.

This package provides a single environment, which contains the text (or graphics, or table, or whatever) which is to be placed on the page, and which specifies where it is to be placed. The environment is accompanied by various configuration commands. See the manual (pdf).

An article describing Textpos appeared in TUGboat in 2002: Norman Gray, Absolute Positioning with Textpos, TUGboat 23 (3/4), pp341–4, 2002.

I have a collection of general advice about creating conference posters with LaTeX.

Rolf Niepraschk provided me with a wonderful demo (tex, pdf) of using Textpos along with his `eso-pic` package, and the `calc` package, to produce a grid which can help lay out material on the page.

The source is held online, where you can find an issues list

## Installation and further information

1. Run LaTeX on the file `textpos.ins` – this will unpack the style file `textpos.sty` amongst other files. Place this somewhere where TeX can find it.
2. Run LaTeX on the file `textpos.dtx` to obtain the documentation.

The `textpos` home page is at `https://purl.org/nxg/dist/textpos`, and there may be more up-to-date versions available there.

`Textpos` is also available on CTAN: macros/latex/contrib/textpos/

## History

Release 1.10.1, 2022 July 23
  - Mildly improve the handling of a missing `{color}` package.
  - The `overlay` option isn't changeable in `\TPoptions`; attempting to do so now produces a warning.
  - Various mild documentation improvements.
  - The code repository has moved again, to heptapod.
1.10, 2020 September 26
  - Use the ltshipout package to place boxes in absolute mode. Therefore the package should now be compatible with LaTeX3. Many thanks to Ulrike Fischer for guidance on the changes which were required here.
  - The code has moved from bitbucket.org to code.nxg.name, since bitbucket have closed down support for Mercurial. The outstanding issues have been preserved, but have not (yet) been migrated to a new system, so may become inaccessible.
1.10b1, 2020 January 26
  - Add the `\TPShowGrid` macro.
  - Become invisible in horizontal mode. Note: this is a change in behaviour: Before this the behaviour of the package in horizontal mode was deliberately somewhat underspecified (with an intended implication of ‘don't do this’), and the package, for want of anything more imaginative to do, simply threw in a paragraph break, which produced ugly spacing in some circumstances. As a result of user feedback, from version 1.10 it seemed reasonable to try a little harder to be invisible in the horizontal case (see issue 16).
  - Various documentation improvements.
1.9.1, 2019 April 15
  - Added the `\TPReferencePosition` command, to change the default reference position away from `[0,0]`.
  - Added the experimental `\TPoptions{discardcontent=true}` option, to improve compatibility with TikZ (see issue 6 in the repository). Note: This option may change or disappear in future versions, and the author would be particular interested to get feedback regarding it.
  - Documentation: added discussion of the implementation difference between relative and absolute mode, and when one is preferable to the other.
  - Documentation: note that the showboxes option is intended only as a basic aid to layout.
  - (Version 1.9 was partially released, but it contained an attribution error which could be most easily fixed by a minor version bump).
1.8, 2016 June 5
  - Added the `\TPoptions` command, to switch modes on and off within the document. Various documentation tweaks.
  - The behaviour of `\TPMargin` and `\TPMargin*` were somewhat underspecified in versions of Textpos before v1.8, and in consequence inconsistently implemented. This has now been rationalised, but the change may change documents which relied on the previous behaviour. Thanks to Richard Schreiber for the detailed bug report.
  - In this release, I switched to more conventional dotted-integer, n.m.r, version numbers, from the LaTeX-style model with intermediate releases denoted by letters.
1.7j, 2014 January 3
  Re-released under the LPPL.
1.7i, 2012 November 10
  Bugfix: further change to the way the {color} package is loaded (fixes issue 2); now finally fixed?
1.7h, 2012 June 1
  Bugfix: further change to the way the {color} package is loaded. Some documentation tweaks. Pointers to bitbucket repository.
1.7g, 2010 September 30
  Bugfix: change the way we handle the {color} package not being loaded – replacement `\color` command is now robust. Thanks to Joseph Wright for the bugreport. Also adjusted documentation of reference points.
1.7f, 2009 May 28
  The change in behaviour introduced in v1.7e is now documented (it was unspecified before, and 1.7e didn't commit itself one way or the other).
1.7e, 2009 March 29
  Daniel Richard G noted that the order in which textblock contents was laid down on the page was counter-intuitive, since one would expect that later environments go 'on top of' earlier ones. This order was unspecified before this version, but I've changed this, satisfying a principle of least surprise (later ones now go 'on top').
1.7d, 2007 March 30
  Axel Sommerfeldt suggested a further alternative approach, even more lightweight, and I incorporated a version of that.
1.7c, 2007 March 29
  Giovanni Radilla reported a problem with captions, which meant that the captions weren't appearing properly in the list of figures. Dan Luecking and Axel Sommerfeldt analysed the problem precisely, and the latter provided code which I've incorporated in this fix.
1.7b, 2007 March 21
  Robert Whittaker reported a problem with `\TPmargin`, which meant that lists and quotations (and other things which manipulated `\leftskip` and `\rightskip`) were not decreasing in size when you set `\TPmargin` non-zero. Fixed.
1.7a, 2006 September 2
  Version 1.7 created an inadvertant dependency on the `{color}` package. Now, if you do not load that package, `\textblockrulecolour` will have no effect, rather than failing. Textpos will give you a warning in this case, reminding you to load the `{color}` package.
1.7, 2006 August 24
  Added the `\textblockrulecolour` and `\TPshowboxes{true,false}` commands, to further control the display of the rules around the text blocks.
1.6b, 2006 August 10
  Minor documentation fixes
1.6a, 2005 October 13
  The overriding of the figure and table environments now also works when there is no previous environment to override.
1.6, 2005 August 30
  Made `{calc}`-style dimensions to the `{textblock*}` argument work again (so that's what regression tests are for...). Override the `figure` and `table` environments within `textblock` environments, to avoid their surprising and undesirable interaction with `textblock`.
1.5b, 2005 June 13
  The 1.5 release broke the textblock environment's optional argument, controlling the position of the reference point within the block. Fixed.
1.5a, 2005 March 26
  Documentation fixes: added a section on the interaction between absolute mode and LaTeX's `\newpage` command.
1.5, 2005 March 23
  Implement `\TPMargin` command, which causes a margin to appear round the blocks of text within textblock environments. This makes it easy to use blocks of colour which are larger than the block of text by a decent margin, or to put a border round textblocks by setting a suitably-sized margin and using the `showboxes` package option.
1.4, 2003 September 7
  Changes in the handling of vertical spacing; inconsistent in some circumstances before. Slight (consequent) change to the algorithm which ensures that material is output in absolute mode even when the page is otherwise empty. See README for details. Version 1.3a will remain available for some time in case these fixes break things.
1.3a, 2003 June 24
  Added the `\textblockcolour` command, to set the background colour of text blocks
1.3, 2003 June 24
  (there was a release 1.3, but it was broken, and immediately replaced by 1.3a)
1.2b, 2002 July 1
  Works around a bug present in at least one package, which leaves box255 holding an hbox at the wrong moment
1.2a, 2002 April 28
  Version 1.2 had an error, which caused a confusing error if you gave any fractional part in the arguments to the `{textblock}` environment. This was fixed in version 1.2a, which adds a `{textblock*}` environment (fully compatible with `calc`), and does not attempt to support calc-style expressions in the parameters to the unstarred `{textblock}` environment.
1.2, 2002 April 21
  Rolf Niepraschk `niepraschk@ptb.de` provided code to make textpos compatible with the `calc` package
Version 1.1
  Released in 1999

Norman Gray
@REPODATE@