在字母之间留出负间距,并在重叠部分使颜色变深

在字母之间留出负间距,并在重叠部分使颜色变深

我想让章节数和论文一样大。这是我目前实现的。

在此处输入图片描述

我想要的是在字母之间留出负空间,这样它们就会重叠,而且重叠的部分比数字本身更暗。或者使第二个数字比第一个数字更暗,但仍然重叠。我完全不知道如何自动完成这一操作。

我也保留titlesec了我的代码,因为当我实施解决方案时,我不知道会发生什么错误(或正确)。

这是我的 MWE。

\documentclass[12pt,twoside,draft]{scrbook}

\usepackage{geometry}
\geometry{
paperwidth=11.7in,
paperheight=8.27in,
top=1in,
bottom=1in,
outer=1.5in, 
inner=0.7in,
voffset=0in,
marginparwidth=0.5in,
marginparsep=0.2in,
footskip=0em,
headsep=0pt,
nofoot,
nohead  
}

\usepackage{mathtools}
\usepackage{xcolor}
\usepackage{lipsum}
\usepackage{anyfontsize}
\usepackage{titlesec}
\usepackage[english]{babel}

\titleformat{\chapter}[display]
{\normalfont\bfseries\color{gray!100!white!50}\fontsize{\paperheight}{\paperheight}\selectfont}%
{\resizebox{!}{\paperheight+1in}{\thechapter}}%
{-\paperheight}%
{\color{black}\raggedright\Huge}

\titlespacing{\chapter}{0in}{-1.5in}{40pt}

\begin{document}

\setcounter{chapter}{20}
\chapter{Twenty One}

\lipsum[1]

\end{document}

答案1

