我使用一个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=inner
和right=outer
。当前版本中memoir
设置left=right
和inner=outer
。
下一版本中将会修复此问题。