[XeTeX] XeTeX Digest, Vol 54, Issue 3
Peter Dyballa
Peter_Dyballa at Web.DE
Wed Sep 3 23:35:46 CEST 2008
Am 03.09.2008 um 20:57 schrieb Richard Cobbe:
> Do you find this useful for applications other than testing or
> experimenting with the various (La)TeX engines?
Yes! It combines useful default settings. When they're united in one
file I don't need to search that much. It also shows how to
distinguish between different LaTeX engines.
I am not sure yet whether the \def's for recyclable data is a good
idea. 8-bit characters are a problem since they're recorded in the
file as UTF-8, i.e., a set of three 8-bit characters. This can cause
problems when used in preamble or body. Since I don't understand this
I need more and better tests.
%% -*- mode: LaTeX; coding: utf-8; -*-
\documentclass[a4paper,11pt]{article}
\usepackage{ifpdf,ifxetex,graphicx}
\usepackage[ngerman]{babel}
\def\author{Me!} % central place for
\def\title{Pretty Useful Article} % recyclable data
\def\Betreff{A word with an \"Umlaut} % \<accent> style needed
\def\Schlagworte{key, word}
%%%%%%%%%%%%%%%%%%%%%%%% XeTeX %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%
\ifxetex
\immediate\write16{==With XeTeX==}
\usepackage[no-math]{fontspec}
\usepackage{xltxtra,xunicode}
% \defaultfontfeatures{Mapping=tex-text}
% \setmainfont{Lucida Bright}
\setromanfont{Lucida Bright}
\setsansfont{Lucida Sans}
\setmonofont{Lucida Sans Typewriter}
% \DeclareGraphicsExtensions{.pdf,.png,.jpeg,.bmp} % formats
with xdvipdfmx
% \DeclareGraphicsExtensions{.mac,.pict,.psd,.sgi,.tga,.tif,.gif}
% additionally with xdv2pdf
% \usepackage[unicode]{hyperref}
\usepackage[unicode,pdftitle={\title},pdfauthor={\author}]
{hyperref}
\pdfstringdef{\Subjekt}{\Betreff} % "translation" needed
% \hypersetup{pdfauthor={Of course me!}}
\special{pdf: docinfo <<
/Keywords (\Schlagworte)
/Subject (\Subjekt)
>>}
\else
\immediate\write16{==XeTeX nyet==}
\usepackage[utf8]{inputenc}
%%%%%%%%%%%%%%%%%%%%%%%% pdfTeX %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%
\ifpdf
\immediate\write16{==\jobname: Bonjour, PDF!==}
\usepackage{cmap}
% \DeclareGraphicsExtensions{.pdf,.png,.jpeg} % allowed graphics
formats
\usepackage[activate={true,nocompatibility}]{microtype}
% \usepackage[protrusion=true,expansion=true]{microtype}
\usepackage{lucida}
% \usepackage[unicode]{hyperref}
\usepackage[unicode,pdftitle={\title},pdfauthor={\author}]
{hyperref}
\pdfstringdef{\Angabe}{\Schlagworte} % "translate" non-ASCII
\pdfstringdef{\Subjekt}{\Betreff} % characters
\pdfinfo
{ /Keywords (\Angabe)
/Subject (\Subjekt)
}
\makeatletter
\@ifundefined{pdffilemoddate}{%
\PackageError{sourcetime}{%
pdfTeX >= 1.30.0 required%
}%
\let\pdffilemoddate\@gobble
}{}%
\newcommand*{\SourceFile}[1]{%
\edef\@SourceFileDate{\pdffilemoddate{#1}}%
% empty in case of errors, but don't harm in next comparison
\ifnum\pdfstrcmp{\@SourceFileDate}{\@CurrentSourceFileDate}>0 %
\let\@CurrentSourceFileDate\@SourceFileDate
\expandafter\@ParseDate\@SourceFileDate\@nil
\hypersetup{%
pdfcreationdate={\@SourceFileDate},%
pdfmoddate={\@SourceFileDate}%
}%
\PackageInfo{sourcetime}{%
Using file `#1'%
}%
\fi
}
\newcommand*{\@CurrentSourceFileDate}{}
\expandafter\def\expandafter\@ParseDate\detokenize{D:}
#1#2#3#4#5#6#7#8{%
\year=#1#2#3#4\relax
\month=#5#6\relax
\day=#7#8\relax
\@ParseTime
}
\def\@ParseTime #1#2#3#4#5\@nil{%
\time=\numexpr #1#2 * 60 + #3#4\relax
}
\makeatother
\SourceFile{\jobname.tex}
\else
%%%%%%%%%%%%%%%%%%%%%%%% DVI LaTeX %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%
\immediate\write16{==¡Hola \jobname: DVI!==}
% \DeclareGraphicsExtensions{.ps,.eps} % allowed graphics formats
\usepackage[protrusion=true,expansion=false]{microtype}
\usepackage{times}
\fi
%%%%%%%%%%%%%%%%%%%%%%%% non-XeTeX %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%
\usepackage[T1]{fontenc}
\usepackage[full]{textcomp}
\usepackage[portrait,nohead]{geometry}
%%%%\renewcommand{\sfdefault}{pag}
%%%%\renewcommand{\rmdefault}{ppl}
%%%%\renewcommand{\ttdefault}{mcr}
\makeatletter
\newcommand*\TeX at logo@spacing[6]{%
\def\xxt at kern@Te{#1}%
\def\xxt at kern@eX{#2}%
\def\xxt at lower@e{#3}%
\def\xxt at kern@La{#4}%
\def\xxt at kern@aT{#5}%
\def\xxt at kern@eL{#6}%
}
\DeclareRobustCommand\XeTeX{%
\leavevmode
\smash{%
X\lower\xxt at lower@e
\hbox{\kern\xxt at kern@eX
\setbox0=\hbox{E}\dimen0=\ht0\advance\dimen0by\dp0%
\reflectbox{E}%
}\kern\xxt at kern@Te\TeX}}%
\DeclareRobustCommand\XeLaTeX{%
\leavevmode
\smash{%
X\lower\xxt at lower@e
\hbox{\kern\xxt at kern@eX
\setbox0=\hbox{E}\dimen0=\ht0\advance\dimen0by\dp0\relax
\reflectbox{E}%
}\kern\xxt at kern@eL\LaTeX}}
\TeX at logo@spacing{-0.15em}{-0.125em}{0.5ex}{-0.36em}{-0.12em}
{-0.13em}
\makeatother
\fi
%\nofiles
%\listfiles
%\enlargethispage{5cm}
%\thispagestyle{empty}
\begin{document}
At least some well-known text: \Betreff!
\end{document}
--
Greetings
Pete
Don't force it; get a larger hammer.
– Anthony's Law of Force
More information about the XeTeX
mailing list