![去除虚线图案下方的重影线](https://linux22.com/image/455698/%E5%8E%BB%E9%99%A4%E8%99%9A%E7%BA%BF%E5%9B%BE%E6%A1%88%E4%B8%8B%E6%96%B9%E7%9A%84%E9%87%8D%E5%BD%B1%E7%BA%BF.png)
在下面的 MWE 中,我为练习编写了一个命令,在标题和点数之间画一条点线。这条线是用 和 绘制dash pattern
的rounded corners
。
\documentclass[10pt]{article}
\usepackage{tikz}
\usepackage{lipsum}
\usepackage{ifthen}
\newcounter{exer}
\newenvironment{exercice}[2]
{
\addtocounter{exer}{1}
\begin{tikzpicture}
\tikzset{titrex/.style={
fill=red!20,
right,
draw=red!50!black,
rounded corners=5pt,
line width=1pt,
inner xsep=10pt,
minimum height=22pt}
}
\node[titrex,right] (A) at (0,0) {\textbf{\strut Exercice {\theexer}} ~~~ #2};
\node[titrex,left] (B) at (\linewidth,0) {
\ifthenelse{\equal{#1}{1}}
{\hfill \textit{1~point}}
{\hfill \textit{#1~points}}
};
\draw[titrex] (2.5,-11pt) --++ (0,22pt);
%---Here's where the issue lies
\draw[titrex,line width=2pt, line cap=round, dash pattern=on 0pt off 2.5\pgflinewidth] (A.east) -- (B.west);
\end{tikzpicture}
\vspace*{-2mm}
}
\begin{document}
\noindent
\exercice{6}{Deux configurations simples}
\lipsum[1]
\end{document}
在 TeXmaker 预览窗口中,虚线图案对我来说看起来不错:
但不幸的是,当我从 Acrobat 阅读器中读取或打印它时,点之间有线条的伪影,而且点不是那么精细(可能需要放大图片才能看到问题):
另外一个问题是,您可以看到点的位置与预览中的并不完全一致。
这既不是紧急情况,也不是绝对需要解决的,但我想知道这是否普通的或者我是否可以做得更好。
答案1
Mac 预览没有任何问题,但 Acrobat Reader 会出现伪影。此代码:
\documentclass[tikz, border=1cm]{standalone}
\begin{document}
\begin{tikzpicture}
\draw[fill, line width=2pt, line cap=round, dash pattern=on 0pt off 2.5\pgflinewidth] (0,0) -- (1,0);
\end{tikzpicture}
\end{document}
使用fill=none
以下方法可解决问题:
添加fill=none
有问题的线条,否定样式填充,也会消除伪影:
我没有 TeXmaker,因此无法重现观察到的移位点图案。