7

I am working on a book right now and the margin notes are not appearing on the left-side pages. I tried using mparhack but it made no difference. Is my geometry, fancy style or another package messing up the normal layout? I am using pdflatex to render. Here is a minimal test case:

\documentclass[twoside,10pt]{book}
\usepackage[margin=9mm,paperwidth=107.95mm,paperheight=174.63mm,bottom=18mm]{geometry}
%\usepackage[cam,a4,center,pdftex]{crop}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage{fancyhdr}
\usepackage{lipsum}
\pagestyle{fancy}
\fancyhead{}
\fancyfoot[C]{\thepage}
\renewcommand{\headrulewidth}{0pt}
\fontsize{10.5}{13}\selectfont
\usepackage[sc,medium]{titlesec}
\usepackage{tocloft}
\addtocontents{toc}{%
            \protect\renewcommand{\protect\cftchapleader}{%-- switch it on here
                    \protect\cftdotfill{\protect\cftdotsep}}}
\addtocontents{toc}{\protect\thispagestyle{empty}}
\renewcommand{\cfttoctitlefont}{\hfill\scshape}
\renewcommand\cftaftertoctitle{\hfill\null\\\null\hfill\scshape{Page}}
\renewcommand{\cftchapfont}{\normalsize\scshape}
\renewcommand{\cftchappagefont}{\normalsize\scshape}
\setlength{\emergencystretch}{3em}
\title{Heroic Real Estate Otter of the 21st Century}
\date{}
\begin{document}
\frenchspacing
\chapter*{Thread 0}
\addcontentsline{toc}{chapter}{Thread 0}
\pagestyle{fancy}
\hspace{0pt}\marginpar[$\omega$]{$\omega$}\lipsum[4-6]

NEXT\hspace{0pt}\marginpar[$\psi$]{$\psi$}\lipsum[10]

\end{document}
2
  • The marginpar is outside the page. Try adding \hfill in front of $\psi$ and you'll see it.
    – egreg
    Feb 8, 2013 at 17:07
  • nice! So is that the proper work-around or is there a better way to set left-side marginpars to flush right? Feb 8, 2013 at 17:23

3 Answers 3

9

You have adjusted your page margins, but haven't adjusted the marginpar dimensions to match. I suggest adding parameters to your call of the geometry package:

\usepackage[
  margin=9mm,
  marginparwidth=7mm,     % + <- Width of your marginpar
  marginparsep=1mm,       % + <- Gap between text block and marginpar
  paperwidth=107.95mm,
  paperheight=174.63mm,
  bottom=18mm,
  ]{geometry}

This will also allow you, if you need, to see the content without re-specifying alignments.

7

Use this:

\DeclareRobustCommand{\mymarginpar}[1]{%
 \marginpar[\raggedleft#1]{\raggedright#1}}

and use \mymarginpar{$\psi$}

The problem is that the psi is off the page in your case.

5
  • I had to use this answer as well to get it to align the way I wanted. Feb 10, 2013 at 19:33
  • This duplicates the text of the marginpar. Is there a way to do it without duplicating the text? In other words: How do I completely change what command is run based upon whether I'm on a left- or right-hand page?
    – Geremia
    Apr 15, 2014 at 16:52
  • This worked better in my case: \newcommand{\mymarginpar}[1]{\ifodd\thepage\marginpar{#1}\else\marginpar{\hfill #1}\fi}
    – Geremia
    Apr 15, 2014 at 17:09
  • Actually, this is even better because it detects the odd/even page number correctly: \newcommand{\mymarginpar}[1]{\label{marginpar:#1}\ifodd\getpagerefnumber{marginpar:#1}\marginpar{#1}\else\marginpar{\hfill #1}\fi}
    – Geremia
    Apr 15, 2014 at 18:35
  • @Geremia \marginpar[<text left>]{<text right>} does not duplicate the text. It already decides depending on odd or even page to show <text left> or <text right>. Thus, no manual case differentiation is necessary.
    – dexteritas
    Aug 26, 2022 at 9:56
0

I had the same problem. In my case, I think that the origin of the problem is that I modified manually the size of the layout of the page in order to have a wide space (4 cm) for my marginars:

\voffset = -1cm
\textheight = 24.5cm
\footskip = 0.8cm
\marginparwidth = 4cm   
\textwidth = 16cm
\oddsidemargin = -1.5cm
\evensidemargin = -1.5cm

Curiously, by using these settins I got no problem with one document, but experienced the problem with another one.

A workaround which worked for me is to explicitely declare the document with the option oneside, for instance:

\documentclass[12pt, oneside, a4paper, final]{book}

However, I think the best solution is definitely to set the layout of the page by using the geometry package.

1
  • Well, while this might be a solution I don't recommend changing the layout parameters directly. Use the geometry package instead
    – user31729
    Jun 24, 2016 at 16:21

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .