--- loncom/html/adm/help/tex/Print_Tricks.tex 2005/09/07 10:43:33 1.1 +++ loncom/html/adm/help/tex/Print_Tricks.tex 2005/09/29 21:13:07 1.6 @@ -1,6 +1,6 @@ \label{Print_Tricks} -When you print a LonCAPA resource, the XML of your resource is translated into +When you print a LON-CAPA resource, the XML of your resource is translated into LaTeX. The LaTeX is then processed and turned into a PDF document which can be displayed with your browser's Acrobat plugin and subsequently printed. @@ -14,35 +14,80 @@ it, please go to http://bugs.lon-capa.o General information about printing within LonCAPA is also available: \ref{Print_Resource} -\section{\&prettyprint and \&dollarformat look ugly} +\emph{The print rendition of some Perl functions looks ugly } + +In particular these functions are: +\begin{itemize} + \item \&prettyprint + \item \&dollarformat + \item \&xmlparse + \item \&chemparse +\end{itemize} + + To make these two functions work correctly within the print translator, it is -necessary to wrap them within a tag. For example: +necessary to wrap them within a tag. For example: \begin{verbatim}

-If I had &dollarformat(100) +If I had &prettyprint(100,'$2f')

\end{verbatim} -Note that the tags must be tightly wrapped around the function call or -you will get a syntax error in web presentation mode. +Note that the \texttt{} tags must be tightly wrapped around the function call or +you will get a syntax error in web presentation mode. For additional information +about cases where you must use \texttt{}, see ``Variables with tags don't print +correctly'' below. + +\emph{Image placement and alignment and text wrapping is wrong} -\section{Image placement and alignment is wrong} Unfortunately this is due to a large difference between the LaTeX and HTML page layout model. In HTML images are placed exactly where you ask them to be placed. -In LaTeX, images are considered {\em floats}, which LaTeX will place for you. -There are a few print options you can try to place images approximately where you -want them relative to sorrounding text \ref{Print_Options}. +In LaTeX, images are considered {\em floats}, which LaTeX will place for you. +Some of the common html tricks, using tables e.g. to control text wrapping around +figures, will not always work in print mode; especially if the text is to the +right side of the figure in the table. + +The alignment choice +affects whether or not the print rendering engine attempts to get text to wrap around the +image. With \texttt{align=``right''} or \texttt{align=``left''}, the print rendering engine +attempts to use the {\em wrapfigure} +environment to place text around the figure at the +appropriate side. If a figure is in a table, then the print engine, by default, +the print engine will use wrapfigure, set the alignment to ``right'' +unless you override it. Otherwise, the default alignment is ``bottom'' as it +is for html, and no wrapping will occur. + +\verb+\parpic+ style wrapping is also available by specifying \texttt{TeXwrap=``parpic''} + in the tag. In some limited casese this gives a better result. + + +Other print specific tag attributes are available. \ref{Print_Options}. + + + +\emph{Variables with tags don't print correctly} -\section{Variables with tags don't print correctly} If a variable contains XML, in general it is necessary to force the XML parser to make a pass over the contents of the contents of the variable prior to rendering -the section of the resource that contains that substitution. For example: +the section of the resource that contains that substitution. When output, +those variables must be bracketed inside of \texttt{ } tags. + For example: \begin{verbatim} - + + + +

This is a break $a and then some more text

+ +
\end{verbatim} +Without the xmlparse call and the display tag bracketing the variable, this +problem will display on the web just fine, but print incorrectly. +