[XeTeX] \special{papersize=...} in *.fmt

Stephen Moye stephenmoye at mac.com
Sat Mar 4 17:46:20 CET 2006


On Mar 4, 2006, at 10:40 AM, Jonathan Kew wrote:

> On 4 Mar 2006, at 3:21 pm, Stephen Moye wrote:
>
>> If I put \special{papersize=...} into a .fmt file, it does not  
>> seem to 'take'.
>
> Not sure what you mean by "put into a .fmt file". A format file is  
> just a way to load a large collection of macros, etc. But  
> \special's need to be written to the DVI (or XDV) output in order  
> to have any effect, so they ultimately need to be included in a box  
> that is shipped out by TeX using \shipout.
>
> If you define a macro that expands to \special{papersize=...},  
> store that in a .fmt, and then use that macro in a document, I'd  
> expect it to work. But merely saying \special{...} during format  
> creation won't achieve this.
>
> I guess you're wanting to make a .fmt file that sets a particular  
> paper size, without requiring anything in the normal TeX input  
> file. One way to do this would be to define a modified \output= 
> {...} routine that includes the \special you want, and then dump a  
> format that includes this new \output.
>
> Alternatively, would it be simpler to use a shell script (or  
> TeXShop engine) to call xetex, passing the papersize as a command- 
> line argument?

Sorry I didn't put that well. This is what I had in the TeX file that  
I used to create a fmt file:

%%--%%

\input columns

\special{papersize=5.5in,8.5in}

%%...

\dump

%%

I now understand why this didn't work. I have made a .engine file to  
take care of that. Thanks for the insight.

SGM



More information about the XeTeX mailing list