
Стиль библиографии, который я использую ( abbrvdin
), использует для имен авторов все заглавные буквы (например \textsc{}
). Когда включен трекинг в микрошрифте, он добавляет пробел между всеми этими буквами, что выглядит не очень хорошо. Я поискал и нашел одно решениездесь.
\SetTracking{encoding=*, shape=sc}{50}
К сожалению, у меня это не работает. Расстояние между буквами остается прежним. Что я делаю не так?
Еще немного информации. Я использую: scrreprt, font libertine, bibstyle addrvdin и включен ngerman babel.
Редактировать: Я переключился с libertine обратно на шрифт по умолчанию, но интервал не изменился до значения, которое я указал в SetTracking
.
Редактировать 2: Я нашел способ обойти эту проблему.
\microtypesetup{tracking=false}
\bibliography{lit}
\microtypesetup{tracking=true}
Но это также отключит отслеживание в нагруднике в немаленьких заглавных буквах. Так что я бы предпочел лучшее решение.
РЕДАКТИРОВАТЬ: Мне очень жаль, что мне потребовалось так много времени, чтобы добавить пример. Но вот он, наконец:
\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}
— это заполнитель, который означает «default». В то время как для \Declare...
команд перевод этого заполнителя происходит в конце преамбулы, для \Set...
команд он происходит немедленно. В вашем примере это приводит к переводу звездочки в OT1
, поскольку inputenc
-- которая изменяет кодировку по умолчанию на T1
-- загружается двумя строками позже.
Поэтому, чтобы звездочка расширилась до кодировки по умолчанию, которая фактически используется в документе, необходимо загрузить файл inputenc
до microtype
.