我是一名新手,希望用我的 LaTeX 报告实现一种两列效果 - 我使用 LaTeXKOMA-script
作为基础。
我希望边距显示为不同的背景颜色(例如灰色),而正文背景为(例如)蓝色,并且我希望将图像、文本、图形和方程式放在此边距中。这些内容与特定段落同步,即我不希望它们四处浮动,而只是相对于正文中的特定段落固定。那么,我该如何解决这两个情况呢?
再次,
- 正文和边距内容的背景颜色不同。(请参阅 tex.stackexchange.com 网站中的类似问题面板)
- 使边距部分的内容相对于正文段落保持固定。
我尝试过使用两种颜色的背景图像并将其拉伸到整个页面,但效果很糟糕......它与主文本和边距不太一致。
欢迎任何建议。
答案1
可以使用以下方法解决颜色问题埃索一皮克. 可以使用以下方法将边距处的数字向上或向下移动边注。但有时建议搬家,所以你应该看看边距修正也是。这里有一个比要求的颜色更多的示例:
\documentclass{scrbook}% You may use any other KOMA-Script class or
% e.g. a standard class.
\usepackage[english]{babel}
\usepackage{blindtext}% for demo only
\usepackage[demo]{graphicx}% remove option `demo' at real life
\usepackage[svgnames]{xcolor}% to have colors (see http://ctan.org/pkg/xcolor)
\usepackage{eso-pic}% put things into background (see http://ctan.org/pkg/eso-pic)
\usepackage{marginnote}% non floating margin notes (see http://ctan.org/pkg/marginnote)
\AddToShipoutPicture{% from package eso-pic: put something to the background
% 1. Background
\AtPageLowerLeft{% put it at the left bottom of the page
\color{LightGrey}\rule{\LenToUnit\paperwidth}{\LenToUnit\paperheight}%
}%
% 2. Headline
\AtTextUpperLeft{% put it at the left top of the text area
\put(0,\LenToUnit{\dimexpr\headsep-\dp\strutbox\relax}){% move it up
\color{BurlyWood}\rule{\LenToUnit\textwidth}{\LenToUnit\headheight}%
}%
}%
% 3. Text area
\AtTextLowerLeft{% put it at the left bottom of the text area
\color{LightSkyBlue}\rule{\LenToUnit\textwidth}{\LenToUnit\textheight}%
}%
% 4. Bottom
\AtTextLowerLeft{% put it at the left bottom of the text area
\put(0,\LenToUnit{\dimexpr-\footskip-\dp\strutbox\relax}){% move it down
% Note: While there is no \footheight, I'm using \headheight here.
\color{BurlyWood}\rule{\LenToUnit\textwidth}{\LenToUnit\headheight}%
}%
}%
}
\setcapindent{0pt}% The margin is too small for hanging captions.
\begin{document}
\chapter{Test}
\blindtext\marginnote{%
\begin{minipage}{\marginparwidth}
\includegraphics[width=\linewidth,height=5\baselineskip]{Test}\\
\captionof{figure}{\hspace{0pt}Example figure}
\end{minipage}
}
\blindtext
\blinddocument
\end{document}
mpinclude
如果你有大量的边缘材料,使用选项可能是一个好主意(见KOMA-Script 手册 scrguien.pdf)以获取有关此选项的更多信息)。在这种情况下,增加\marginparwidth
可能是也可能不是一个好主意。
如果你想使用文本区域 + 边距区域来表示图形或公式,你可以使用类似
\begin{addmargin*}[0pt]{\dimexpr \marginparsep+\marginparwidth\relax}
\begin{equation}
f(x)=x^2
\end{equation}
\end{addmargin*}
addmargin
并且addmargin*
是 KOMA-Script 环境。您可以在 KOMA-Script 手册中找到它们。
我\dimexpr
在我的例子中使用了一些计算。你可以在e-TeX 手册. 另一种方法是使用包计算。为了避免所有这些,\LenToUnit
您可以简单地使用包图片。该包picture
扩展了 LaTeX 的环境,您可以在、等处picture
使用长度代替数字。\put
\makebox
\framebox