Bas Dekker (TeXniek) schreef:
Beste allemaal,
Wel, bedankt allemaal voor jullie reacties. Ik heb mij vermaakt.
Aangaande de inhoud van het boek: ik vind het zelf ook enorme bullshit, maar, om met de PTT te spreken: "ik heb geen boodschap aan de boodschap". Ik ben een vriendin aan het helpen die een kleine uitgeverij heeft en probeert de kosten te drukken, onder andere door Amazon Print-on-Demand in te zetten. Ik heb een LaTeX class "geschreven", om direct van source een geschikte PDF te produceren. De bedoeling is om het later in Overleaf te zetten om een tool te hebben waar tijd en geld mee verdiend kan worden. Zo wordt het gekloot met Word en InDesign vermeden.
Ik predik dus het TeX-evangelie, maar ik ben geen hogepriester. Ik gebruik TeX al 25 jaar, maar ik ben nog lang niet op jullie niveau, noch ben ik een specialist. Maar ik doe mijn best.
Welnu, over het probleem zelf: ik probeer het met "\makebox". Hier is mijn code:
\setlength\shiftintroquotewidth{\textwidth} \addtolength\shiftintroquotewidth\marginparwidth
\newcommand{\uhnshiftintroquote}[1]{% \checkoddpage \ifoddpage \noindent\makebox[\shiftintroquotewidth][r]{#1} \else \hspace*{-\marginparwidth}\makebox[\shiftintroquotewidth][l]{#1} \fi }
Op de linkerpagina gaat het goed, maar rechts krijg ik nog steeds een overfull hbox.
Enig idee hoe dat zou kunnen?
Omdat je \makebox een lengte heeft die groter is dan \textwidth. Zoals ik al in een eerder bericht geantwoord heb: zet het in een \makebox[\textwidth] en dan kun je daar best weer een bredere box in zetten zonder dat je meldingen krijgt.
En om je \shiftintroquotewidth echt mooi te krijgen zou je er nog \marginparsep bij kunnen optellen. En bij die \hspace natuurlijk ook. Maar dat stond ook al in mijn bericht.
En als je het op mijn manier doet hoef je niet eens een \hspace te geven.
\usepackage{calc}
\newlength\shiftintroquotewidth
\setlength\shiftintroquotewidth{\textwidth+\marginparsep+\marginparwidth}
\newcommand{\uhnshiftintroquote}[1]{%
\par \noindent\checkoddpage
\ifoddpage
\makebox[\textwidth][l]{\framebox[\shiftintroquotewidth][r]{#1}}%
\else
\makebox[\textwidth][r]{\framebox[\shiftintroquotewidth][l]{#1}}%
\fi
}
Ik heb er even \framebox'en in gezet zodat je mooi kan zien hoe de box uitkomt.
--
Piet van Oostrum