From: glenn@extro.ucc.su.oz.au (Glenn Geers) Newsgroups: alt.sources Subject: wp2latex (4 of 4) Message-ID: <1990Aug8.115224.17365@metro.ucc.su.OZ.AU> Date: 8 Aug 90 11:52:24 GMT #! /bin/sh # This is a shell archive, meaning: # 1. Remove everything above the #! /bin/sh line. # 2. Save the resulting text in a file. # 3. Execute the file with /bin/sh (not csh) to create: # wp2l-nl.tex # wp2latex.doc # wp2latex.msg # wp2latex.sty # wp2latex.tex # This archive created: Wed Aug 8 21:48:02 1990 export PATH; PATH=/bin:/usr/bin:$PATH echo shar: "extracting 'wp2l-nl.tex'" '(18575 characters)' if test -f 'wp2l-nl.tex' then echo shar: "will not over-write existing file 'wp2l-nl.tex'" else sed 's/^ X//' << \SHAR_EOF > 'wp2l-nl.tex' X\documentstyle[11pt,nl,wp2latex]{report} X X\newcommand{\pijl}{$\rightarrow$} X\renewcommand{\thechapter}{} X\renewcommand{\thesection}{\arabic{section}} X\renewcommand{\thefigure}{\arabic{figure}} X X\title{Handleiding bij het programma\\ X \hspace{1cm}\\ X \WPtoLaTeX} X\author{R.C. Houtepen} X X\begin{document} X X\maketitle X X\newpage X X\pagenumbering{roman} X\tableofcontents X X\newpage X X\pagenumpos{\pnbc} X\pagenumbering{arabic} X X\section{Inleiding} X XHet programma \WPtoLaTeX\ biedt de mogelijkheid om dokumenten Xafkomstig van WordPerfect 5.0 te konverteren naar \LaTeX-invoerfiles. XHet programma is geschreven in het kader van een stageopdracht uitgevoerd Xbij het Rekencentrum van de Technische Universiteit Eindhoven. XDe gebruikte programmeertaal is Turbo Pascal 5.0.\\ X\\ XHet projecteren van een bepaalde wereld (WordPerfect = tekstverwerking) Xop een andere wereld (\LaTeX\ = typesetting) vraagt om enige Xdiscipline van de gebruiker. \\ XOmdat het gebruik van \LaTeX\ aan strikte regels gebonden Xis, moeten we, willen we het WordPerfect 5.0 dokument zo goed mogelijk Xkonverteren, bij het gebruik van WordPerfect rekening houden met Xdeze regels. XIn deze handleiding wordt op deze regels ingegaan.\\ X X\newpage X X\section{De konversiemogelijkheden} X\label{mogelijk} X XOmdat de mogelijkheden en eigenschappen van WordPerfect en X\LaTeX\ sterk uiteen lopen, kunnen niet alle WordPerfect `features' Xgekonverteerd worden.\\ X\\ XDe konversiemogelijkheden van \WPtoLaTeX\ zijn :\\ X\begin{itemize} X \item harde regelovergangen X \item harde paginaovergangen X \item de lettertypen : X \begin{itemize} X \item extra groot X \item zeer groot X \item groot X \item klein X \item zeer klein X \item superscript X \item subscript X \item cursief X \item kleine kapitalen X \item vet X \item onderstrepen X \item dubbel onderstrepen X \end{itemize} X \item extended karakters (wel accenten, geen linedraw) X \item overslag X \item tabs : X \begin{itemize} X \item instelling X \item linkertabs X \item centertabs X \item rechtertabs X \end{itemize} X \item rechts springen X \item uitlijnen X \item inspringen : X \begin{itemize} X \item links X \item links en rechts X \end{itemize} X \item voetnoten X \item kop- en voetteksten X \item paginanummerpositie X \item uitvullen aan/uit X\end{itemize} X\nwln X{\bf Niet} gekonverteerd worden : X\begin{itemize} X \item kantlijninstellingen X \item krantestijlkolommen X \item regelafstanden X \item onder- en bovenmarge X \item index X \item referenties X \item eindnoten X \item inhoudsopgave X \item grafische afbeeldingen X\end{itemize} X X\newpage X X\section{Werkregels} X X\subsection{Tabs} X XHet tab-stop kommando wordt gebruikt om stukken tekst exact te kunnen Xpositioneren, b.v. bij het maken van tabellen. We kunnen hier twee soorten Xkommando's onderscheiden. Allereerst zijn er de tab-instellingen. Hiermee Xwordt aangegeven {\em waar} de tabs moeten worden gepositioneerd. XDaarnaast zijn er de tab-stops, die aangeven dat er naar een bepaalde Xpositie {\em gesprongen} moet worden. Binnen \LaTeX\ kunnen tab-stops alleen binnen Xeen \verb|tabbing|-omgeving worden gebruikt. \WPtoLaTeX\ zorgt er voor Xdat alleen regels waar \'e\'en of meerdere tab-stops in voorkomen in Xzo'n \verb|tabbing|-omgeving worden gezet.\\ X\\ XBinnen WordPerfect dient een regel waarin tabs voorkomen afgesloten te worden Xmet een harde regelovergang. Is dit niet het geval, dan zullen de Xtab-posities in het gegenereerde \LaTeX-dokument niet vastliggen. \LaTeX\ Xzal zulke regels foutief uitvullen.\\ X XDe volgende WordPerfect-invoer zal foutief gekonverteerd worden :\\ X X\begin{verbatim} X Tekst1 [Tab] tekst2 [Tab] tekst3 [ZRt] X tekst4 [Tab] tekst5. [HRt] X\end{verbatim} X\nwln X XBeter is :\\ X X\begin{verbatim} X Tekst1 [Tab] tekst2 [Tab] tekst3 [HRt] X tekst4 [Tab] tekst5. [HRt] X\end{verbatim} X\nwln X XEen tab-instelling binnen een regel geldt voor de hele regel. XGeadviseerd wordt om tab-instellingen v\'o\'or een regel of vooraan Xin de desbetreffende regel te plaatsen.\\ X\\ X\\ X{\bf Enkele restricties :}\\ X\\ XBij \LaTeX\ worden in een \verb|tabbing|-omgeving kommando's als \verb|\'|, X\verb|\`| en \verb|\=| gebruikt. Deze kommando's dienen Xbuiten een \verb|tabbing|-omgeving voor het plaatsen van accenten. Binnen een X\verb|tabbing|-omgeving moeten deze kommando's voor het plaatsen van Xaccenten vervangen worden door resp. \verb|\a'|, \verb|\a`| en \verb|\a=|. X\WPtoLaTeX\ houdt hier g\'{e}\'{e}n rekening mee. XDit betekent dat de gebruiker, n\'{a} de konversie, zelf deze kommando's Xdient te vervangen.\\ X\\ XBinnen WordPerfect 5.0 kunnen maximaal 40 tabs ingesteld worden. X\LaTeX\ kent maximaal 14 tabinstellingen. Dit heeft tot gevolg Xdat, wil men gaan konverteren, er binnen WordPerfect maximaal X14 tabs ingesteld mogen worden.\\ XWorden er meer dan 14 tabs ingesteld, dan zal de verwerking door X\LaTeX\ resulteren in een aantal foutmeldingen met als uiteindelijke Xresultaat dat een aantal tabs worden genegeerd.\\ X X\newpage X X\subsection{Inspringen} X\label{inspring} X XHet inspring kommando wordt gebruikt om de kantlijnen van Xstukken tekst (alinea's) te veranderen.\\ XDe konversiemogelijkheden die met betrekking tot inspringen Xworden geboden zijn :\\ X XVoorbeelden :\\ X\\ X\begin{tabbing} X\verb| [|\pijl\verb|Inspr]|$^*$\verb| |\= X \verb|Een ingesprongen alinea die over [ZRt]| \\ X \> \verb|meerdere regels verspreid mag worden en [ZRt]| \\ X \> \verb|afgesloten wordt met een harde [ZRt]| \\ X \> \verb|regelovergang. [HRt]| \\ X\end{tabbing} X\begin{tabbing} X\verb| label [|\pijl\verb|Inspr]|$^*$\verb| | X \= \verb|Zoals we hier zien bestaat de [ZRt]| \\ X \> \verb|mogelijkheid om een `label' voor [ZRt]| \\ X \> \verb|een ingesprongen tekst te plaatsen. [HRt]| \\ X\end{tabbing} X\begin{tabbing} X\verb| [|\pijl\verb|Inspr]|$^*$\verb| label [|\pijl\verb|Inspr]|$^*$\verb| | X \= \verb|Het is ook mogelijk om een [ZRt]| \\ X \> \verb|`ingesprongen label' voor [ZRt]| \\ X \> \verb|een ingesprongen tekst te plaatsen. [HRt]| \\ X\end{tabbing} X X\nwln XWaarbij \verb|[|\pijl\verb|Inspr]|$^*$ overeenkomt met \'e\'en of meerdere X\verb|[|\pijl\verb|Inspr]| kommando's. \\ X X\vspace{1cm} X X{\bf Opmerking :}\\ X XHet is bij gebruik van \WPtoLaTeX\ {\bf niet} mogelijk bij inspringen Xm\'e\'er dan twee indentatieniveau's te konverteren.\\ X X\newpage X X\subsection{Kombinaties van tabs en inspringen} X XIn de praktijk blijkt dat de tab-stop en inspring kommando's vaak Xdoor elkaar heen gebruikt worden. Het effect hiervan binnen XWordPerfect is vaak identiek : woorden komen op de plek waar Xmen ze hebben wil, zowel op het beeldscherm als uiteindelijk Xop papier (What You See Is What You Get).\\ XBinnen \LaTeX\ is het verschil tussen tab-stops en inspring kommando's Xechter essentieel. Het is dan ook van belang dat de WordPerfect-gebruiker Xhier rekening mee houdt. Voor tab-stops mag dus alleen het X\verb|[Tab]| kommando gebruikt worden en voor inspringen alleen het X\verb|[|\pijl\verb|Inspr]| kommando. X\\ XWorden echter tab-stop en inspring kommando's binnen \'e\'en regel Xdoor elkaar gebruikt, dan worden alleen de kommando's van het Xtype dat het eerst op de betreffende regel voorkomt gekonverteerd. \\ X\\ XEen voorbeeld:\\ X\\ X\begin{tabbing} X\verb| [Tab] piet [Tab] jan [|\pijl\verb|Inspr] klaas [HRt]| \\ X\end{tabbing} X XHier komt het tab-stop kommando eerder dan het inspring kommando op de Xregel voor. De interpretatie hiervan door \WPtoLaTeX\ is dan : \\ X\\ X\begin{tabbing} X\verb| [Tab] piet [Tab] jan klaas [HRt]| \\ X\end{tabbing} X XHet inspring kommando wordt genegeerd. De regel zou er als volgt uit Xmoeten zien :\\ X\\ X\begin{tabbing} X\verb| [Tab] piet [Tab] jan [Tab] klaas [HRt]| \\ X\end{tabbing} X X\newpage X X\subsection{Voetnoten} X XBinnen een voetnoot worden alleen regelovergangen en lettertypen X(zie \S~\ref{mogelijk}) gekonverteerd. Een voetnootnummer mag Xalleen uit cijfers bestaan.\\ X\\ XVoetnoten binnen regels waarin tab-stops voorkomen verschijnen Xbij \LaTeX, in tegenstelling tot WordPerfect, niet onderaan de pagina. XDit een beperking van \LaTeX.\\ X\\ X X\newpage X X\subsection{Kop- en voetteksten} X XBinnen een kop- of voettekst worden alleen lettertypen Xgekonverteerd (zie \S~\ref{mogelijk}). \\ X\\ XEen kop- of voettekst kan men indelen in drie stukken : X\begin{itemize} X \item linksuitgelijnd X \item gecentreerd X \item rechtsuitgelijnd X\end{itemize} X\nwln XDeze drie delen dienen binnen WordPerfect gescheiden te worden door het Xcentreer kommando (Shift F6) en spring-rechts kommando (Alt F6).\\ XHet effect van de WordPerfect kommando's voor de koptekst : \\ X X\begin{verbatim} X Links[Centr]Midden[C/U/SR/D][Spr rechts]Rechts X\end{verbatim} X\nwln Xzal na konversie door \LaTeX\ ge\"{\i}nterpreteerd worden als in Xfiguur~\ref{fig:koptekst} wordt weergegeven. XBij het kiezen van de pagina's waar de kop- of voettekst geplaatst moet Xworden, wordt bij het kiezen van alleen een even of oneven Xpagina de eerdere kop- of voettekst-instelling van de andere Xpagina niet be\"{\i}nvloed.\\ X X\begin{figure}[hbt] X\centering X\setlength{\unitlength}{3mm} X\begin{picture}(12,16) X \thicklines X \put(0,0){\framebox(12,16)} X \put(1,14){\makebox(10,1)[l]{{\tiny Links}}} X \put(1,14){\makebox(10,1){{\tiny Midden}}} X \put(1,14){\makebox(10,1)[r]{{\tiny Rechts}}} X \put(1,12){\line(1,0){10}} X \put(1,11){\line(1,0){10}} X \put(1,10){\line(1,0){10}} X \put(1,9){\line(1,0){10}} X \put(1,8){\line(1,0){10}} X \put(1,7){\line(1,0){10}} X \put(1,6){\line(1,0){10}} X \put(1,5){\line(1,0){10}} X \put(1,4){\line(1,0){10}} X \put(1,3){\line(1,0){10}} X \put(1,2){\line(1,0){10}} X\end{picture} X\caption{kopteksten} X\label{fig:koptekst} X\end{figure} X X\newpage X X\subsection{Paginanummerpositie} X XHet WordPerfect-dokument wordt gekonverteerd naar een enkelzijdig Xdokument. Dit houdt in dat de paginanummerposities 4 en 8 niet Xgekonverteerd worden. De paginanummer-posities die door \WPtoLaTeX\ Xgekonverteerd worden, worden in figuur~\ref{fig:pagnr} weergegeven.\\ X X\begin{figure}[hbt] X\centering X\setlength{\unitlength}{3mm} X\begin{picture}(12,16) X \thicklines X \put(0,0){\framebox(12,16)} X \put(1,14){\makebox(10,1)[l]{1}} X \put(1,14){\makebox(10,1){2}} X \put(1,14){\makebox(10,1)[r]{3}} X \put(1,1){\makebox(10,1)[l]{5}} X \put(1,1){\makebox(10,1){6}} X \put(1,1){\makebox(10,1)[r]{7}} X\end{picture} X\caption{paginanummer posities} X\label{fig:pagnr} X\end{figure} X X\newpage X X\subsection{WordPerfect defaultwaarden} X XHet konversieprogramma genereert, onafhankelijk van de XWordPerfect-instellingen, een \LaTeX-bestand met een linkerkantlijn Xvan 2,54cm (1 inch). Deze wordt binnen het hele dokument gehandhaafd. XDit omdat \LaTeX\ zowel een minimale linkermarge als Xeen minimale bovenmarge van 2,54cm hanteert (zie figuur~\ref{fig:tabs}). XDit betekent dat \WPtoLaTeX\ er van uit gaat dat binnen het XWordPerfect-dokument de linkerkantlijn ook op 2,54cm ingesteld is Xen dat deze niet verandert. \\ XTevens wordt er van een standaard tab-instelling uitgegaan van Xbeginnend met 2,54cm en vervolgens iedere 2,54cm (14 tab-stops). XEen afwijkende standaard tab-instelling kan vanaf de eerste Xregel geplaatst worden.\\ X\\ XWordt er niet aan de bovenstaande standaard instellingen Xvoldaan, dan kan dit leiden tot foutmeldingen bij de Xverwerking door \LaTeX. Dit heeft onder meer te maken met de manier Xwaarop WordPerfect de tab-stops positioneert en die waarop \LaTeX\ Xdat doet (zie figuur~\ref{fig:tabs}). \LaTeX\ positioneert de tab-stops Xt.o.v. de linkermarge, die zoals gezegd minimaal 2,54cm breed is. Bij XWordPerfect zijn de linkermarge en de tab-posities onafhankelijk Xvan elkaar.\\ X X\begin{figure}[hbt] X\centering X\setlength{\unitlength}{1.5mm} X\begin{picture}(60,50) X \thicklines X \put(0,0){\framebox(28,35)} X \put(32,0){\framebox(28,35)} X \thinlines X \put(0,37){\makebox(1,3)[l]{WordPerfect}} X \put(32,37){\makebox(1,3)[l]{\LaTeX}} X \put(36,31){\line(1,0){21}} X \put(36,31){\line(0,-1){28}} X \put(32,31){\vector(1,0){4}} X \put(36,31){\vector(-1,0){4}} X \put(36,31){\vector(0,1){4}} X \put(36,35){\vector(0,-1){4}} X \put(37,31){\makebox(1,4)[l]{{\small 1"}}} X \put(32,28){\makebox(4,2){{\small 1"}}} X \put(36,27){\vector(1,0){3}} X \put(40,27){\makebox(1,1)[tl]{{\scriptsize tab 1}}} X \put(36,25){\vector(1,0){6}} X \put(43,25){\makebox(1,1)[tl]{{\scriptsize tab 2}}} X \put(36,23){\vector(1,0){9}} X \put(46,23){\makebox(1,1)[tl]{{\scriptsize tab 3}}} X \put(4,31){\line(0,-1){28}} X \put(4,31){\line(1,0){21}} X \put(0,27){\vector(1,0){7}} X \put(8,27){\makebox(1,1)[tl]{{\scriptsize tab 1}}} X \put(0,25){\vector(1,0){10}} X \put(11,25){\makebox(1,1)[tl]{{\scriptsize tab 2}}} X \put(0,23){\vector(1,0){13}} X \put(14,23){\makebox(1,1)[tl]{{\scriptsize tab 3}}} X\end{picture} X\caption{tab-stop instellingen bij WordPerfect en \LaTeX} X\label{fig:tabs} X\end{figure} X X\newpage X X\subsection{Spaties} X XOmdat het gebruik van WordPerfect het visueel ontwerpen van een Xdokument in de hand werkt, hebben gebruikers vaak de neiging Xom met behulp van spaties voor een acceptabele layout te zorgen. XMeerdere spaties achter elkaar hebben binnen \LaTeX\ echter hetzelfde Xeffect als \'e\'en spatie.\\ XBij het konverteren van een WordPerfect-bestand worden meerdere spaties Xna elkaar gekonverteerd naar `harde' \LaTeX-spaties. \\ X XVoorbeeld : \\ X X\begin{tabular}{|l|l|} X\hline XWordPerfect & \LaTeX \rule[-.5cm]{0cm}{1.5cm} \\ X\hline X\verb*|woord1 woord2| & \verb*|woord1 ~~~woord2|\rule[-.5cm]{0cm}{1.5cm} \\ X\hline X\end{tabular} X\nwln X XWanneer deze aan het begin van een regel voorkomen hebben ze echter Xg\'e\'en effect. XBovendien zal de layout die in het WordPerfect-bestand gebruikt wordt Xzelden in \LaTeX\ bereikt worden vanwege de afwijkende zetspiegel, Xlettertypes en uitvulregels die \LaTeX\ hanteert. X X\newpage X X\section{Het programma} X XHet \WPtoLaTeX-pakket bevat de files :\\ X X\begin{itemize} X \item \verb|WP2LATEX.EXE| (het konversieprogramma) X \item \verb|WP2LATEX.STY| (stijl-file nodig bij verwerking door \LaTeX) X \item \verb|WP2LATEX.TEX| (deze handleiding in \LaTeX-opmaak) X \item \verb|LEESME.BAT | (batch-file met gebruikers-instrukties) X\end{itemize} X\nwln XHet programma wordt aangeroepen middels het kommando :\\ X X\begin{verbatim} X WP2LATEX [WP-filenaam.WPF] X\end{verbatim} X X\nwln XDe parameter \verb|WP-filenaam.WPF|\footnote{Dit mag een WordPefect 5.0 Xbestand zijn met een andere existentie dan \verb|.WPF|} is optioneel. XHet programma start met een Xopeningsboodschap en vraagt om de WordPerfect filenaam. De default XWordPerfect-filenaam wordt tussen vierkante haken \mbox{(\verb|[ ]|)} Xvermeld. Dit is de filenaam die eventueel als optionele parameter werd Xmeegegeven bij de aanroep van \verb|WP2LATEX|. De gebruiker kan nu Xalsnog een andere WordPerfect-filenaam intypen of hij kan middels return Xvoor de default filenaam kiezen. Vervolgens vraagt het programma om de Xfilenaam van het te genereren \LaTeX-dokument. Als default filenaam wordt Xde WordPerfect-filenaam met existentie \verb|.TEX| genomen. Deze filenaam Xwordt weer tussen rechte haken weergegeven. Ook hier kan de gebruiker Xvoor een afwijkende \LaTeX-filenaam\footnote{Dit mag een file zijn Xmet een andere existentie dan \verb|.TEX|} kiezen. Wanneer de filenamen zijn Xingegeven kunnen de volgende foutmeldingen verschijnen :\\ X X\begin{itemize} X \item \Underline{File not found :} De opgegeven WordPerfect file is niet gevonden. X \item \Underline{Path not found :} Bij het opgeven van de filenamen is een X ongeldig pad opgegeven. X \item \Underline{Not a WordPerfect 5.0 dokument :} De opgegeven WordPerfect file is X niet afkomstig van WordPerfect 5.0 X\end{itemize} X\nwln XDe konversie gebeurt in twee fasen. In de eerste fase wordt de XWordPerfect-invoerfile byte voor byte ingelezen. Op grond hiervan worden de Xfiles \verb|WP-filenaam.STR| en \verb|WP_filenaam.TBL| aangemaakt. XIn \verb|WP-filenaam.STR| worden de karakters, tab-stops en overgangen Xvan lettertypes weergegeven. De file \verb|WP-filenaam.TBL| bevat gegevens Xover de verschillende \LaTeX\ omgevingen die geopend en gesloten Xmoeten worden. XIn de tweede fase worden deze files verwerkt tot \'e\'en \LaTeX-file. XNa een succesvolle konversie worden de files \verb|WP-filenaam.STR| en X\verb|WP-filenaam.TBL| automatisch gewist.\\ X X\newpage X XBij een aanroep van \WPtoLaTeX\ om het WordPerfect 5.0 dokument X\verb|C:\WPTEST\TEST.WP5| te konverteren zal het volgende op het Xbeeldscherm verschijnen :\\ X X\begin{verbatim} X X Conversionprogram : From Wordperfect 5.0 to LaTeX (WP2LATEX) X X (c) TUE-Eindhoven ---- Made by R.C.Houtepen ---- Date : 24 Jan 1990 X X XWordPerfect-filename [ ] : c:\wptest\test.wp5 XLaTeX-filename [c:\wptest\test.TEX] : X XConverting ... X XFirst strike : XConverting-percentage : 100% X XSecond strike : XConverting-percentage : 100% X XConversion completed. X X\end{verbatim} X XDe heading van de gegenereerde \LaTeX-file, in dit geval de file X\verb|C:\WPTEST\TEST.TEX|, ziet er dan als volgt uit : \\ X X\begin{verbatim} X \documentstyle[11pt,wp2latex]{report} X\end{verbatim} X\nwln X XBij het aanroepen van \LaTeX\ dient de stijl-file \verb|WP2LATEX.STY| in de Xhuidige directory of in de directory van stijl-files X(\verb|\PCTEX\TEXINPUT|) te staan.\\ X XIn deze stijl-file worden onder andere een aantal kommando's en omgevingen Xgedefinieerd, die regelmatig in de gegenereerde \LaTeX-files zullen worden Xgebruikt. Voorbeelden hiervan zijn het kommando \verb|\nwln| en de Xomgeving \verb|indenting|. \verb|\nwln| genereert een harde regelovergang Xna het afsluiten van een \LaTeX-omgeving. De omgeving \verb|indenting| is Xgemaakt t.b.v. de konversie van het inspring kommando X(zie \S~\ref{inspring}). \\ X X\newpage X X\section{Tot slot} X XEen 100\% goede konversie van een WordPerfect-dokument wordt niet Xgegarandeerd. Tijdens de verwerking door \LaTeX\ van het gegeneerde Xdokument kunnen altijd nog foutmeldingen optreden. XEnige aanpassing van de gegenereerde \LaTeX-file zal in veel gevallen Xnodig zijn.\\ X\\ XDe hoogste prioriteit werd gegeven aan : X\begin{itemize} X \item het niet verloren gaan van tekst X \item het niet vastlopen van het programma. X\end{itemize} X\nwln X XHeeft u opmerkingen of commentaar m.b.t. het programma, dan kunt u zich Xwenden tot : \\ X X\vspace{2cm} X X\begin{minipage}[t]{6cm} XR.C. Houtepen \\ XBrusselstraat 150 \\ X4826 NK Breda \\ XTel: 076-714777 X\end{minipage} X\hfill of \hfill X\begin{minipage}[t]{6cm} X\raggedleft XR.L.M. Helwig \\ XT.U.E. \\ XPostbus 513\\ X5600 MB Eindhoven\\ XTel: 040 - 472724\\ X\nwln Xuucp : rcronh@urc.tue.nl\\ Xbitnet : rcronh@heitue5 X\end{minipage} X X\newpage X\nwln X\begin{center} X(Deze pagina is opzettelijk voor aantekeningen wit gelaten.) X\end{center} X\nwln X\end{document} SHAR_EOF if test 18575 -ne "`wc -c < 'wp2l-nl.tex'`" then echo shar: "error transmitting 'wp2l-nl.tex'" '(should have been 18575 characters)' fi fi echo shar: "extracting 'wp2latex.doc'" '(5987 characters)' if test -f 'wp2latex.doc' then echo shar: "will not over-write existing file 'wp2latex.doc'" else sed 's/^ X//' << \SHAR_EOF > 'wp2latex.doc' X XDear Wordperfect and/or LaTeX user, X XIn january the WP2LaTeX program was released from Eindhoven XUniversity of Technology. Unfortunately the original Xdocumentation was in Dutch. There is no english version available. XHowever, this shouldn't be to big a problem. In short, this is Xsummary of what the original documentation is about. In this translation XI sometimes refer to some pictures form the original documentation, so Xplease use this translation as well as the original documentation. X X1. Introduction X The program tries to make a projection from the world of X wordprocessing (Wordperfect) to the world of typesetting (LaTeX). X This implicates that certain rules should be taken into X consideration when making a document using Wordperfect. X X2. What is being converted and what is not X X converted : X - hard return (hard line break) X - hard page break X - typefaces: X - extra big X - ... X - very small X - superscript X - subscript X - italics X - small caps X - boldface X - underscore X - double underscore X - some extended characters X - overstrike X - tabs (left, right, center) X - jump right (Alt F6) X - parallel columns (fixed position decimal colon) X - indenting (left, left and right) X - footnotes X - headers en footers X - position pagenumber X - justification on/off X X Not being converted: X - margin settings X - newspaper-style columns X - line spacing X - top- and bottom margins X - index X - references X - end-notes X - table of contents X - grafical images X X3 Guidelines X X3.1 Tabbing X Never allow a line containing [Tab]'s to be broken by a soft return X ( [ZRt] in the Dutch version of Wordperfect, [SRt] in the English X one I assume). X X If you use accents in a tabbing-environment, be aware of the fact X that wp2latex doesn't convert these accents correctly. Normally accents X are made by \', \` and \=, but in a tabbing-environment these X commands have another definition. They should be replaced by X \a`, \a` en \a= respectively. The maximum number of tabs LaTeX X can handle is 14. Wordperfect can handle 40 tabs on one line. X So don't use more than 14 tabs. X X3.2 Indenting X There are 3 options that can be converted: X X [Indent]* One paragraph that may [SRt] X be spread over several lines [SRt] X and must be ended by a hard return. [HRt] X X label [Indent]* A label (some text) may be put [SRt] X in front of a paragraph. [HRt] X X [Indent]* label [Indent]* The label itself may be indented [SRt] X so that we have 2 indentation [SRt] X levels. [HRt] X X [Indent]* means one or more than one [Indent] (F4) X X By [SRt] I mean a soft line break (soft return). I am not shure X that I'm using the right translations because I don't use an X English version of Wordperfect. X X3.3 Combinations of tabs en indenting. X You should not mix tabbing and indentation when you plan on using X this conversion program. This is because these 2 things are X completely different in the world of LaTeX, although this X distinction is hard to make for a Wordperfect user. X X3.4 Footnotes X Within a footnote only hard returns and typeface-changes (section 2) X will be converted. A footnote-number may only contain digits. X X When using footnotes within a line containing tabs, the footnote X will not be put at the bottom of the page. This is a LaTeX-bug. X X3.5 Headers and footers X Only typefaces will be converted. The header/footer may be split X into 3 parts. A left part, a centered part and a right part X (see figure 1). Use Shft F6 for centering and Alt F6 for the X right part. X X3.6 Page number posotions X The positions shown in figure 2 will be converted. X X3.7 Wordperfect defaults X The left margin of the converted document will be 1 inch. Therefor X the program assumes that the Wordperfect left-margin is also 1 inch X and not being changed in the document. The default tab-settings will X be set on every inch. X It can be tricky not to follow the above guideline because in LaTeX X the tab-setting is relative to the left margin, whereas in X Wordperfect these two are independent (see figure 3). X X3.8 Spaces X Normally LaTeX ignores more than one space, and treats them like there X was only one space. Because many Wordperfect users use the spacebar X for lay-outing, obsolete spaces will be converted into tildes (~) and X therefor not be ignored. X X4 The program X I think this section is clear without further translation. The first line X of the converted document will always be: X X \documentstyle[11pt,wp2latex]{report} X X where wp2latex.sty is a style-file that should be used when LaTeX-ing X a converted document. It contains some macros like \nwln. X X5 Finally X A 100 percent correct conversion can not be guaranteed. In most cases X the converted document will need some modification in order to X get the best results. X X XBecause the sources are included (Turbo Pascal 5.0) you should be able to Xmodify the program when you want to convert Wordperfect 5.1 documents, Xprovided you know what file formats are being used by Wordperfect. XThe file formats we used for our program, we found in the WordPerfect X5.0 Developer's Toolkit. I would assume that there exists such a toolkit Xfor version 5.1 of Wordperfect. Because 5.0 documents are compatible with X5.1 documents (are they ?) it shouldn't be such a big deal. Of course Xyou shouldn't try to convert the new 5.1 formula's because they are Xtreated as graphical images as I understood (at this moment I don't Xuse version 5.1). X XI hope this short translation will help you using the wp2latex-program. XIf you have any further questions, don't hesitate to ask them. X X XSincerely, X X Ron Helwig X Eindhoven University of Technology X Department of Mathematics and Computer Science X The Netherlands X X e-mail: rcronh@urc.tue.nl SHAR_EOF if test 5987 -ne "`wc -c < 'wp2latex.doc'`" then echo shar: "error transmitting 'wp2latex.doc'" '(should have been 5987 characters)' fi fi echo shar: "extracting 'wp2latex.msg'" '(763 characters)' if test -f 'wp2latex.msg' then echo shar: "will not over-write existing file 'wp2latex.msg'" else sed 's/^ X//' << \SHAR_EOF > 'wp2latex.msg' X XWell somebody at Eindhoven Univ of Techn wrote a wordperfect 5.0 to LaTeX Xconversion program (only running on MSDOS of course) :=) X X Conversionprogram : From Wordperfect 5.0 to LaTeX (WP2LATEX) X X (c) TUE-Eindhoven ---- Made by R.C.Houtepen ---- Date : 24 Jan 1990 X XContact: Xuucp : rcronh@urc.tue.nl Xbitnet : rcronh@heitue5 X XI have it available in our FTP/mail-server archive. ftp sol.cs.ruu.nl X[131.211.80.5],directory pub/TEX, or send HELP to mail-server@cs.ruu.nl. XThe file is wp2latex.arc. X-- XPiet* van Oostrum, Dept of Computer Science, Utrecht University, XPadualaan 14, P.O. Box 80.089, 3508 TB Utrecht, The Netherlands. XTelephone: +31-30-531806 Uucp: uunet!mcsun!hp4nl!ruuinf!piet XTelefax: +31-30-513791 Internet: piet@cs.ruu.nl (*`Pete') SHAR_EOF if test 763 -ne "`wc -c < 'wp2latex.msg'`" then echo shar: "error transmitting 'wp2latex.msg'" '(should have been 763 characters)' fi fi echo shar: "extracting 'wp2latex.sty'" '(8077 characters)' if test -f 'wp2latex.sty' then echo shar: "will not over-write existing file 'wp2latex.sty'" else sed 's/^ X//' << \SHAR_EOF > 'wp2latex.sty' X% X% Style-input-file t.b.v conversie X% WordPerfect 5.0 --> LaTeX X% X% (c) Rob Houtepen Januari 1989 X% Rekencentrum TU-Eindhoven X% X% X\typeout{Extra style `wp2latex' <16 Jan 90>.} X X\def\WPtoLaTeX{{\rm W \kern-.38em\hbox{P}\kern-.2em\lower.7ex\hbox{2}\kern-.07em\hbox{\LaTeX}}} X X% Dit is een herdefinitie van de paginalayout-parameters X% X\if@twoside \oddsidemargin 0pt \evensidemargin 0pt \marginparwidth 107pt X\else \oddsidemargin 0pt \evensidemargin 0pt X\marginparwidth 90pt X\fi X\marginparsep 11pt X\topmargin 0pt \headheight 12pt \headsep 25pt \footheight 12pt \footskip 30pt X\textheight 22cm \textwidth 15.8cm \columnsep 10pt \columnseprule 0pt X\parskip 0pt plus 1pt \parindent 15pt \topsep 0pt plus 2pt minus 4pt X\partopsep 2pt plus 1pt minus 1pt \itemsep 0pt plus 2pt minus 1pt X\tolerance 9990 % Voorkomt veel-te-lege regels X X\parindent 0pt X\parskip 0pt X\tabbingsep 0pt X X% speciale chars X% X\newlength\@circht X\newcommand{\@twodots}[1]{\mathrel{.\llap{\raisebox{#1}{.}}}} X\newcommand{\@spjoinrel}{\mathrel{\mkern-9mu}} X\newcommand{\sbullet}{\mbox{\the\scriptfont2\char'017}} X\newcommand{\trademark}{\raisebox{0.7ex}{\the\scriptscriptfont0 TM}} X\newcommand{\circchar}[1]{% X {\ooalign{\hfil% X \raise0.07ex\hbox{\the\scriptscriptfont0\raise0.15ex\hbox{#1}}% X \hfil\crcr\mathhexbox20D% X }% X }} X\newcommand{\regmark}{\circchar{R}} X\newcommand{\circdots}{\setbox0=\hbox{$\circ$}\setlength{\@circht}{\ht0}% X \mbox{$\@twodots{\@circht}% X \@spjoinrel\raisebox{0.1ex}{$\circ$}% X \@spjoinrel\@twodots{\@circht}% X $% X }% X } X\newcommand{\charstrike}[1]{\raisebox{0.7ex}{\the\scriptfont0\b{#1}}} X\newcommand{\astrike}{\charstrike{a}} X\newcommand{\ostrike}{\charstrike{o}} X\newcommand{\lowerquote}{\raisebox{-1.2ex}{"}} X\newcommand{\mound}{\mbox{$.\raisebox{0.8ex}{.}.$}} X\newcommand{\bslash}{{\tt\char'134}} X\newcommand{\circumflex}{{\char'136}} X\newcommand{\snake}{{\char'176}} X\newcommand{\degrees}{{\char'027}} X\newcommand{\gtlt}{\mbox{ X \raisebox{0.6ex}{\the\scriptscriptfont1 >}\llap{% X \raisebox{-0.4ex}{\the\scriptscriptfont1 <}} }} X X% \justified maakt \raggedright, \raggedleft en \centering zo goed mogelijk X% ongedaan. N.B. het effect is merkbaar in de hele alinea, dus ook op evt. X% voorgaande regels. X% X\def\justified{\let\\=\@normalcr \@rightskip 0pt% X \rightskip\@rightskip \leftskip 0pt X } X% X% Nieuwe harde regel onafhankelijk van enviroment X% X\newcommand{\nwln}{\vspace{\baselineskip}} X X% X% Een gecentreerde tab: X% X\newcommand{\ctab}[1]{\makebox[0pt][c]{#1}} X X% X% Een onderstreepkommando met de lijn altijd tegen de schrijflijn X% X\def\Underline#1{$\underline{\smash{\hbox{#1}}}$} X X% X% Nieuw environment tbv van Inspringen X% X\newenvironment{indenting}[3]% X{\begin{list}{#3}{\setlength{\leftmargin}{#1} X \setlength{\labelwidth}{#1} X \setlength{\rightmargin}{#2} X \setlength{\topsep}{0pt} X \setlength{\partopsep}{0pt} X \setlength{\parskip}{0pt} X \setlength{\parsep}{0pt} X \setlength{\itemsep}{0pt} X } \item }% X{\end{list}} X% X% ************************************************************** X% * TUE HEADERS EN FOOTERS EN PAGINANUMMERPLAATSING * X% ************************************************************** X% X% (c) R.C.Houtepen 7-12-89 X% X% Variablen t.b.v. plaatsing paginanummers. X% X\newtoks\pntl \newtoks\pntc \newtoks\pntr X\newtoks\pnbl \newtoks\pnbc \newtoks\pnbr X\newtoks\pnno X X\def\@pntopleft{} \def\@pntopcenter{} \def\@pntopright{} X\def\@pnbottomleft{} \def\@pnbottomcenter{} \def\@pnbottomright{} X X\newlength{\pnheadfootsep} \setlength{\pnheadfootsep}{1em} X% X% Het paginanummerplaats-commando: X% X\newcommand{\pagenumpos}[1]{% X \gdef\@pntopleft{} \gdef\@pntopcenter{} \gdef\@pntopright{}% X \gdef\@pnbottomleft{} \gdef\@pnbottomcenter{} \gdef\@pnbottomright{}% X \ifx#1\pntl \gdef\@pntopleft{\thepage \hspace{\pnheadfootsep}}% X \else \ifx#1\pntc \gdef\@pntopcenter{\hspace{\pnheadfootsep} \thepage}% X \else \ifx#1\pntr \gdef\@pntopright{\hspace{\pnheadfootsep} \thepage}% X \else \ifx#1\pnbl \gdef\@pnbottomleft{\thepage \hspace{\pnheadfootsep}}% X \else \ifx#1\pnbc \gdef\@pnbottomcenter{\hspace{\pnheadfootsep} \thepage}% X \else \ifx#1\pnbr \gdef\@pnbottomright{\hspace{\pnheadfootsep} \thepage}% X \fi\fi\fi\fi\fi\fi } X X% X% Variabelen T.b.v Headers en footers X% X\newtoks\oddpages \newtoks\evenpages \newtoks\allpages X\newtoks\neverpages X X\def\@elefthead{} \def\@emidhead{} \def\@erighthead{} X\def\@eleftfoot{} \def\@emidfoot{} \def\@erightfoot{} X\def\@olefthead{} \def\@omidhead{} \def\@orighthead{} X\def\@oleftfoot{} \def\@omidfoot{} \def\@orightfoot{} X X\newlength{\@hfleni} \newlength{\@hflenii} X X% X% Het headtext-commando: X% X\newcommand{\headtext}[4]{% X \ifx#1\oddpages X \gdef\@olefthead{#2}\gdef\@omidhead{#3}\gdef\@orighthead{#4}% X \else\ifx#1\evenpages X \gdef\@elefthead{#2}\gdef\@emidhead{#3}\gdef\@erighthead{#4}% X \else\ifx#1\allpages X \gdef\@olefthead{#2}\gdef\@omidhead{#3}\gdef\@orighthead{#4}% X \gdef\@elefthead{#2}\gdef\@emidhead{#3}\gdef\@erighthead{#4}% X \else\ifx#1\neverpages X \gdef\@olefthead{}\gdef\@omidhead{}\gdef\@orighthead{}% X \gdef\@elefthead{}\gdef\@emidhead{}\gdef\@erighthead{}% X \fi\fi\fi\fi X } X X% X% Het foottext-commando: X% X\newcommand{\foottext}[4]{% X \ifx#1\oddpages X \gdef\@oleftfoot{#2}\gdef\@omidfoot{#3}\gdef\@orightfoot{#4}% X \else\ifx#1\evenpages X \gdef\@eleftfoot{#2}\gdef\@emidfoot{#3}\gdef\@erightfoot{#4}% X \else\ifx#1\allpages X \gdef\@oleftfoot{#2}\gdef\@omidfoot{#3}\gdef\@orightfoot{#4}% X \gdef\@eleftfoot{#2}\gdef\@emidfoot{#3}\gdef\@erightfoot{#4}% X \else\ifx#1\neverpages X \gdef\@oleftfoot{}\gdef\@omidfoot{}\gdef\@orightfoot{}% X \gdef\@eleftfoot{}\gdef\@emidfoot{}\gdef\@erightfoot{}% X \fi\fi\fi\fi X } X% X% Het werkelijk plaatsen van de headers en footers X% X\newcommand{\@headfoot}[3]{% X \settowidth{\@hfleni}{#2}% X \ifdim\@hfleni=0pt \makebox[\textwidth]{#1\hspace*{\fill}#3}% X \else \settowidth{\@hfleni}{#1}% X \settowidth{\@hflenii}{#3}% X \ifdim\@hflenii>\@hfleni X \setlength{\@hfleni}{\@hflenii}% X \fi% X \makebox[\textwidth]{\makebox[\@hfleni]{#1\hspace*{\fill}}% X \hspace*{\fill}{#2}\hspace*{\fill}% X \makebox[\@hfleni]{\hspace*{\fill}#3}% X }% X \fi X } X% X% Dit commando wordt aan het begin en aan het eind van een X% pagina uitgevoerd. X% X\def\ps@wptolatex{% X \def\@oddhead{\ifodd\value{page}% X \@headfoot{\@pntopleft\@olefthead}{\@omidhead\@pntopcenter}{\@orighthead\@pntopright}% X \else X \@headfoot{\@pntopleft\@elefthead}{\@emidhead\@pntopleft}{\@erighthead\@pntopright}% X \fi X }% X \def\@evenhead{\@oddhead}% X \def\@oddfoot{\ifodd\value{page}% X \@headfoot{\@pnbottomleft\@oleftfoot}{\@omidfoot\@pnbottomcenter}{\@orightfoot\@pnbottomright}% X \else X \@headfoot{\@pnbottomleft\@eleftfoot}{\@emidfoot\@pnbottomcenter}{\@erightfoot\@pnbottomright}% X \fi X }% X \def\@evenfoot{\@oddfoot}% X } X X\pagestyle{wptolatex} SHAR_EOF if test 8077 -ne "`wc -c < 'wp2latex.sty'`" then echo shar: "error transmitting 'wp2latex.sty'" '(should have been 8077 characters)' fi fi echo shar: "extracting 'wp2latex.tex'" '(17878 characters)' if test -f 'wp2latex.tex' then echo shar: "will not over-write existing file 'wp2latex.tex'" else sed 's/^ X//' << \SHAR_EOF > 'wp2latex.tex' X\documentstyle[11pt,wp2latex]{report} X X\newcommand{\arrow}{$\rightarrow$} X\renewcommand{\thechapter}{} X\renewcommand{\thesection}{\arabic{section}} X\renewcommand{\thefigure}{\arabic{figure}} X X\title{\WPtoLaTeX\\ X \hspace{1cm}\\ X User's Guide} X\author{R.C. Houtepen\thanks{Translated from the Dutch by G. R. Roelofs}} X X\begin{document} X X\maketitle X X\newpage X X\pagenumbering{roman} X\tableofcontents X X\newpage X X\pagenumpos{\pnbc} X\pagenumbering{arabic} X X\section{Introduction} X XThe program \WPtoLaTeX\ allows the conversion of WordPerfect 5.0 documents Xinto \LaTeX\ format. The program was written in the framework of a Xcommissioned publication by the Computation Center of the Eindhoven University Xof Technology, the Netherlands. The programming language used was Turbo XPascal 5.0.\\ X\\ XThe projection from one paradigm (WordPerfect = word processing) to another X(\LaTeX\ = typesetting) requires some cooperation on the part of the user. XBecause the use of \LaTeX\ is tied to strict rules, one must take these rules Xinto consideration when using WordPerfect, if the WordPerfect 5.0 document is Xto be converted as accurately as possible. This guide discusses those rules.\\ X X\newpage X X\section{Conversion possibilities} X\label{capabilities} X XBecause the capabilities of WordPerfect and \LaTeX\ differ strongly, it is Xnot possible to convert all of WordPerfect's `features'.\\ X\\ XThe conversions which are performed by \WPtoLaTeX\ are :\\ X\begin{itemize} X \item hard returns X \item hard page breaks X \item the following typefaces : X \begin{itemize} X \item extra large X \item very large X \item large X \item small X \item fine X \item superscript X \item subscript X \item italic X \item small caps X \item bold X \item underlined X \item double-underlined X \end{itemize} X \item extended characters (foreign language/accented, not linedrawing) X \item overstriking X \item tabs : X \begin{itemize} X \item setting X \item left tabs X \item center tabs X \item right tabs X \end{itemize} X \item flush-right text X \item outlining X \item indenting : X \begin{itemize} X \item left X \item left and right X \end{itemize} X \item footnotes X \item headers and footers X \item page number positioning X \item full justification on/off X\end{itemize} X\nwln X{\bf Not} converted are : X\begin{itemize} X \item margin settings X \item newspaper-style columns X \item line spacing X \item top and bottom margins X \item index X \item references X \item endnotes X \item table of contents X \item graphics boxes X\end{itemize} X X\newpage X X\section{Guidelines} X X\subsection{Tabbing} X XTab settings allow the exact placement of pieces of text, e.g., for creating Xtables. There are two sorts of commands involved here. First, there is the Xsetting of tabs; this defines {\em where} subsequent tab-stop commands will Xplace text. Then there are the tabs themselves, which force a {\em jump} to Xone of the previously-defined positions. In \LaTeX , however, tabs Xare enabled only within a \verb|tabbing| environment. \WPtoLaTeX\ takes Xcare of that by invoking a \verb|tabbing| environment only for those lines Xwhere one or more tabs appear.\\ X\\ XWithin WordPerfect, a line containing tabs must terminate with a hard Xcarriage return. If this is not the case, the tab positions in the generated X\LaTeX-document will not be fixed. \LaTeX\ will incorrectly typeset the Xspacing of such lines.\\ X XThe following WordPerfect text will be incorrectly converted :\\ X X\begin{verbatim} X Text1 [Tab] text2 [Tab] text3 [SRt] X text4 [Tab] text5. [HRt] X\end{verbatim} X\nwln X XThe following is better :\\ X X\begin{verbatim} X Text1 [Tab] text2 [Tab] text3 [HRt] X text4 [Tab] text5. [HRt] X\end{verbatim} X\nwln X XA tab-setting within a line holds only for the whole line. It is Xtherefore advisable to place tab-settings at the beginning of or prior to the Xpertinent line.\\ X\\ X\\ X{\bf A few restrictions :}\\ X\\ X\LaTeX\ endows such commands as \verb|\'|, \verb|\`| and \verb|\=| with special Xmeanings within a \verb|tabbing| environment. Outside a \verb|tabbing| Xenvironment, these commands are used for the placement of accents; within Xone, however, they must be replaced by \verb|\a'|, \verb|\a`| and \verb|\a=|, Xrespectively. \hbox{\WPtoLaTeX} does not perform this replacement, so it is Xleft to the user to do it after the conversion.\\ X\\ XWordPerfect 5.0 allows up to 40 tabstops to be set. \LaTeX\ can set at most X14 of them. As a result, if tabs are to be converted properly, the user may Xset no more than 14 tabstops within WordPerfect, either. If more than 14 Xtabs are set, processing by \LaTeX\ will result in a number of error messages, Xand ultimately one or more tabs may be lost.\\ X X\newpage X X\subsection{Indenting} X\label{indent} X XIndenting is used to alter the margins of pieces of text (paragraphs). XPossible conversions with regard to indenting commands are :\\ X XExamples :\\ X\\ X\begin{tabbing} X\verb| [|\arrow\verb|Indent]|$^*$\verb| |\= X \verb|An indented paragraph which [SRt]| \\ X \> \verb|extends over several lines and [SRt]| \\ X \> \verb|is closed with a hard carriage [SRt]| \\ X \> \verb|return. [HRt]| \\ X\end{tabbing} X\begin{tabbing} X\verb| label [|\arrow\verb|Indent]|$^*$\verb| | X \= \verb|We see here the possibility of [SRt]| \\ X \> \verb|placing a `label' in front of [SRt]| \\ X \> \verb|indented text. [HRt]| \\ X\end{tabbing} X\begin{tabbing} X\verb| [|\arrow\verb|Indent]|$^*$\verb| label [| X\arrow\verb|Indent]|$^*$\verb| | X \= \verb|It is also possible to place [SRt]| \\ X \> \verb|an `indented label' in front [SRt]| \\ X \> \verb|of indented text. [HRt]| \\ X\end{tabbing} X X\nwln Xwhere \verb|[|\arrow\verb|Indent]|$^*$ indicates one or more X\verb|[|\arrow\verb|Indent]| commands. \\ X X\vspace{1cm} X X{\bf Remark :}\\ X XWhen using \WPtoLaTeX\ it is {\bf not} possible to convert more than two Xlevels of indented text.\\ X X\newpage X X\subsection{Combinations of tabbing and indenting} X XIn practice it is evident that tabbing and indenting commands are often Xused together. The effect of that within WordPerfect is often identical: Xwords come out on the page where one wishes, on the screen as well Xas on paper (What You See Is What You Get).\\ X\\ XIn \LaTeX, however, the difference between tabs and indents is fundamental. XIt is important that the WordPerfect-user take this into account. Thus only Xthe \verb|[Tab]| command may be used for tabbing and only the X\verb|[|\arrow\verb|Indent]| command for indenting. If both tabbing and Xindenting commands are used within a single line, only the type which is Xencountered first will be converted.\\ X\\ XAn example :\\ X\begin{tabbing} X\verb| [Tab] tom [Tab] dick [|\arrow\verb|Indent] harry [HRt]| \\ X\end{tabbing} X XThe tab command in this line comes before the indenting command. The Xinterpretation by \hbox{\WPtoLaTeX} is then : \\ X\begin{tabbing} X\verb| [Tab] tom [Tab] dick harry [HRt]| \\ X\end{tabbing} X XThe indent-command is eliminated. The line should instead look as follows :\\ X\begin{tabbing} X\verb| [Tab] tom [Tab] dick [Tab] harry [HRt]| \\ X\end{tabbing} X X\newpage X X\subsection{Footnotes} X XWithin a footnote only carriage returns and typefaces (see X\S~\ref{capabilities}) are converted. A footnote number may Xconsist only of numerals.\\ X\\ XFootnotes within lines which contain tab settings will not appear at the bottom Xof the page; \LaTeX, in contrast to WordPerfect, does not process them. This Xis a limitation (read: bug) of \LaTeX.\\ X\\ X X\newpage X X\subsection{Headers and footers} X XWithin a header or footer only typefaces are converted (see X\S~\ref{capabilities}).\\ X\\ XOne can split a header or footer into three pieces : X\begin{itemize} X \item left-aligned X \item centered X \item right-aligned X\end{itemize} X\nwln XThese three parts are separated within WordPerfect by using the centering Xcommand (Shift F6) and the flush-right command (Alt F6).\\ X\\ XThe effect of the WordPerfect commands in the header\\ X X\begin{verbatim} X Left[Centr]Middle[C/U/SR/D][Flush Right]Right X\end{verbatim} X\nwln Xwill, after conversion to \LaTeX\ format, be interpreted as is shown in Xfigure~\ref{fig:header}. Choosing a new setting for the placement Xof header or footer text on only even (or only odd) pages does not affect Xthe alternate pages' previous setting.\\ X X\begin{figure}[hbt] X\centering X\setlength{\unitlength}{3mm} X\begin{picture}(12,16) X \thicklines X \put(0,0){\framebox(12,16)} X \put(1,14){\makebox(10,1)[l]{{\tiny Left}}} X \put(1,14){\makebox(10,1){{\tiny Middle}}} X \put(1,14){\makebox(10,1)[r]{{\tiny Right}}} X \put(1,12){\line(1,0){10}} X \put(1,11){\line(1,0){10}} X \put(1,10){\line(1,0){10}} X \put(1,9){\line(1,0){10}} X \put(1,8){\line(1,0){10}} X \put(1,7){\line(1,0){10}} X \put(1,6){\line(1,0){10}} X \put(1,5){\line(1,0){10}} X \put(1,4){\line(1,0){10}} X \put(1,3){\line(1,0){10}} X \put(1,2){\line(1,0){10}} X\end{picture} X\caption{headers} X\label{fig:header} X\end{figure} X X\newpage X X\subsection{Page number positioning} X XThe WordPerfect document is converted to a single-sided document. This Xmeans that page number positions 4 and 8 are not converted. The page Xnumber positions which \WPtoLaTeX\ will convert are reproduced in Xfigure~\ref{fig:pagnr}.\\ X X\begin{figure}[hbt] X\centering X\setlength{\unitlength}{3mm} X\begin{picture}(12,16) X \thicklines X \put(0,0){\framebox(12,16)} X \put(1,14){\makebox(10,1)[l]{1}} X \put(1,14){\makebox(10,1){2}} X \put(1,14){\makebox(10,1)[r]{3}} X \put(1,1){\makebox(10,1)[l]{5}} X \put(1,1){\makebox(10,1){6}} X \put(1,1){\makebox(10,1)[r]{7}} X\end{picture} X\caption{page number positions} X\label{fig:pagnr} X\end{figure} X X\newpage X X\subsection{WordPerfect default values} X XThe conversion program generates, independently of the WordPerfect settings, Xa \LaTeX\ document with a left margin of 1 inch (2.54cm). This is because X\LaTeX\ enforces left and top margins of at least 1 inch (see Xfigure~\ref{fig:tabs}). \WPtoLaTeX\ therefore assumes that the margins Xin the WordPerfect document are also set to 1 inch and that they do not Xchange.\\ X\\ XTabs are set every inch by default (14 tab stops). A different default Xtab-setting can be placed at the first line. If the standard, one-inch Xdefault settings are not used, however, processing by \LaTeX\ may produce Xerror messages. This has more to do with the manner in which WordPerfect Xpositions tab-stops than it does with \LaTeX (see figure~\ref{fig:tabs}). X\LaTeX\ positions tab stops relative to the left margin, which, as mentioned Xabove, is a minimum of 1 inch wide. In WordPerfect the left margin and the Xtab settings are independent of each other.\\ X X\begin{figure}[hbt] X\centering X\setlength{\unitlength}{1.5mm} X\begin{picture}(60,50) X \thicklines X \put(0,0){\framebox(28,35)} X \put(32,0){\framebox(28,35)} X \thinlines X \put(0,37){\makebox(1,3)[l]{WordPerfect}} X \put(32,37){\makebox(1,3)[l]{\LaTeX}} X \put(36,31){\line(1,0){21}} X \put(36,31){\line(0,-1){28}} X \put(32,31){\vector(1,0){4}} X \put(36,31){\vector(-1,0){4}} X \put(36,31){\vector(0,1){4}} X \put(36,35){\vector(0,-1){4}} X \put(37,31){\makebox(1,4)[l]{{\small 1"}}} X \put(32,28){\makebox(4,2){{\small 1"}}} X \put(36,27){\vector(1,0){3}} X \put(40,27){\makebox(1,1)[tl]{{\scriptsize tab 1}}} X \put(36,25){\vector(1,0){6}} X \put(43,25){\makebox(1,1)[tl]{{\scriptsize tab 2}}} X \put(36,23){\vector(1,0){9}} X \put(46,23){\makebox(1,1)[tl]{{\scriptsize tab 3}}} X \put(4,31){\line(0,-1){28}} X \put(4,31){\line(1,0){21}} X \put(0,27){\vector(1,0){7}} X \put(8,27){\makebox(1,1)[tl]{{\scriptsize tab 1}}} X \put(0,25){\vector(1,0){10}} X \put(11,25){\makebox(1,1)[tl]{{\scriptsize tab 2}}} X \put(0,23){\vector(1,0){13}} X \put(14,23){\makebox(1,1)[tl]{{\scriptsize tab 3}}} X\end{picture} X\caption{tab settings in WordPerfect and \LaTeX} X\label{fig:tabs} X\end{figure} X X\newpage X X\subsection{Spaces} X XBecause WordPerfect works well as tool for the visual design of a document, Xusers often have the tendency to use spaces to produce an acceptable layout. XMultiple spaces within \LaTeX, however, have the same effect as a single Xspace. Therefore, in converting a WordPerfect document, multiple spaces are Xchanged into `hard' \LaTeX-spaces. \\ X XFor example : \\ X X\begin{tabular}{|l|l|} X\hline XWordPerfect & \LaTeX \rule[-.5cm]{0cm}{1.5cm} \\ X\hline X\verb*|word1 word2| & \verb*|word1 ~~~word2|\rule[-.5cm]{0cm}{1.5cm} \\ X\hline X\end{tabular} X\nwln X XWhen these come at the beginning of a line, however, they have no effect. XMoreover, the layout which existed in the WordPerfect environment will seldom Xbe properly achieved in \LaTeX, because of the different typographic rules, Xtypefaces and text-spacing that the latter handles. X X\newpage X X\section{The program} X XThe \WPtoLaTeX\ package contains the following files :\\ X X\begin{itemize} X \item \verb|WP2LATEX.EXE| (the conversion program) X \item \verb|WP2LATEX.PAS| (the original Turbo Pascal 5.0 sources) X \item \verb|WP2LATEX.STY| (style file needed by \LaTeX\ for processing) X \item \verb|WP2LTX.TEX | (this user's guide) X \item \verb|README.BAT | (batch-file with user instructions) X\end{itemize} X\nwln XThe program is invoked with the command :\\ X X\begin{verbatim} X WP2LATEX [WP-filename.WPF] X\end{verbatim} X X\nwln XThe parameter \verb|WP-filename.WPF|\footnote{This may be a WordPefect 5.0 Xdocument with an extension other than \verb|.WPF|} is optional. XThe program starts with an opening screen and asks for the WordPerfect Xfilename. The default filename is printed inside square brackets X\mbox{(\verb|[ ]|)} and is the parameter which was optionally included in Xthe initial invocation of \verb|WP2LATEX|\null. The user can at this point type Xin another WordPerfect filename, or he can hit return to choose the default Xfilename. The program next requests the name of the generated \LaTeX\ Xdocument. The default given within brackets is the name of the XWordPerfect file, with the extension \verb|.TEX|\null. Once again the user Xmay accept this name or enter another\footnote{This may be a file with an Xextension other than \verb|.TEX|}. Once the filenames are given, the Xfollowing error messages may appear : X X\begin{itemize} X \item \Underline{File not found :} The given WordPerfect file does not exist. X \item \Underline{Path not found :} An invalid path was given in the name X of one of the files. X \item \Underline{Not a WordPerfect 5.0 dokument :} The given WordPerfect X file was not created in WordPerfect 5.0 X\end{itemize} X\nwln XThe conversion takes place in two passes. In the first pass the WordPerfect Xinput-file is read in, byte by byte. On the basis of that are created two Xfiles, \verb|WP-filenaam.STR| and \verb|WP_filenaam.TBL|\null. X\verb|WP-filenaam.STR| contains the characters, tab settings and changes of Xtypefaces; \verb|WP-filenaam.TBL| holds information regarding the various X\LaTeX\ environments that must be opened and closed. In the second pass these Xfiles are assimilated into a single \LaTeX\ file. After a successful Xconversion the files \verb|WP-filenaam.STR| and \verb|WP-filenaam.TBL| are Xautomatically deleted.\\ X X\newpage X XInvoking \WPtoLaTeX\ to convert the WordPerfect 5.0 document X\verb|C:\WPTEST\TEST.WP5| will cause the following screen to appear :\\ X X\begin{verbatim} X X Conversionprogram : From Wordperfect 5.0 to LaTeX (WP2LATEX) X X (c) TUE-Eindhoven ---- Made by R.C.Houtepen ---- Date : 24 Jan 1990 X X XWordPerfect-filename [ ] : c:\wptest\test.wp5 XLaTeX-filename [c:\wptest\test.TEX] : X XConverting ... X XFirst strike : XConverting-percentage : 100% X XSecond strike : XConverting-percentage : 100% X XConversion completed. X X\end{verbatim} X XThe first line of the generated \LaTeX\ file, in the case of the file X\verb|C:\WPTEST\TEST.TEX|, will look as follows : \\ X X\begin{verbatim} X \documentstyle[11pt,wp2latex]{report} X\end{verbatim} X\nwln X XWhen calling \LaTeX\ to typeset the converted document, the style file X\verb|WP2LATEX.STY| should be in the current directory or in the style-file Xdirectory (e.g., \verb|\PCTEX\TEXINPUT|). XThis style file defines a number of macros and environments which are Xregularly used in the generated \LaTeX\ files. Examples include the command X\verb|\nwln| and the \verb|indenting| environment. \verb|\nwln| generates a Xhard carriage return after the end of a \LaTeX-environment. The X\verb|indenting| environment is used in the conversion of WordPerfect's X\verb|[|\arrow\verb|Indent]| command (see \S~\ref{indent}). \\ X X\newpage X X\section{Conclusion} X XThe 100\%-correct conversion of a WordPerfect-document is not guaranteed. XError messages can always appear during processing by \LaTeX. Some Xadjustments to the generated \LaTeX\ file will in many cases be necessary.\\ X\\ XThe following were given the highest priority : X\begin{itemize} X \item preventing the loss of text X \item avoiding program crashes X\end{itemize} X\nwln X XBecause the sources are included (Turbo Pascal 5.0 format) it should not be Xtoo difficult modifying the program to convert Wordperfect 5.1 documents, Xprovided the WordPerfect file formats are known. \\ XThe file formats we used for our program, we found in the WordPerfect X5.0 Developer's Toolkit. Most likely such a toolkit is available for version X5.1 of Wordperfect. \\ X XIf you have remarks or comments regarding the program, you can send them Xto : \\ X X\vspace{2cm} X X\begin{minipage}[t]{6cm} XR.C. Houtepen \\ XBrusselstraat 150 \\ X4826 NK Breda \\ XThe Netherlands \\ XTel: 076-714777 X\end{minipage} X\hfill or \hfill X\begin{minipage}[t]{6cm} X\raggedleft XR.L.M. Helwig \\ XEindhoven University of Technology \\ XP.O. BOX 513\\ X5600 MB Eindhoven\\ XThe Netherlands \\ XTel: 040 - 472724\\ X\nwln Xuucp : rcronh@urc.tue.nl\\ Xbitnet : rcronh@heitue5 X\end{minipage} X X\newpage X\nwln X\begin{center} X(This page is intentionally left blank for notes.) X\end{center} X\nwln X\end{document} SHAR_EOF if test 17878 -ne "`wc -c < 'wp2latex.tex'`" then echo shar: "error transmitting 'wp2latex.tex'" '(should have been 17878 characters)' fi fi exit 0 # End of shell archive -- Glenn Geers | "So when it's over, we're back to people. Department of Theoretical Physics | Just to prove that human touch can have The University of Sydney | no equal." Sydney NSW 2006 Australia | - Basia Trzetrzelewska, 'Prime Time TV'