我尝试使用 background 包在文本下绘制网格线。它有效,但仍有一个问题:
如果第一行以 'a' 开头,则位置位于第一条网格线,但预期位置应该是第二条网格线。 如果将其更改为 'b',则 'b' 将占据第一条和第二条网格线,这与预期一致。
听起来网格线偏移不正确!
\documentclass[a4paper]{article}
\usepackage{geometry}
\geometry{margin=0.5in}
\setlength{\parindent}{0pt}
\usepackage{background}
\usepackage{tikzpagenodes}
\SetBgScale{1}
\SetBgAngle{0}
\SetBgPosition{current page text area.north west}
\SetBgColor{black}
\SetBgContents{
\begin{tikzpicture}[remember picture,overlay]
\coordinate (O) at (0,0);
\def\offset{60pt}
\pgfmathsetlengthmacro{\rows}{floor(\textheight/\offset)}
\pgfmathsetlengthmacro{\dx}{floor(40/3}
\foreach \i in {0,1,...,\rows} {
\foreach \j in {0,...,3} {
\draw[line width=0.5pt] ([yshift=-\i*\offset-\j*\dx]O) -- ++(\textwidth,0);
}
}
\end{tikzpicture}
}
\usepackage{anyfontsize}
\usepackage{vicent}
\begin{document}
\fontsize{40}{60}\selectfont
\cursiveshape
\foreach \i in {a,...,f} {
\i \\
}
\foreach \i in {A,...,F} {
\i \\
}
\end{document}
输出:
答案1
您可以通过附加 来解决这个问题\vphantom{b}
。我仅在没有 vicent 包的情况下进行了测试,而该包恰好不是我的 TeXLive 安装的一部分。
\documentclass[a4paper]{article}
\usepackage{geometry}
\geometry{margin=0.5in}
\setlength{\parindent}{0pt}
\usepackage{background}
\usepackage{tikzpagenodes}
\SetBgScale{1}
\SetBgAngle{0}
\SetBgPosition{current page text area.north west}
\SetBgColor{black}
\SetBgContents{
\begin{tikzpicture}[remember picture,overlay]
\coordinate (O) at (0,0;
\def\offset{60pt}
\pgfmathsetlengthmacro{\rows}{floor(\textheight/\offset)}
\pgfmathsetlengthmacro{\dx}{floor(40/3}
\typeout{\the\textheight,\rows,\dx}
\foreach \i in {0,1,...,\rows} {
\foreach \j in {0,...,3} {
\draw[line width=0.5pt] ([yshift=-\i*\offset-\j*\dx]O) -- ++(\textwidth,0);
}
}
\end{tikzpicture}
}
\usepackage{anyfontsize}
%\usepackage{vicent}
\begin{document}
\fontsize{40}{60}\selectfont
%\cursiveshape
\foreach \i in {a,...,f} {
\i\vphantom{b} \\
}
\foreach \i in {A,...,F} {
\i\vphantom{b} \\
}
\end{document}