Saturday, February 26, 2011

latex warning output

To make latex print an warning at output one can use:
  • \@latex@warning{My message}prints "file.tex:10: My message on input line 10"
  • \@latex@warning@no@line{My message}prints "file.tex:0: My message"

One can define a \todo command to get warnings about uncompleted sections. The following todo command will print a
TODO...
in the PDF and the warning message passed as a parameter \todo{Finish Thanks section!}

Code for pasting in LaTeX package(.sty file)

\makeatletter
\newcommand{\todo}[1][]{\@latex@warning{TODO #1}\fbox{TODO\dots}}
\makeatother

Friday, February 25, 2011

bugfix> remove unwanted spaces in tokenizer package

As notice here \GetTokens inserts unwanted spaces. The bugfix is to use the following code instead of just "\usepackage[trim]{tokenizer}":
\usepackage[trim]{tokenizer}  
 
\def\SH@GetTokens#1,#2\@empty{%
    \def\SH@token{#1}%
    \ifx\SH@trimtokens\SH@true% strip spaces if requested
        \TrimSpaces\SH@token%
    \fi%
    \SH@DefineCommand{\SH@FirstArgName}{\SH@token}%
    \SH@DefineCommand{\SH@SecondArgName}{#2}%
    }
\def\SH@CheckTokenSep#1,#2\@empty{%
    \def\SH@CTSArgTwo{#2}%
    \ifx\SH@CTSArgTwo\@empty%
        \edef\SH@TokenValid{\SH@false}%
    \else%
        \edef\SH@TokenValid{\SH@true}%
    \fi%
    }

I will report this bugfix to the developer Sascha Herpers

Thursday, February 10, 2011

get rid of latex badboxes on framed figures

If you include in a LaTeX document a graphics file with a frame
\fbox{\includegraphics[width=\textwidth]{file.png}}
you will get a badbox warning. The solution is to substract twice the size of the frame:
\fbox{\includegraphics[width=\textwidth-\fboxrule-\fboxrule]{file.png}}
For multicolumn:
\fbox{\includegraphics[width=\columnwidth-\fboxrule-\fboxrule]{file.png}}