[Tex-nl] automatisatie links-rechts plaatsen van een afbeelding in een book-documentclass

Koen Wybo koen.wybo at gmail.com
Sat Jun 23 21:09:15 CEST 2012


Het is geruime tijd geleden dat deze vraag beantwoord werd. De laatste 
tijd krijg ik echter iedere keer foutmeldingen:

! Missing number, treated as zero.
<to be read again>
                    e
l.19 \newcount\@evenodd\@e
                           venodd=0
?
! Too many }'s.
l.28 }
        {\egroup}
?
! Too many }'s.
l.28 } {\egroup}


En op de eerste pagina staat de code : evenoddevenodd=0

Het bizarre is dat ik bij sommige documenten waar het is geïntegreerd 
geen enkele foutmelding krijg, bij andere documenten met dezelfde 
preambule wel. Bij nieuwe documenten zijn de foutmeldingen er ook.
Ik heb het afgebroken tot een minimaal voorbeelddocument. Om te testen 
maak je een bijkomende map beelden aan met daarin een afbeelding genaamd 
test.


Koen Wybo




\documentclass[]{book}
\usepackage{wrapfig}
\usepackage{lipsum}
\usepackage{everypage,graphicx}
\usepackage{calc}
\usepackage{ifthen}

\begin{document}

% afbeelding
% 1 lijnen om extra witruimte te geven
% 2 grootte van de afbeelding in mm
% 3 afbeelding naam in map beelden/

\newcount\@evenodd\@evenodd=0
\newcommand \afbeelding [3] {
  \global\advance\@evenodd1
\ifthenelse{\isodd{\pageref{@eo\the\@evenodd}}}%
{\begin{wrapfigure}[#1]{r}[105pt]{#2mm} 
\includegraphics[width=#2mm]{beelden/#3} \end{wrapfigure}}
{\begin{wrapfigure}[#1]{l}[105pt]{#2mm} 
\includegraphics[width=#2mm]{beelden/#3} \end{wrapfigure}}
\label{@eo\the\@evenodd}
}
{\egroup}




\chapter{hoofdstuk 1}
\section{twee}
\lipsum

\afbeelding{12}{60}{test}

\lipsum

\end{document}















Op 02-04-12 10:11, Koen Wybo schreef:
>
> Een tijdje geleden dat deze topic aan bod kwam. Dus tijd om te melden 
> wat het uiteindelijk geworden is. De code van Siep werkt perfect.
>
>> Een mogelijk probleem hiermee is dat wanneer TeX bezig is met deze
>> code er nog een gerede kans is dat de alinea en de figuur naar een
>> nieuwe pagina worden opgeschoven. Voor de zekerheid kun je dus een
>> label bij elke figuur genereren en het pagina-nummer van de\pageref
>> testen. Een fragment uit een oude maps.cls:
>>
>>     % Simply testing on c at page unsafe because
>>     % final pagebreaking not yet known
>>     \newcount\@evenodd\@evenodd=0
>>     \newenvironment{fullwidth}{%
>>       \global\advance\@evenodd1
>>       \par
>>       \bgroup
>>       \vspace{6pt}
>>       \ifthenelse{\isodd{\pageref{@eo\the\@evenodd}}}%
>>         {code for odd pages}%
>>         {code for even pages}%
>>         ...
>>         \label{@eo\the\@evenodd}}%
>>       {...\egroup}
>>
>> \newcount\@evenodd\@evenodd=0
>> ...
>>
>>
> En dit is het resultaat :
>
> \newcount\@evenodd\@evenodd=0
> \newcommand \afbeelding [3] {
>  \global\advance\@evenodd1
> \ifthenelse{\isodd{\pageref{@eo\the\@evenodd}}}%
> {\begin{wrapfigure}[#1]{r}[105pt]{#2mm} 
> \includegraphics[width=#2mm]{beelden/#3} \end{wrapfigure}}
> {\begin{wrapfigure}[#1]{l}[105pt]{#2mm} 
> \includegraphics[width=#2mm]{beelden/#3} \end{wrapfigure}}
> \label{@eo\the\@evenodd}}
> } {...\egroup}
>
>
>
> Koen Wybo
>




More information about the TeX-NL mailing list