首先:我几乎没有使用过 LaTeX,所以我正在寻找一个静态布局,可以将文本/图片放入其中。遗憾的是,我已经无法创建真正的布局,因为创建文档时可以指定的东西太多了。
我想为我的文档创建自定义布局。我设想以下布局:
|
|
|
|
|
|
<3cm> | The usual stuff (Text/Images etc.)
|
|
|
|
|
而对于正确的网站,我希望获得某种导航栏,以便读者可以看到他当前正在阅读的章节(我想手动指定这些选项卡的文本,因此它们不需要与目录匹配)。遗憾的是我不知道如何创建它。我想象以下内容:
我发现我可以使用以下方式指定页面尺寸
\pdfpagewidth 8.25in
\pdfpageheight 10.75in
但是我错过了左侧的水平线(边缘之后的右侧)以及在哪里/如何访问右侧的菜单栏。
所以我假设地点,边注可能会对此有所帮助,但它似乎没有覆盖整页。
这是我目前的代码:
\documentclass{article}
\pdfpagewidth 21cm
\pdfpageheight 21cm
\usepackage[
%bindingoffset=0.2in,%
left=3cm,right=0cm,top=3cm,bottom=3cm,%
footskip=.25in]{geometry}
\begin{document}
Some placeholder Text
\end{document}
目前看来,这似乎完成了部分格式化。现在我仍然面临虚线和菜单栏的问题。有人能给我提示吗?
答案1
我认为这样的功能可能非常有用,因为对于许多文档来说,屏幕查看正在成为默认设置。当然,要真正有用,标签不仅应该显示当前章节(如 OP 所要求的),还应该显示超链接到其他章节。下面的代码生成带有超链接的文档,如下所示:
大部分工作是由蒂克兹。额外的技巧是:
- 使用以下方式将标签添加到每个页面
\AddEverypageHook
每一页包裹 - 文档中的章节总数存储在辅助文件中
\numberofchapters
,默认为0
- 每个章节都会在辅助文件中自动赋予一个标签(
chapter1
,,chapter2
...),以便超链接可以创建指向它的链接 - 我发现我必须
\rotatebox
使用图形因为旋转文本蒂克兹\node
没有旋转超链接 - 使用tikzpage节点,第一个章节标签与页眉底部对齐
理想情况下,菜单栏与页边距的距离、旋转角度和颜色选择等细节应该由一些不错的界面来处理。其中一些(但不是全部)细节可以使用tikz
代码顶部的样式轻松更改。如果有很多章节,标签将超出页面底部,因此这种方法不太好用。解决这个问题的一种方法是提供仅显示章节号的选项。可以想象对章节也这样做……
以下是代码:
\documentclass[svgnames]{book}
\usepackage[
a4paper,
left=3cm,
right=0cm,
top=3cm,
bottom=3cm,
footskip=.25in
]{geometry}
\usepackage{etoolbox}
\usepackage{everypage}
\usepackage{graphicx}
\usepackage{tikz}
\usepackage{tikzpagenodes}
\usepackage{hyperref}
\hypersetup{
colorlinks = false,%
linkbordercolor = LightSkyBlue
}
% define some tikz styles to control the chapter tabs
\usetikzlibrary{calc}
\tikzset{
chaptertab/.style = {
rectangle,
anchor = north west,
rounded corners,
draw=DodgerBlue,
line width=1mm,
fill=LightSkyBlue,
text=NavyBlue,
%rotate=270,
inner sep=1mm,
minimum height=24mm,
minimum width=10mm,
font=\bfseries
},
current chapter/.style={
text=red
},
menu background/.style = {
fill=LightSteelBlue
}
}
% we keep track of the total number of chapters in the aux file. By
% default this is 0
\providecommand\numberofchapters{0}
\makeatletter
\AtEndDocument{
\write\@auxout{\string\gdef\string\numberofchapters{\arabic{chapter}}}
}
\makeatother
% the chapter tabs are added to each page using the following command
\newcommand\addchaptertabs{%
\begin{tikzpicture}[remember picture, overlay]
\draw[menu background](current page.north west) rectangle ($ (current page.south west)+(1.2,0) $);
\foreach \chap [evaluate=\chap as \offset using {2.4*(1-\chap)}] in {1,...,\numberofchapters} {
\ifnum\value{chapter}=\chap
\def\chapterextra{current chapter}
\else
\def\chapterextra{}
\fi
\node[chaptertab,\chapterextra] (chapter\chap) at
($ (current page.north west|-current page header area.south west)+(0,\offset) $)
{\rotatebox{-270}{\hyperref[chapter\chap]{Chapter \chap}}};
}
\end{tikzpicture}%
}
% create a label (and hence a hyperlink) to each to chapter
\appto\chapter{\relax\label{chapter\arabic{chapter}}}
\AddEverypageHook{\addchaptertabs}
\begin{document}
\chapter{One}
\chapter{Two}
\chapter{Three}
\end{document}