TikZ で単語を消す: 線の不透明度

TikZ で単語を消す: 線の不透明度

プレゼンテーションでいくつかの単語を消したいのですが、読みやすくするために半透明の線を入れたいです。

以降の MWE は以下に基づいています。 https://tex.stackexchange.com/a/478560/19788

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{xcolor}
\usepackage{tikz}

\newcommand{\txtcross}[1]{%
    \tikz[remember picture, baseline=(A.base)]{
        \node[inner sep=0pt](A){#1};
    }%
    \tikz[overlay, remember picture]{
        \draw[red, draw opacity=0.5, line width=1.5pt] (A.north west) -- (A.south east);
        \draw[red, draw opacity=0.5, line width=1.5pt] (A.south west) -- (A.north east);
    }%
}

\begin{document}

Antonio Vivaldi was \mycrossed{an Italian} a Venitian Baroque musical composer, virtuoso violinist, teacher, and priest.

\end{document}

結果は良さそうですが、実際には、線が重なる部分は(論理的に)他の部分よりも暗くなります。

取り消し線が引かれた単語を拡大した編集結果

不透明度値が 1 未満で均一に色付けされた十字を取得するには、コードを変更する必要がありますか?

それとも別の方法で十字架を描いてみるべきでしょうか?

答え1

@Hafid Boukhoulda の回答に基づき、若干簡略化しました (remember pictureオプションなし、ノード スタイルの定義が若干異なります)。

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shapes.misc}

\newcommand\mycrossed[1]{\tikz[baseline=(A.base)]
    \node[cross out, draw= red, draw opacity=0.5, line width=1.5pt,
          inner sep=0pt, outer sep=0pt] (A) {#1};%
                        }

\begin{document}
Antonio Vivaldi was \mycrossed{an Italian} a Venitian Baroque musical composer, virtuoso violinist, teacher, and priest. Antonio Vivaldi was \mycrossed{an Italian} a Venitian Baroque musical composer, virtuoso violinist, teacher, and priest.
\end{document}

ここに画像の説明を入力してください

答え2

2 つのパスではなく 1 つのパスで十字を描くだけで十分です。

\draw[red,draw opacity=0.5, line width=1.5pt] (A.north west) -- (A.south east) (A.south west) -- (A.north east);

スクリーンショット

スクリーンショット-2

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{xcolor}
\usepackage{tikz}

\newcommand{\mycrossed}[1]{%
    \tikz[remember picture, baseline=(A.base)]{
        \node[inner sep=0pt](A){#1};
    }%
    \tikz[overlay, remember picture]{
        \draw[red,draw opacity=0.5, line width=1.5pt] (A.north west) -- (A.south east) (A.south west) -- (A.north east);
    }%
}

\begin{document}

Antonio Vivaldi was \mycrossed{an Italian} a Venitian Baroque musical composer, virtuoso violinist, teacher, and priest.

\end{document}

答え3

シェイプノードは次のように使用できますcross out

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{xcolor}
\usepackage{tikz}
\usetikzlibrary{shapes.misc}

\newcommand{\txtcross}[1]{%
    \tikz[remember picture, baseline=(A.base)]{
        \node[cross out, 
            draw= red,
            line width=1.5pt,
            draw opacity=0.5,
            inner sep=0pt](A){#1};
    }
}

\begin{document}

Jean-Baptiste Lully  was \txtcross{a French} an Italian-born French composer, instrumentalist, and dancer

\end{document}

ここに画像の説明を入力してください

関連情報