我从该站点复制粘贴了一部分代码,并将其放在section
tikz 中以实现以下结果:
我希望文本周围的矩形从最边缘开始,即从文本的左侧开始纸在奇数页上,并在页面的右边缘完成文本(偶数页则正好相反)。章节名称应从其当前所在位置开始。
还值得一提的是,我希望靠近排水沟的矩形为蓝色,靠近外边缘的矩形为白色。
我面临的麻烦是,由于我使用twoside
文档,所以我不知道装订线的位置。如何实现?
平均能量损失
\documentclass[twoside]{book}
\usepackage[explicit]{titlesec}
\usepackage{tikz}
\usetikzlibrary{shapes,shadows,calc}
\usetikzlibrary{positioning,calc}
\usepackage{lipsum}
\usepackage[inner=2in,outer=0.5in,bmargin=1in,tmargin=1in]{geometry}
\usepackage{ragged2e}
\usepackage{calc}
\newcommand\SecTitle[4]{%
\begin{tikzpicture}
\node (A) [rectangle,left color=blue, right color=white, inner sep=4mm]%
{%
\begin{minipage}[c]{\textwidth-8mm}%
\LARGE\bfseries\raggedright\thesection\quad#4
\end{minipage}
};
\end{tikzpicture}
}
\titleformat{\section}
{\normalfont}{}{0em}
{\SecTitle{east}{west}{0\paperwidth}{#1}}
\begin{document}
\chapter{Test}
\section{Test Section One}
\lipsum[2]
\section{Test Section Tt Section Tt Section Tt Section Tt Section Tt Section Tt Section Tt Section Tt Section Tt Section Tt Section Tt Section Tt Section Tt Section Tt Section Tt Section Tt Section Tt Section Tt Section Two}
\lipsum[2]
\clearpage
\section{Test Section Three}
\lipsum[2]
\section{Test Section Four}
\lipsum[2]
\end{document}
答案1
在 的定义中\SecTitle
,您可以使用\ifodd\value{page}
在偶数页和奇数页上应用不同的代码,形式为
\ifodd\value{page}{
odd format
}\else{
even format
}\fi
我不知道您到底想要实现什么,因此这里有一个例子,其中我只从您的代码中随机更改了几件事以适应偶数页:
\documentclass[twoside]{book}
\usepackage[explicit]{titlesec}
\usepackage{tikz}
\usetikzlibrary{shapes,shadows,calc,positioning}
\usepackage{lipsum}
\usepackage[inner=2in,outer=0.5in,bmargin=1in,tmargin=1in]{geometry}
\usepackage{calc}
\newcommand\SecTitle[4]{%
\begin{tikzpicture}
\ifodd\value{page}{%
\node (A) [rectangle,left color=blue, right color=white, inner sep=4mm]%
{%
\begin{minipage}[c]{\textwidth-8mm}%
\LARGE\bfseries\raggedright\thesection\quad#4
\end{minipage}
};
}\else{%
\node (A) [rectangle,left color=white, right color=red, inner sep=4mm]%
{%
\begin{minipage}[c]{\textwidth-8mm}%
\LARGE\bfseries\raggedleft\thesection\quad#4
\end{minipage}
};
}\fi%
\end{tikzpicture}
}
\titleformat{\section}
{\normalfont}{}{0em}
{\SecTitle{east}{west}{0\paperwidth}{#1}}
\begin{document}
\chapter{Test}
\section{Test Section One}
\lipsum[2]
\section{Test Section Tt Section Tt Section Tt Section Tt Section Tt Section Tt Section Tt Section Tt Section Tt Section Tt Section Tt Section Tt Section Tt Section Tt Section Tt Section Tt Section Tt Section Tt Section Two}
\lipsum[2]
\clearpage
\section{Test Section Three}
\lipsum[2]
\section{Test Section Four}
\lipsum[2]
\end{document}