Wörter durchstreichen mit TikZ: Linienopazität

Wörter durchstreichen mit TikZ: Linienopazität

Ich möchte in einer Präsentation einige Wörter durchstreichen und bevorzuge dabei halbtransparente Linien, um das Lesen zu erleichtern.

Der MWE basiert im Folgenden auf: 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}

Das Ergebnis scheint gut zu sein, aber tatsächlich ist der Teil, wo sich die Linien überlappen, (logischerweise) dunkler als die anderen Teile.

Ergebnis der Zusammenstellung mit Zoom auf die durchgestrichenen Wörter

Muss ich den Code ändern, um ein gleichmäßig gefärbtes Kreuz mit einem Opazitätswert unter 1 zu erhalten?

Oder soll ich versuchen, das Kreuz auf andere Weise zu zeichnen?

Antwort1

Basierend auf der Antwort von @Hafid Boukhoulda, mit einigen Vereinfachungen (ohne remember pictureOption, leicht andere Knotenstildefinition):

\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}

Bildbeschreibung hier eingeben

Antwort2

Es genügt, das Kreuz in einem einzigen Pfad statt in zweien zu zeichnen:

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

Bildschirmfoto

Screenshot-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}

Antwort3

cross outSie können den Formknoten folgendermaßen verwenden :

\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}

Bildbeschreibung hier eingeben

verwandte Informationen