我正在尝试使用此代码在章节标题旁边插入图片
\begin{document}
\chapter{for example}
\begin{figure}[h]
\includegraphics[width=20mm]{turing.png}
\end{figure}
但图片插入到了新行。我可以指定一个坐标来在那里插入图片吗?
答案1
您可以使用 TikZ;tikzpagenodes
让您轻松控制使用文本区域锚点的定位:
\documentclass{book}
\usepackage{graphicx}
\usepackage{tikzpagenodes}
\usepackage{lipsum}
\begin{document}
\chapter{Test chapter}
\begin{tikzpicture}[remember picture,overlay]
\node[anchor=east,inner sep=0pt] at (current page text area.east|-0,3cm) {\includegraphics[height=3cm]{example-image-a}};
\end{tikzpicture}
\lipsum[4]
\end{document}
答案2
如果在命令中指定图形chapter
,则必须保护该命令,以便在写入 toc 文件时不会解释它,或者指定另一个标题:
\documentclass[12pt, a4paper]{report}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[demo]{graphicx}
\begin{document}
\tableofcontents
\chapter{looks odd in TOC \protect\includegraphics[width=20mm]{test.png}}
\chapter[does not look so odd in TOC (because the graphic is missing)]%
{does not look so odd in TOC \includegraphics[width=20mm]{test.png}}
\end{document}
答案3
由于我尝试在 -command 的参数中包含图形而收到投诉\chapter
,因此以下是对我有用的方法:
这不仅仅是一种 hack,但您可以做的一件事是将图形包含在下一行中,并使用负数将其向上移动\vspace
。您可以使用任何单位,但我认为最好使用\baselineskip
上下文定义的单位,而不是绝对单位,例如 mm 或 pt 作为垂直空间的高度。确保\vspace
在后面包含一个正数,以避免将章节正文挤压到标题中。
如果您想要一张与所有章节相配的图形,您可以将所有这些打包成一个宏,该宏的行为类似于章节,只是它需要引用图形的第二个参数,如下所示:
\documentclass[final]{book}
\usepackage{graphicx, ifthen}
\newcommand{\mychapter}[3][\empty]{%
\ifthenelse{\equal{#1}{\empty}}% check whether optional parameter is empty
{\chapter[#2]{#2}}%
{\chapter[#1]{#2}}%
{\Huge %
\vspace{-2.2\baselineskip} % move up
\hfill % move graphic right
\includegraphics[height=10mm]{#3} % include graphic
\vspace{\baselineskip} % move down before body starts
}% delimit scope of \Huge
}
\begin{document}
\tableofcontents
\mychapter[toc title]{A chapter}{Logo-univie}%different title in TOC and heading
\mychapter{Another chapter}{Logo-univie}%same title everywhere
Some text
\end{document}
注意:已编辑以保留的可选参数\chapter
。