我正在写一份讲义,并决定使用 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
将字体设置为,但也使用来重新计算依赖于字体的缩放比例。这两种用法与类冲突。我还不知道具体原因。\sffamily
font
/utils/exec={\sffamily}
\sffamily
tufte-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}
我可能会进一步调查字体问题。