使用带有 \href 的 xurl 包以及 longtable 包中的长 \url

使用带有 \href 的 xurl 包以及 longtable 包中的长 \url

我无法让 href 自动换行到 \longtable 中的适当位置。我尝试使用 \ltablex 包,但没有任何效果。任何指导都非常感谢!请参阅下面的 MWE。


\RequirePackage[hyphens]{xurl}
\documentclass[12pt,a4paper]{article}
\usepackage{lipsum}
\usepackage{xcolor}
\usepackage{longtable}
\usepackage{array}
\usepackage{booktabs}
\usepackage{libertinus}
\usepackage{silence}
\WarningsOff[everypage]
\usepackage{everypage}
\pagenumbering{gobble}
\sloppy
\usepackage[hidelinks, breaklinks=true]{hyperref}
\hypersetup{pdfhighlight=/N}
\usepackage[margin=1cm, top=0cm, bottom=0cm]{geometry}
\usepackage{seqsplit}
\newcommand\wrap[2]{
    \begin{minipage}{#1}
        \seqsplit{#2}
    \end{minipage}
    }
\newcommand{\myorg}{\textbf{myorg}}
\newcommand{\mypublishingcompany}{\href{https://myorg.org}{myorg.org}}
\newcommand{\mycompany}{\href{https://myorg.com}{myorg.com}}
\newcommand{\ethaddressrawlink}[1]{\href{https://etherscan.io/address/#1}{#1}}
\newcommand{\ipfsrawlink}[1]{\href{https://ipfs.io/ipfs/#1}{#1}}
\newcommand{\nftaddress}{0x47fc890be8b1070c114bdff796915e4952fcf6a7}
\newcommand{\cidaddress}{QmUduh3i1YVgWd7bbjcvnFgnbF48uD7rJ6er2ogcA6gyrj}
\begin{document}
\color{blue}
\footnotesize
\begin{longtable}[l]{@{}p{1.5cm}
     >{\raggedright\arraybackslash}p{1.5cm}
     >{\raggedright\arraybackslash}p{3.5cm}
     >{\raggedright\arraybackslash}p{3.5cm}@{}}
\toprule
\textbf{URL} & \textbf{Version} & \textbf{NFT}   & \textbf{CID} \\
\midrule
    \textit{\mycompany} & $1.0i$    & \textcolor{red}{\textsl{\ethaddressrawlink{\nftaddress}}}  & \textcolor{teal}{\textsl{{\ipfsrawlink{\cidaddress}}}}\\ 
                \\
     \textit{\mypublishingcompany} & $1.1o$  & \wrap{2.5cm}{xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx} & \wrap{3cm}{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz}\\
                    \\
    \textit{\mypublishingcompany} & $1.0o$  &   
      \lipsum[1] & \lipsum[1]\\ 
                    \\
\bottomrule
\end{longtable}
\end{document}

答案1

您必须使用 \nolinkurl 才能看到 xurl 的效果

在此处输入图片描述

\RequirePackage[hyphens]{xurl}
\documentclass[12pt,a4paper]{article}
\usepackage{lipsum}
\usepackage{xcolor}
\usepackage{longtable}
\usepackage{array}
\usepackage{booktabs}
\usepackage{libertinus}
\usepackage{silence}
\WarningsOff[everypage]
\usepackage{everypage}
\pagenumbering{gobble}
\sloppy
\usepackage[hidelinks, breaklinks=true]{hyperref}
\hypersetup{pdfhighlight=/N}
\usepackage[margin=1cm, top=0cm, bottom=0cm]{geometry}
\usepackage{seqsplit}
\newcommand\wrap[2]{%<<<<
    \begin{minipage}{#1}
        \seqsplit{#2}
    \end{minipage}%<<<<
    }
\newcommand{\myorg}{\textbf{myorg}}
\newcommand{\mypublishingcompany}{\href{https://myorg.org}{myorg.org}}
\newcommand{\mycompany}{\href{https://myorg.com}{myorg.com}}
\newcommand{\ethaddressrawlink}[1]{\href{https://etherscan.io/address/#1}{\nolinkurl{#1}}}
\newcommand{\ipfsrawlink}[1]{\href{https://ipfs.io/ipfs/#1}{\nolinkurl{#1}}}
\newcommand{\nftaddress}{0x47fc890be8b1070c114bdff796915e4952fcf6a7}
\newcommand{\cidaddress}{QmUduh3i1YVgWd7bbjcvnFgnbF48uD7rJ6er2ogcA6gyrj}
\begin{document}
\color{blue}
\footnotesize
\begin{longtable}[l]{@{}p{1.5cm}
     >{\raggedright\arraybackslash}p{1.5cm}
     >{\raggedright\arraybackslash}p{3.5cm}
     >{\raggedright\arraybackslash}p{3.5cm}@{}}
\toprule
\textbf{URL} & \textbf{Version} & \textbf{NFT}   & \textbf{CID} \\
\midrule
    \textit{\mycompany} & $1.0i$    & \textcolor{red}{\textsl{\ethaddressrawlink{\nftaddress}}}  & \textcolor{teal}{\textsl{{\ipfsrawlink{\cidaddress}}}}\\ 
                \\
     \textit{\mypublishingcompany} & $1.1o$  & \wrap{2.5cm}{xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx} & \wrap{3cm}{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz}\\
                    \\
    \textit{\mypublishingcompany} & $1.0o$  &   
      \lipsum[1] & \lipsum[1]\\ 
                    \\
\bottomrule
\end{longtable}
\end{document}

相关内容