nota al margen siempre en el lado derecho de la página

nota al margen siempre en el lado derecho de la página

Mi clase de documento es book, por lo que tengo lados pares e impares. Me gusta que el número de ecuación siempre esté alineado en el lado derecho, independientemente de la página (par/impar). Empecé a usar notas al margen. Quería hacer lo mismo, que las notas siempre estén al lado derecho de la página? ¿Cómo puedo hacer eso?

Respuesta1

Aquí hay una posible solución parcheando (con la ayuda del etoolboxpaquete) el comando del kernel LaTeX \@addmarginpar:

\documentclass[twoside]{book}
\usepackage[centering,marginparwidth=2.5cm]{geometry}
\usepackage{etoolbox}
\usepackage{lipsum}

\makeatletter
\patchcmd{\@addmarginpar}{\ifodd\c@page}{\ifodd\c@page\@tempcnta\m@ne}{}{}
\makeatother
\reversemarginpar

\begin{document}

\chapter{Test Chapter One}
\section{Test Section}
\lipsum[2]\marginpar{test marginnote one}
\lipsum[2-4]\marginpar{test marginnote two}
\lipsum[2-4]\marginpar{test marginnote three}
\lipsum[4-5]]\marginpar{test marginnote three}
\lipsum[6]

\end{document}

ingrese la descripción de la imagen aquí

Con este diseño para notas al margen, conviene activar la centeringopción del geometrypaquete; Es posible que sean necesarios más ajustes para que las notas al margen de las páginas pares se puedan mostrar correctamente en un documento impreso.

El código anterior proporciona una solución para el \marginparcomando estándar de LaTeX; Si se utiliza \marginnote(del paquete) en lugar de para producir las notas al margen, entonces será necesario redefinir la macro interna:marginnote\marginpar\@mn@@@marginnote

\documentclass[twoside]{book}
\usepackage[centering,marginparwidth=2.5cm]{geometry}
\usepackage{marginnote}
\usepackage{lipsum}

\makeatletter
\long\def\@mn@@@marginnote[#1]#2[#3]{%
  \begingroup
    \ifmmode\mn@strut\let\@tempa\mn@vadjust\else
      \if@inlabel\leavevmode\fi
      \ifhmode\mn@strut\let\@tempa\mn@vadjust\else\let\@tempa\mn@vlap\fi
    \fi
    \@tempa{%
      \vbox to\z@{%
        \vss
        \@mn@margintest
        \if@reversemargin\if@tempswa
            \@tempswafalse
          \else
            \@tempswatrue
        \fi\fi
          \rlap{%
            \ifx\@mn@currxpos\relax
              \kern\marginnoterightadjust
              \if@mn@verbose
                \PackageInfo{marginnote}{%
                  xpos not known,\MessageBreak
                  using \string\marginnoterightadjust}%
              \fi
            \else\ifx\@mn@currxpos\@empty
                \kern\marginnoterightadjust
                \if@mn@verbose
                  \PackageInfo{marginnote}{%
                    xpos not known,\MessageBreak
                    using \string\marginnoterightadjust}%
                \fi
              \else
                \if@mn@verbose
                  \PackageInfo{marginnote}{%
                    xpos seems to be \@mn@currxpos,\MessageBreak
                    \string\marginnoterightadjust
                    \space ignored}%
                \fi
                \begingroup
                  \setlength{\@tempdima}{\@mn@currxpos}%
                  \kern-\@tempdima
                  \if@twoside\ifodd\@mn@currpage\relax
                      \kern\oddsidemargin
                    \else
                      \kern\evensidemargin
                    \fi
                  \else
                    \kern\oddsidemargin
                  \fi
                  \kern 1in
                \endgroup
              \fi
            \fi
            \kern\marginnotetextwidth\kern\marginparsep
            \vbox to\z@{\kern\marginnotevadjust\kern #3
              \vbox to\z@{%
                \hsize\marginparwidth
                \linewidth\hsize
                \kern-\parskip
                \marginfont\raggedrightmarginnote\strut\hspace{\z@}%
                \ignorespaces#2\endgraf
                \vss}%
              \vss}%
          }%
      }%
    }%
  \endgroup
}
\makeatother

\begin{document}

\chapter{Test Chapter One}
\section{Test Section}
\lipsum[2]\marginnote{test marginnote one}
\lipsum[2-4]\marginnote{test marginnote two}
\lipsum[2-4]\marginnote{test marginnote three}
\lipsum[4-5]\marginnote{test marginnote three}
\lipsum[6]

\end{document}

ingrese la descripción de la imagen aquí

Respuesta2

Además de mi comentario de hace unos días, si está utilizando la versión del marginnotepaquete con fecha del 13/04/2018 (o más reciente, en el momento de escribir este artículo), entonces debe redefinir \@mn@@@marginnotede una manera diferente pero completamente análoga.

Para aquellos que quieran entender lo que está pasando, el código a continuación (y en la respuesta anterior) es la mitad de la definición marginnoteque maneja las notas al margen en el margen derecho (tenga en cuenta que la línea comentada \if@tempswaa continuación es lo que se usa para encontrar si Estás usando una página par o impar: dejé esta línea para ayudar a cualquiera que tenga curiosidad).

Entonces, el código a continuación, insertado en su preámbulo, debería ser compatible con marginnotelas versiones desde abril de 2018.

\makeatletter
\long\def\@mn@@@marginnote[#1]#2[#3]{%
  \begingroup
    \ifmmode\mn@strut\let\@tempa\mn@vadjust\else
      \if@inlabel\leavevmode\fi
      \ifhmode\mn@strut\let\@tempa\mn@vadjust\else\let\@tempa\mn@vlap\fi
    \fi
    \@tempa{%
      \vbox to\z@{%
        \vss
        \@mn@margintest
        \if@reversemargin\if@tempswa
            \@tempswafalse
          \else
            \@tempswatrue
        \fi\fi
        %\if@tempswa
          \rlap{%
            \if@mn@verbose
              \PackageInfo{marginnote}{xpos seems to be \@mn@currxpos}%
            \fi
            \begingroup
              \ifx\@mn@currxpos\relax\else\ifx\@mn@currxpos\@empty\else
                  \kern-\dimexpr\@mn@currxpos\relax
              \fi\fi
              \ifx\@mn@currpage\relax
                \let\@mn@currpage\@ne
              \fi
              \if@twoside\ifodd\@mn@currpage\relax
                  \kern\oddsidemargin
                \else
                  \kern\evensidemargin
                \fi
              \else
                \kern\oddsidemargin
              \fi
              \kern 1in
            \endgroup
            \kern\marginnotetextwidth\kern\marginparsep
            \vbox to\z@{\kern\marginnotevadjust\kern #3
              \vbox to\z@{%
                \hsize\marginparwidth
                \linewidth\hsize
                \kern-\parskip
                \marginfont\raggedrightmarginnote\strut\hspace{\z@}%
                \ignorespaces#2\endgraf
                \vss}%
              \vss}%
          }%
      }%
    }%
  \endgroup
}
\makeatother

Respuesta3

Me encontré con la misma pregunta recientemente y encontré una solución simple en geometryel manual. Todo lo que necesito es agregar la opción asymmetric.

\documentclass[12pt]{book}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usepackage{geometry}
\geometry{verbose, a4paper, twoside, showframe, asymmetric}

\renewcommand{\familydefault}{\sfdefault}

\begin{document}

\chapter{}

Hello, \LaTeX.
\marginpar{Hello, \TeX.}

\newpage

Hello, \LaTeX.
\marginpar{Hello, \TeX.}
\end{document}

información relacionada