\color{gray!100!white!\intens我做了一些更改。我为每个数字设置了颜色\intens,从 50 到 75,然后(如果需要)到 100。

另外,我呈现的是章节,而不是\thechapter,而是\edef\tmp{\thechapter}\expandafter\squeeze\tmp\relax\squeeze其中每个数字后面都有一个负数的字距和颜色的变化。

\documentclass[12pt,twoside,draft]{scrbook}

\usepackage{geometry}
\geometry{
paperwidth=11.7in,
paperheight=8.27in,
top=1in,
bottom=1in,
outer=1.5in, 
inner=0.7in,
voffset=0in,
marginparwidth=0.5in,
marginparsep=0.2in,
footskip=0em,
headsep=0pt,
nofoot,
nohead  
}

\usepackage{mathtools}
\usepackage{xcolor}
\usepackage{lipsum}
\usepackage{anyfontsize}
\usepackage{fontspec}
\newfontfamily\chapterfont[LetterSpace=-12]{Latin Modern Roman}
\usepackage{titlesec}
\usepackage[english]{babel}

\titleformat{\chapter}[display]
{\gdef\intens{50}\normalfont\bfseries\color{gray!100!white!\intens}\fontsize{\paperheight}{\paperheight}\selectfont}%
{\resizebox{!}{\paperheight+1in}{%
  \chapterfont\edef\tmp{\thechapter}\expandafter\squeeze\tmp\relax}}%
{-\paperheight}%
{\color{black}\raggedright\Huge}

\titlespacing{\chapter}{0in}{-1.5in}{40pt}
\def\squeeze#1#2\relax{#1\ifx\relax#2\relax\ \else%
  \xdef\intens{\the\numexpr\intens+25\relax}%
  \kern-180pt\color{gray!100!white!\intens}\squeeze#2\relax\fi}
\begin{document}

\setcounter{chapter}{20}
\chapter{Twenty One}

\lipsum[1]

\setcounter{chapter}{101}
\chapter{Century Plus Two}

\lipsum[1]

\end{document}

在此处输入图片描述

在此处输入图片描述

答案2

使用 XeLaTeX 或 LuaLaTeX 可以非常轻松地实现负字距调整fontspec。我使用了LetterSpace用于数字的字体的字体功能。给它一个负值会减少字母之间的间距。我给了它一个值作为-12示例,它实际上并没有重叠,但可以让您了解您可以做什么。(我尝试了更大的数字,但看起来并不令人满意。)这不是一个比例数字,而是一个“定义为字体大小百分比的标准化加法因子。对于 10 pt 字体,1.0 将在每个字母之间添加 0.1pt。”(fontspec文档,第 33 页)。

但这并不能解决“重叠时颜色变暗”的问题。为此,您可能需要使用 TikZ 或其他工具单独处理数字。

\documentclass[12pt,twoside,draft]{scrbook}

\usepackage{geometry}
\geometry{
paperwidth=11.7in,
paperheight=8.27in,
top=1in,
bottom=1in,
outer=1.5in, 
inner=0.7in,
voffset=0in,
marginparwidth=0.5in,
marginparsep=0.2in,
footskip=0em,
headsep=0pt,
nofoot,
nohead  
}

\usepackage{mathtools}
\usepackage{xcolor}
\usepackage{lipsum}
\usepackage{anyfontsize}
\usepackage{fontspec}
\newfontfamily\chapterfont[LetterSpace=-12]{Latin Modern Roman}
\usepackage{titlesec}
\usepackage[english]{babel}

\titleformat{\chapter}[display]
{\normalfont\bfseries\color{gray!100!white!50}\fontsize{\paperheight}{\paperheight}\selectfont}%
{\resizebox{!}{\paperheight+1in}{\chapterfont\thechapter}}%
{-\paperheight}%
{\color{black}\raggedright\Huge}

\titlespacing{\chapter}{0in}{-1.5in}{40pt}

\begin{document}

\setcounter{chapter}{20}
\chapter{Twenty One}

\lipsum[1]

\end{document}

代码输出

完全重叠的示例(值为-35):

在此处输入图片描述

答案3

这实际上不是对原始问题的回答,只是与 Steven 讨论的注释。这是一种使用 tikz 不透明度挤压和着色重叠的粗略方法。Stevens sqeeze slitter 代码仍在使用。

\documentclass[a4paper]{standalone}
\usepackage[T1]{fontenc}
\usepackage{fix-cm}
\usepackage{tikz,etoolbox,xcolor}
\usetikzlibrary{calc}
\def\myList{}
\def\intens{50}
\def\adjustment{0pt}
\def\pullback{10mm}
\def\squeeze#1#2\relax{
  \listxadd\myList{{#1}{\intens}}
  \ifx\relax#2\relax\else%
  \xdef\intens{\the\numexpr\intens+25\relax}%
  \squeeze#2\relax%
  \fi}
\newcommand\Handler[1]{
  \begingroup
  \def\Splitter##1##2\relax{\gdef\VAL{##1}\gdef\INT{##2}}
  \expandafter\Splitter#1\relax
  \node[gray!100!white!\INT,opacity=0.5] 
  at ($(0,0)+(\adjustment,0)$) {\fontsize{10cm}{10cm}\selectfont\VAL};
  \global\dimdef\adjustment{\adjustment+\pullback}
  \endgroup
  }
\newcommand\DoSqeezed[1]{%
  \def\myList{}%
  \dimdef\adjustment{0pt}%
  \edef\tmp{#1}%
  \expandafter\squeeze\tmp\relax%
  \tikz\forlistloop\Handler\myList;
}
\begin{document}
\DoSqeezed{21}
\DoSqeezed{213}
\end{document}

这可能可以通过某些功能放置在后台titlesec(我不使用它,所以不熟悉)或使用标准

\begin{tikzpicture}[remember picture,overlay]
...
\end{tikzpicture}

而不是\tikz ... ;包装纸。

在此处输入图片描述


稍微调整了版本,应该也适用于旧式数字。还切换到测试一些在课堂memoir上不容易测试的东西standalone

\documentclass[a4paper]{memoir}
\setlrmarginsandblock{1cm}*1
\checkandfixthelayout
\pagestyle{empty}
\usepackage[T1]{fontenc}
\usepackage{fix-cm}
\usepackage{tikz,etoolbox,xcolor}
\usetikzlibrary{calc}
\newcommand\myList{}
\newcommand\intens{50}
\newcommand\adjustment{0pt}
\newcommand\pullback{10mm}
\def\squeeze#1#2\relax{
  \listxadd\myList{{#1}{\intens}}
  \ifx\relax#2\relax\else%
  \xdef\intens{\the\numexpr\intens+25\relax}%
  \squeeze#2\relax%
  \fi}
\newcommand\Handler[1]{
  \begingroup
  \def\Splitter##1##2\relax{\gdef\VAL{##1}\gdef\INT{##2}}
  \expandafter\Splitter#1\relax
  \node[anchor=mid west,gray!100!white!\INT,opacity=0.5] 
  at ($(0,0)+(\adjustment,0)$) {\fontsize{10cm}{10cm}\selectfont\VAL};
  \global\dimdef\adjustment{\adjustment+\pullback}
  \endgroup
  }
\newcommand\DoSqeezed[1]{%
  \renewcommand\myList{}%
  \dimdef\adjustment{0pt}%
  \edef\myTemp{#1}%
  \expandafter\squeeze\myTemp\relax%
  \tikz
  %[remember picture,overlay]
  \forlistloop\Handler\myList;
}
\begin{document}
%\newcounter{chapter}
\setcounter{chapter}{678}
\DoSqeezed{\thechapter}
\DoSqeezed{213}
\end{document}

答案4

您可以使用 PDF 原始命令进行重叠。特别是/MultiplyGraphic State 中的方法,以便使重叠区域变暗。您不需要使用 Tikz。

 \def\thechapnum{12}

\pdfpageresources{/ExtGState << /mul << /Type /ExtGState /BM /Multiply >> >>}

\def\insertkerns#1{\ifx\end#1\else #1\kern-.3em \expandafter\insertkerns\fi}

\leavevmode{\bf\pdfsave\pdfliteral{/mul gs 0.5 g 80 0 0 80 -100 -500 cm}%
   \rlap{\expandafter\insertkerns\thechapnum\end}\pdfrestore}

rryuir weeeyuirw fuow ediwe yiriw rfirer rf re ipr ire 
rryuir weeeyuirw fuow ediwe yiriw rfirer rf re ipr ire 
rryuir weeeyuirw fuow ediwe yiriw rfirer rf re ipr ire 
rryuir weeeyuirw fuow ediwe yiriw rfirer rf re ipr ire 
rryuir weeeyuirw fuow ediwe yiriw rfirer rf re ipr ire 
rryuir weeeyuirw fuow ediwe yiriw rfirer rf re ipr ire 
rryuir weeeyuirw fuow ediwe yiriw rfirer rf re ipr ire 
rryuir weeeyuirw fuow ediwe yiriw rfirer rf re ipr ire 
rryuir weeeyuirw fuow ediwe yiriw rfirer rf re ipr ire 

\bye

请注意,操作符的参数cm用于将结果缩放和移动到页面中的适当位置。

重叠

相关内容