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

두 경로 대신 단일 경로로 십자가를 그리는 것으로 충분합니다.

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

여기에 이미지 설명을 입력하세요

관련 정보