Looks to me like a bug in the code. The package switches to twoside within the calculations for the layout=a5paper
but neglects to move the whole area within the paper area as well (which it should in that case, I would say).
So I guess the answer is to do this manually:
\makeatletter
\newlength\hcorr
\setlength\hcorr{\paperwidth}
\addtolength\hcorr{-\Gm@layoutwidth}
\makeatother
\geometry{layouthoffset=.5\hcorr,
layoutvoffset=1in}
The value of \Gm@layoutwidth
is simply the internal width calculated by the layout=
key or specified by layoutwidth=
. The assumption is that \paperwidth
minus that length divided by 2 puts our page smack in the middle horizonatally. And the layoutvhoffset=1in
is just there to move the top cropmark onto the paper, you may not want that.
First you have to define a layout with enough margin space.
paperwidth=170mm, paperheight=240mm, left=142pt, top=40pt, textwidth=280pt, marginparsep=20pt, marginparwidth=100pt, textheight=560pt, footskip=40pt
The asymmetric layout is a little bit tricky. If I understand correctly, you want the margin and text width to be the same, but the page is shifted towards the outer edge. This can be achieved with a binding offset.
bindingoffset=30pt,asymmetric
the latter option makes the margin always appear on the same side. Now, you have to switch the \marginpar
s to appear at the inner side, this is done with the
reversemarginpar
option. I also used showframe
to make everything more obvious. In total:
\documentclass{book}
\usepackage[paperwidth=170mm, paperheight=240mm, left=142pt, top=40pt, textwidth=280pt, marginparsep=20pt, marginparwidth=100pt, textheight=560pt, footskip=40pt,bindingoffset=30pt,showframe,asymmetric,reversemarginpar]{geometry}
\usepackage{lipsum}
\begin{document}
~\newpage
\marginpar{\lipsum[3]}\lipsum[2]
\clearpage
\marginpar{\lipsum[3]}\lipsum[4]
\end{document}
which gives you

It is not clear, whether you want tufte-latex
or not. Please provide an MWE and I will try to edit the answer.
EDIT:
If you are willing to try something new, you might like sidenotes
. It is a package I made to add the T-L functionality to normal LaTeX classes. You can get the newest version on github. So in principle, a question such as 'How to do that in T-L' becomes 'How to do that in LaTeX'. This should give you a lot of options. In your particular case:
\documentclass{book}
\usepackage{sidenotes}
\usepackage{graphicx}
\usepackage[paperwidth=170mm, paperheight=240mm, left=142pt, top=40pt, textwidth=280pt, marginparsep=20pt, marginparwidth=100pt, textheight=560pt, footskip=40pt,bindingoffset=30pt,asymmetric,reversemarginpar]{geometry}
\usepackage{lipsum}
\begin{document}
~\newpage
\lipsum[1]
\begin{marginfigure}
\includegraphics[width=100pt]{rectangle}
\caption{I am a figure}
\end{marginfigure}
\lipsum[2]
\clearpage
\begin{margintable}%
\small
\begin{tabular}{lll}
Hg&Sn&Pb \\
0.50&0.47&0.48\\
\end{tabular}
\caption{I am a table.}%
\end{margintable}%
\lipsum[4]
\end{document}
which gives you:

I do not know the answer to your second question off-hand, but \begin{adjustwidth}
should be a good starting point. With the sidenotes
package you might be able to look for a generic LaTeX answer and use that.
Best Answer
I'm not sure why you want to switch from
oneside
totwoside
mid-document, and a textblock of 16 cm width and 24 cm height won't look pretty. That said, it is possible to change mostgeometry
settings mid-document since version 5.