[Tex/LaTex] How to create twoside book with oneside margin

double-sidedmarginparmarginstufte

I want to make a twoside book with oneside margin such:

odd pages:
enter image description here

even pages:
enter image description here

full header, with margin figure(or table):
enter image description here

I used tufte-book class, but cannot set margins as i need. It's margins is in odd pages on the right and in even pages, on the left side of papers. I want the margins stay oneside(left or right) of papers, in both odd and even pages.

Best Answer

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 \marginpars 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

enter image description here

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:

example output with sidenotes

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.