我使用的参考书目样式 ( abbrvdin
) 将作者姓名全部大写(例如\textsc{}
)。当启用微类型跟踪时,它会在所有这些字母之间添加空格,这看起来不太好。我四处搜索,找到了一个解决方案这里。
\SetTracking{encoding=*, shape=sc}{50}
不幸的是,这对我来说不起作用。字母之间的间距保持不变。我做错了什么?
更多信息,我正在使用:scrreprt、font libertine、bibstyle addrvdin 和 ngerman babel enabled。
编辑:我从 libertine 切换回默认字体,但间距并没有改变为我提供的值SetTracking
。
编辑 2:我找到了解决这个问题的方法
\microtypesetup{tracking=false}
\bibliography{lit}
\microtypesetup{tracking=true}
但这也会禁用非小写字母的 bib 跟踪。所以我宁愿有一个更好的解决方案。
编辑: 很抱歉我花了这么长时间才添加示例。不过终于可以添加示例了:
\documentclass[
12pt,
paper=a4,
titlepage=true,
twoside=true,
numbers=noenddot,
parskip=half,
headings=small,
draft
]{scrreprt}
\usepackage[
activate={true,nocompatibility},
final,
tracking=true,
kerning=true,
factor=1100,
stretch=10,
shrink=10
]{microtype}
\SetTracking{encoding=*, shape=sc}{200}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{libertine}
\usepackage[libertine,cmintegrals,cmbraces,vvarbb]{newtxmath}
\usepackage{babelbib}
\usepackage[nottoc]{tocbibind}
\bibliographystyle{abbrvdin}
\begin{document}
\chapter{Something}
Blah\dots\cite{carrier,kobayashi}
\bibliography{literatur}
\end{document}
%%% CONTENT OF BBL FILE %%%
\begin{thebibliography}{1}
% this bibliography is generated by abbrvdin.bst [8.2] from 2005-12-21
\providecommand{\url}[1]{\texttt{#1}}
\expandafter\ifx\csname urlstyle\endcsname\relax
\providecommand{\doi}[1]{doi: #1}\else
\providecommand{\doi}{doi: \begingroup \urlstyle{rm}\Url}\fi
\bibitem[1]{carrier}
\textsc{Carrier}, B. :
\newblock \emph{File System Forensic Analysis}.
\newblock Addison Wesley Professional, 2005
\bibitem[2]{kobayashi}
\textsc{Kobayashi}, Y. ; \textsc{Sommer}, C. :
\newblock On shortes disjoint paths in planar graphs.
\newblock {In: }\emph{Discrete Optimization} (2010), Nr. 7, S. 234--245
\end{thebibliography}
正如最初的问题所述,该SetTracking
命令无法解决问题。我必须完全禁用跟踪才能将其设置为正确。否则它看起来像这样:
我认为如果正确完成的话应该是这样的:
编辑2:
好吧,我解决了这个问题。而不是
\SetTracking{encoding={*}, shape=sc}{40}
我用了
\SetTracking{encoding={T1}, shape=sc}{40}
并且它成功了。
但是,正如评论所指出的那样,只有小型大写字母才经过字距调整,其他字母均不经过。
答案1
星号
\SetTracking{encoding=*, shape=sc}{50}
是一个代表“默认”的占位符。对于命令,\Declare...
此占位符的翻译发生在前言的末尾,而对于\Set...
命令,则立即进行。在您的示例中,这会导致星号被翻译为OT1
,因为inputenc
-- 会将默认编码更改为T1
-- 会在两行后加载。
因此,为了将星号扩展为文档中实际使用的默认编码,您应该inputenc
在之前加载microtype
。