!['cleveref' 包和图片旁边的标题](https://linux22.com/image/338751/'cleveref'%20%E5%8C%85%E5%92%8C%E5%9B%BE%E7%89%87%E6%97%81%E8%BE%B9%E7%9A%84%E6%A0%87%E9%A2%98.png)
我曾使用“cleveref”包处理大型文档。它包含大量 (tikz) 图形,并使用了“scrreprt”类。
\documentclass[a4paper, onecolumn, twoside, openright, titlepage, DIV=calc, BCOR=1cm, headinclude=false,footinclude=false, draft, captions=topbeside]{scrreprt}
我想将图片标题放在页面的外边距。为此,我尝试使用“floatrow”包和“captionbeside”环境。
KOMA-Script 和侧注:如何格式化侧面(边距)标题及其标题标签?
'cleveref' 之后无法再识别图形和表格的标签。我猜想这与某种改变的“标签”有关,但我找不到解决方案。
您能给我一些关于如何解决这个问题的建议吗?
基督徒。
编辑:我添加了这个例子:
\documentclass[captions=topbeside]{scrreprt}
\usepackage{graphicx}
\usepackage{cleveref}
\begin{document}
\begin{figure}[!htb]
\begin{captionbeside}{caption1}
[o]{\includegraphics[width=3cm]{example-image-a}}
\end{captionbeside}\label{fig:fig_1}
\end{figure}
\begin{figure}[!htb]
\begin{captionbeside}{caption2}
[o]{\includegraphics[width=3cm]{example-image-a}}
\end{captionbeside}\caption{caption2}\label{fig:fig_2}
\end{figure}
\begin{figure}[!htb]
\includegraphics[width=3cm]{example-image-a}
\caption{caption3}\label{fig:fig_3}
\end{figure}
\cref{fig:fig_1}, \cref{fig:fig_2}, \cref{fig:fig_3}.
\end{document}
答案1
在标题参数中设置标签对我来说是有用的:
\begin{captionbeside}
{caption1\label{fig:fig_1}}
这是一个双面的示例,但我不确定图片和标题应该如何定位:
\documentclass
[
captions=topbeside,
twoside
]
{scrreprt}
%\providecommand*\Ifthispageodd{\ifthispageodd}% needed up to and including KOMA-Script version 3.27, see https://komascript.de/faq_deprecatedif
\usepackage{graphicx}
\usepackage{cleveref}
\usepackage{etoolbox}
\BeforeBeginEnvironment{captionbeside}{%
\setcapindent*{0pt}%
\Ifthispageodd
{\addtokomafont{caption}{\raggedright}}
{\addtokomafont{caption}{\raggedleft}}%
}
\usepackage{lipsum}% dummy text
%\usepackage{showframe}% shows the page layout
\begin{document}
\chapter{A chapter}
\lipsum[1]
\begin{figure}[htb]
\setcapindent*{0pt}
\begin{captionbeside}
{caption1\label{fig:fig_1}}
[o]
[\dimexpr\textwidth+\marginparwidth+\marginparsep\relax]
[0pt]*
\raisebox
{\dimexpr\ht\strutbox-\totalheight\relax}
{\makebox
[\textwidth]
[c]
{\includegraphics[width=3cm]{example-image-a}%
}%
}
\end{captionbeside}
\end{figure}
\begin{figure}[!htb]
\begin{captionbeside}
{caption2\label{fig:fig_2}}
[o]
\includegraphics[width=3cm]{example-image-a}
\end{captionbeside}
\end{figure}
\cref{fig:fig_1}, \cref{fig:fig_2}, \cref{fig:fig_3}.
\clearpage
\lipsum[1]
\begin{figure}[htb]
\setcapindent*{0pt}
\begin{captionbeside}
{caption1\label{fig:fig_3}}
[o]
[\dimexpr\textwidth+\marginparwidth+\marginparsep\relax]
[0pt]*
\raisebox
{\dimexpr\ht\strutbox-\totalheight\relax}
{\makebox
[\textwidth]
[c]
{\includegraphics[width=3cm]{example-image-a}%
}%
}
\end{captionbeside}
\end{figure}
\end{document}
请注意\Ifthispageodd
可能需要两次运行。
结果: