Я могу сделать свою \captionof
s синей.
Я могу сделать свою \makenote
s синей.
Но, похоже, что как бы я ни старался, я никогда не смогу сделать \captionof
s внутри \makenote
s синей.
Пример
\documentclass[]{scrbook}
\usepackage{graphicx}
\usepackage{xcolor}
\usepackage{caption}%
\captionsetup{compatibility=false}%
\usepackage{scrlayer-scrpage}
\usepackage{scrlayer-notecolumn} %must be loaded ``Lastest''
\RedeclareNoteColumn[font = \color{blue}]{marginpar} %default
\DeclareCaptionFont{bluecaptionfont}{\color{blue}}
\captionsetup{font={bluecaptionfont}, labelfont=bluecaptionfont}
\begin{document}
here is the main text
\makenote*{
\includegraphics[width=3cm]{example-grid-100x100pt}
\captionof{figure}{This should be blue}
}
\begin{minipage}{0.5\textwidth}
\includegraphics[width=8cm]{example-grid-100x100pt}
\captionof{figure}{Normal captionof's are blue}
\end{minipage}
\makenote*{
Normal notes are blue
}
\end{document}
Отдаленно связанные:Как вставить vspaces в scrlayer-notecolumn marginnote?
Выходы
решение1
scrlayer-notecolumn
v0.2.3085 отрепозиторий исходного кода KOMA-Script на SourceForgeуже поддерживает цвета в столбцах заметок с LuaLaTeX или PDFLaTeX (но не с XeLaTeX). Таким образом, пример из вопроса приводит к:
решение2
\makenote*
переопределяет \color
, чтобы ничего не делать, и поэтому внутренний код подписей не может изменить цвет. Вы можете использовать другую команду, но имейте в виду, что, \makenote*
возможно, есть причина для переопределения: вполне возможно, что синий цвет просочится.
\documentclass[]{scrbook}
\usepackage{graphicx}
\usepackage{xcolor}
\usepackage{caption}%
\captionsetup{compatibility=false}%
\usepackage{scrlayer-scrpage}
\usepackage{scrlayer-notecolumn} %must be loaded ``Lastest''
\RedeclareNoteColumn[font = \color{blue}]{marginpar} %default
\let\mycolorcommand\color
\DeclareCaptionFont{bluecaptionfont}{\mycolorcommand{blue}}
\captionsetup{font={bluecaptionfont}, labelfont=bluecaptionfont}
\begin{document}
here is the main text
\makenote*{
\includegraphics[width=3cm]{example-grid-100x100pt}
\captionof{figure}{This should be blue}
}
\begin{minipage}{0.5\textwidth}
\includegraphics[width=8cm]{example-grid-100x100pt}
\tracingmacros=1 \captionof{figure}{Normal captionof's are blue}
\end{minipage}
\makenote*{
Normal notes are blue
}
\end{document}
Возможно, более безопасной альтернативой является локальное переопределение \normalcolor
. Тогда заголовок не сможет сбросить цвет, и цвет в примечании победит:
\makenote*{
\includegraphics[width=3cm]{example-grid-100x100pt}
\let\normalcolor\relax
\captionof{figure}{This should be blue}
}