You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

LaTeX callouts包箭头参数调整:添加白阴影与标注框黑边框

LaTeX callouts包标注优化:箭头加白阴影、标注框加黑边框

问题描述

我使用LaTeX的callouts包为图片添加标注,工具本身表现良好,但希望实现两个优化:

  • 给标注箭头添加白色阴影,提升在复杂背景上的可见度
  • 让标注数字(如2.2)的窗口带有黑色边框

当前效果

箭头为纯黑色,标注窗口仅白色背景无边框,在图片背景下辨识度不足。

期望效果

箭头带有白色阴影,标注窗口有黑色边框,标注元素在图片上更清晰醒目。

现有代码

\documentclass[12pt,a4paper,notitlepage, twoside]{article}
\usepackage[utf8]{inputenc}
\usepackage{tabulary} 
\usepackage[OT4]{polski} 
\usepackage[polish]{babel}
\usepackage[export]{adjustbox} 
\usepackage[T1]{fontenc}
\usepackage{graphicx}
%\usepackage{nicematrix,tikz} 
\usepackage[table]{xcolor} 
\usepackage[margin = 2cm, top=2cm, bottom=2cm, left=2.5cm, right=2.5cm, headsep=1cm]{geometry}
\usepackage{fancyhdr}
\pagestyle{fancy}
\usepackage{hyperref}
\usepackage{caption}
\usepackage[text= black, background = white , arrow = black ]{callouts} 
\usepackage{tikz} % 绘制箭头、图片标注
\setcounter{tocdepth}{4} 
\setcounter{secnumdepth}{4} 
\usepackage{multirow}
\usepackage{nicematrix} 
\usepackage{calc}
\usepackage[export]{adjustbox} 
\usepackage{enumitem} 

\begin{figure}
    \centering
    \begin{annotate}{\includegraphics[width=0.9\textwidth]{zdj3.png}}{0.9}
        %\helpgrid[black]
        \callout{-6.2,3}{2.2}{-6.2,0.8}
        \callout{-5,3}{2.3}{-5,0.8}
        \callout{-4,3}{2.4}{-4,0.8}
        \callout{-2,3}{2.5}{-2,0.8}
    \end{annotate}
    \caption{FESTO}
    \label{fig:first}
\end{figure}

解决方案

callouts包基于TikZ实现,我们可以通过重定义TikZ样式来实现需求:

  1. 给箭头添加白色阴影:先绘制一层粗白色箭头作为阴影,再叠加黑色箭头
  2. 给标注窗口添加黑色边框:修改标注框的样式,添加黑色描边

修改后的完整代码如下:

\documentclass[12pt,a4paper,notitlepage, twoside]{article}
\usepackage[utf8]{inputenc}
\usepackage{tabulary} 
\usepackage[OT4]{polski} 
\usepackage[polish]{babel}
\usepackage[export]{adjustbox} 
\usepackage[T1]{fontenc}
\usepackage{graphicx}
%\usepackage{nicematrix,tikz} 
\usepackage[table]{xcolor} 
\usepackage[margin = 2cm, top=2cm, bottom=2cm, left=2.5cm, right=2.5cm, headsep=1cm]{geometry}
\usepackage{fancyhdr}
\pagestyle{fancy}
\usepackage{hyperref}
\usepackage{caption}
\usepackage[text= black, background = white , arrow = black ]{callouts} 
\usepackage{tikz} % 绘制箭头、图片标注

% 重定义callouts的TikZ样式,实现需求
\tikzset{
    % 箭头带白色阴影:先画白色粗箭头,再画黑色细箭头
    callout arrow/.style={
        preaction={draw=white, line width=2pt},
        draw=black, line width=1pt,
        ->,
    },
    % 标注框加黑色边框
    callout box/.style={
        fill=white,
        draw=black,
        thick,
        inner sep=2pt,
    }
}

\setcounter{tocdepth}{4} 
\setcounter{secnumdepth}{4} 
\usepackage{multirow}
\usepackage{nicematrix} 
\usepackage{calc}
\usepackage[export]{adjustbox} 
\usepackage{enumitem} 

\begin{figure}
    \centering
    \begin{annotate}{\includegraphics[width=0.9\textwidth]{zdj3.png}}{0.9}
        %\helpgrid[black]
        \callout{-6.2,3}{2.2}{-6.2,0.8}
        \callout{-5,3}{2.3}{-5,0.8}
        \callout{-4,3}{2.4}{-4,0.8}
        \callout{-2,3}{2.5}{-2,0.8}
    \end{annotate}
    \caption{FESTO}
    \label{fig:first}
\end{figure}

关键说明

  • preaction={draw=white, line width=2pt}:在黑色箭头之前绘制一层白色粗箭头,形成阴影效果,让箭头在深色背景上更突出
  • draw=black:给标注窗口添加黑色边框,thick控制边框粗细,可根据需求调整
  • 样式定义需放在导入tikz包之后,确保能覆盖callouts的默认样式

内容的提问来源于stack exchange,提问作者Anna S

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 23:25:33