更改回忆录侧标题边距,以正确显示一侧

更改回忆录侧标题边距,以正确显示一侧

我使用一个memoir课程来撰写我的论文,但我不知道为什么我使用该twoside选项来撰写所有文本。

现在我需要oneside打印选项 - 是的,这是一个愚蠢的情况:( - 为了印象,并且我的所有边距设置都被破坏了。

我也想要不对称页面所有页面均正面打印,每页右侧均有侧标题。

在此处输入图片描述

关于\sidecapmargin回忆录课程说:

\sidecapmargin 命令控制侧标题的边距。可能的值为利润是以下之一: left 、 right 、 inner 或 outer 。如果指定了 left 或 right ,则标题将进入左侧或右侧边距。如果指定了 inner 或 outer ,则在双面文档中,标题将根据是正面页还是反面页位于字块的不同侧面;在单面文档中,标题边距是固定的。左边距是默认值。

使用带有的类文档oneside,我希望它sidecaption转到右边(默认是左边,如回忆录手册所说)。

工作\overridescapmargin{ right }每次只能显示一个字幕。我怎样才能将其自动化到所有侧标题,因为选项\sidecapmargin{}中的命令已被停用oneside

% !TEX encoding =  UTF-8 Unicode
% -*- program: xelatex -*-
\documentclass[a4paper, 11pt,oneside, openright]{memoir}
\usepackage{polyglossia}
\setdefaultlanguage{french}
\usepackage{graphicx}
\usepackage[protrusion=true,final]{microtype}
%\usepackage[hang]{footmisc}
\usepackage{mwe} % just for dummy images
\usepackage{lipsum}

\checkandfixthelayout %or perhaps \checkandfixthelayout[lines]
\setlength{\evensidemargin}{\oddsidemargin}% after \checkandfix......

\raggedbottom
\enlargethispage{\baselineskip}


% SIDE CAPTION 
\newsubfloat{figure}{}
\newsubfloat{table}{}

\loosesubcaptions

\setsidecappos{t}

\strictpagecheck

\setsecnumdepth{paragraph}

\pagestyle{ruled}

\begin{document}

\frontmatter

\cleardoublepage

\chapterstyle{bringhurst}

\tableofcontents

\mainmatter
\chapter{my first chapter}

\lipsum

\begin{figure}[htbp]
  \overridescapmargin{right}
  \begin{sidecaption}[fortoc]{this is a very long comment on the margin this is a very long comment on the margin this is a very long comment on the margin
  this is a very long comment on the margin this is a very long comment on the margin this is a very long comment on the margin}[fig:S_VV1]
    \centering
   \includegraphics[]{example-image-c}
    \end{sidecaption}
\end{figure}

\lipsum  

\begin{figure}[htbp]
  \overridescapmargin{right}
  \begin{sidecaption}[fortoc]{this is a very long comment on the margin this is a very long comment on the margin this is a very long comment on the margin this is a very long comment on the margin this is a very long comment on the margin  this is a very long comment on the margin}[fig:S_VV2]
    \centering
   \includegraphics[width=.9\linewidth]{example-image-b}
    \end{sidecaption}
\end{figure}

\lipsum

\begin{figure}[htbp]
  \overridescapmargin{right}
  \begin{sidecaption}[fortoc]{this is a very long comment on the margin this is a very long comment on the margin this is a very long comment on the margin
  this is a very long comment on the margin  this is a very long comment on the margin  this is a very long comment on the margin}[fig:S_VV3]
    \centering
   \includegraphics[]{example-image-b}
    \end{sidecaption}
\end{figure}


\chapter{my second chapter}
\lipsum    

\begin{figure}[htbp]
  \begin{sidecaption}[fortoc]{this is a very long comment on the margin this is a very long comment on the margin  this is a very long comment on the margin this is a very long comment on the margin this is a very long comment on the margin}[fig:S_VV4]
    \centering
   \includegraphics[]{example-image-a}
    \end{sidecaption}
\end{figure}

\lipsum    

\listoftables

\listoffigures

\appendix
\appendixpage

\chapter{my first appendix}
\lipsum    

\chapter{my second appendix}
\lipsum    

\end{document}

我想要的 MWE 是:

在此处输入图片描述

答案1

放置部分存在逻辑错误oneside

效果更好

\makeatletter
\renewcommand*{\m@mscapcheckregside}{%
    \if@twoside
      \checkoddpage
      \ifnum\m@mscapmarg<\@ne%      % left
        \scapmarglefttrue
      \else
        \ifnum\m@mscapmarg=\@ne%    % right
          \scapmargleftfalse
        \else
          \ifnum\m@mscapmarg=\tw@%  % outer
            \scapmarglefttrue
            \ifoddpage
              \scapmargleftfalse
            \fi
          \else%                  % inner
            \scapmargleftfalse
            \ifoddpage
              \scapmarglefttrue
            \fi
          \fi
        \fi
      \fi
    \else%     oneside
    % left and inner should be the same
    % right and outer should be the same
    \ifcase\m@mscapmarg\relax% 0
      \scapmarglefttrue
    \or% 1
      \scapmargleftfalse
    \or% 2
      \scapmargleftfalse
    \or% 3
      \scapmarglefttrue
    \fi
\fi}

\makeatother

oneside我们设置left=innerright=outer。当前版本中memoir设置left=rightinner=outer

下一版本中将会修复此问题。

相关内容