我正在通过 newenvironemnt 和手动编码使用自定义书法字体……(因此没有数学包)。除了我尝试将内容写成粗体之外,它工作得很好。从周围看,我发现有两种可能性:a.) 我使用的字体没有粗体变体或 b.) 我在那里做错了(因此,我设置的内容会覆盖所有使文本变粗的尝试)。
所以我的问题有两个:我是不是做错了什么,如果没有,而我真的使用了错误的字体,哪种字体更适合我想要做的事情(在书中使用书法字体并且能够加粗文本)?
\documentclass[10pt,a4paper,BCOR10mm,DIV11,toc=listof,parskip=full, openany]{scrbook}
\newenvironment{calligraphic}%
{
\fontencoding{T1}
\fontfamily{pzc}
\fontseries{m}
\fontshape{it}
\fontsize{12pt}{12pt}
\selectfont
}
{}%
\renewcommand*{\sectfont}{\normalcolor\usefont{T1}{pzc}{m}{it}}
\begin{document}
\begin{calligraphic}
\chapter{test1}
Test \textbf{this is bold}
\end{calligraphic}
Test2 \textbf{this is bold}
\end{document}
编辑:我在那里添加了一个章节,不确定这是否只是视觉错觉,但有趣的是,那里的章节看起来很粗。根据 Johannes 的评论进行编辑:这只是一个视觉错觉,因为尺寸看起来很粗,但这只是尺寸本身的副作用。
答案1
这种方法不能保留正确的字距调整(也不能保留连字符),但可能还是够用的。它可以自动换行。
我通过将字符与其自身的移位版本叠加来实现结果。移位由 和 控制\def
。\calup
要\calover
使用的宏是\calbf
。
辅助程序\calbfhelpA
解析单词间的空格,同时\calbfhelpB
解析每个单词的字符。
在这个实现中,字体间距不会变宽。但是,如果希望字体间距变宽,只需将 的值更改\useanchorwidth
为 即可{F}
。
显然,这里的关键是要巧妙地变换。如果变换太多,看起来就很糟糕。
\documentclass[10pt,a4paper,BCOR10mm,DIV11,toc=listof,parskip=full, openany]{scrbook}
\usepackage{stackengine}
\def\useanchorwidth{T}
\def\stacktype{L}
\def\stackalignment{l}
\def\calup{.2pt}
\def\calover{.15pt}
\def\calbf#1{\calbfhelpA#1 \relax\relax}
\def\calbfhelpA#1 #2\relax{%
\calbfhelpB#1\relax\relax%
\ifx\relax#2\else\ \calbfhelpA#2\relax\fi
}
\def\calbfhelpB#1#2\relax{%
\stackon[\calup]{#1}{\kern\calover#1}%
\ifx\relax#2\else
\calbfhelpB#2\relax%
\fi
}
\newenvironment{calligraphic}%
{\fontencoding{T1}\fontfamily{pzc}\fontseries{m}\fontshape{it}\fontsize{12pt}{12pt}\selectfont}{}%
\renewcommand*{\sectfont}{\normalcolor\usefont{T1}{pzc}{m}{it}}
\begin{document}
\begin{calligraphic}
\chapter{test1}
Test \textbf{this is not bold}\par
Test \calbf{this is bold with .2pt up shift and .15pt right shift}\par
\def\calup{.0pt}
\def\calover{.2pt}
Test \calbf{this is bold with .0pt up shift and .2pt right shift}\par
\calbf{cvxc This is a test. This is a test. This is a test. This is a test.
This is a test. This is a test. This is a test. This is a test. This is a
test. This is a test. This is a test. This fdsfsd is a test. This is a test.
This is a test. This is a test. This is adfsdf test. This is a test. }
\end{calligraphic}\par
Test2 \textbf{this is bold}
\end{document}
飞涨:
换行: