
Я пытаюсь вставить картинку рядом с названием главы, используя этот код
\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
Поскольку я получаю жалобы на попытки включить графику в \chapter
аргумент команды, вот что мне помогло:
Это больше, чем просто хак, но одно, что вы можете сделать, это включить графику в следующую строку и переместить ее вверх с отрицательным знаком \vspace
. Вы можете использовать любую единицу, но я считаю, что лучше использовать что-то вроде , \baselineskip
которая определяется контекстом, а не абсолютную единицу, такую как мм или пт для высоты вертикального пространства. Обязательно включите положительное число \vspace
после, чтобы избежать сжатия текста главы до подписи.
Если вы хотите, чтобы ко всем главам прилагалась графика, вы можете упаковать все это в макрос, который ведет себя как chapter, за исключением того, что он ожидает второй аргумент, ссылающийся на рисунок, например:
\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
.