Tufte-book 与 tikz-timing 导致对齐问题

Tufte-book 与 tikz-timing 导致对齐问题

我正在写一份讲义,并决定使用 tufte-book 模板。我必须包含时序图,因此使用 tikz-timing 包。这两者的组合似乎会导致时序图中的对齐问题。

MWE 将会是这样的:

\documentclass[a4paper]{tufte-book}
\usepackage{tikz-timing}

\begin{document}

\chapter{Sample Chapter}

\section{Sample Section}

\begin{table}
  \begin{tikztimingtable}
    \texttt{Clk} & 105{0.1H 0.1L} \\
    \texttt{Clk\_Divided} & 21{C}\\
    \texttt{nReset} & LL 19{H}\\
    \texttt{Digits} & 3D{0001} 2D{0010} 2D{0100} 2D{1000} 2D{0001} 2D{0010} 2D{0100} 2D{1000} 2D{0001}
  2D{0010}\\
  \end{tikztimingtable}
\end{table}

\end{document}

上面的代码产生了以下布局:

在此处输入图片描述

但正确的时序图应该是这样的:

在此处输入图片描述

如果有人能提供解决这个问题的办法,我将非常感激。

答案1

tikz-timing我现在用类下的包调试了这个问题tufte-book。默认使用TikZ 键tikztimingtable将字体设置为,但也使用来重新计算依赖于字体的缩放比例。这两种用法与类冲突。我还不知道具体原因。\sffamilyfont/utils/exec={\sffamily}\sffamilytufte-book

font=\sffamily但是,通过重新定义 TikZ 样式删除该部分即可解决问题timing/table

旁注:如果您希望信号名称采用文本类型样式,只需在序言中设置字体即可timing/name。无需\texttt一直使用。

下面的示例将获得您想要的结果。

\documentclass[a4paper]{tufte-book}
\usepackage{tikz-timing}
\tikzset{%
  timing/table/.style={timing,line width=0.15ex}, % fix tufte-book issue
  timing/name/.style={font=\ttfamily} % Signal names in tt-Font
}
\begin{document}

\chapter{Sample Chapter}

\section{Sample Section}

\begin{table}
  \begin{tikztimingtable}
    Clk & 105{0.1H 0.1L} \\
    Clk\_Divided & 21{C}\\
    nReset & LL 19{H}\\
    Digits & 3D{0001} 2D{0010} 2D{0100} 2D{1000} 2D{0001} 2D{0010} 2D{0100} 2D{1000} 2D{0001}
  2D{0010}\\
  \end{tikztimingtable}
\end{table}

\end{document}

我可能会进一步调查字体问题。

相关内容