长表上的自动换行功能不起作用

长表上的自动换行功能不起作用

我有下表,其中 IP 地址应该在每个“:”后加连字符。但它们不能有破折号。为什么“”不能像使用 babel 包那样将单词分开?在这个最小工作示例中,我包含了我在原始版本中使用的所有包。

\documentclass[11pt,a4paper]{scrartcl}

% Pakete einbinden
\usepackage[english]{babel} % Englische Silbentrennung und Typografie 
\usepackage[T1]{fontenc} % Vektorschriften benutzen
\usepackage[utf8x]{inputenc} % Ermöglicht UTF-Sonderzeichen als Input 
\usepackage[colorlinks=false, pdfborder=0]{hyperref} % Hyperlinks
\usepackage{array}
\usepackage{longtable}
\usepackage{tabularx} 
\usepackage{graphicx}
\usepackage{fancyhdr}
\usepackage{ifthen} % Ermöglicht if-Anweisungen in Latex
\usepackage{colortbl} % Farbige Tabellen
\usepackage{ragged2e} % Für Tabellen
\usepackage{pdflscape} % Ermöglicht es bestimmte Seiten im Querformat anzuzeigen
\usepackage{eurosym} % Für das Eurozeichen
\usepackage{textcomp} % Für ordentliche Darstellung von Sonderzeichen
\usepackage{lmodern} % Ein hübscherer Font
\usepackage{courier} % Ein hübscherer Font für die Result-Zeilen in der Detailbeschreibung der Schwachstellen
\usepackage[a4paper,left=10mm,top=25mm,right=10mm,bottom=26mm]{geometry}


\begin{document}
\begin{longtable}[l]{p{.12\textwidth} p{.20\textwidth} p{.23\textwidth} p{.30\textwidth}}
\multicolumn{4}{>{\columncolor{blue}}l}{Part 2. Component Compliance Summary}\\


IP Address: &  192.168.1.100 & \cellcolor{red}FAIL & \\

IP Address: &  1234:""1234:""1234:""1234:"":""3b:""1 & \cellcolor{green}PASS & \\

IP Address: &  1234:\-1234:\-1234:\-1234:\-:\-1234:\-2 & \cellcolor{green}PASS & \\

IP Address: &  1234:\-1234:\-1234:\-1234:\-:\-5647:\-3 & \cellcolor{green}PASS & \\

IP Address: &  1234:\-1234:\-1234:\-1234:\-:\-5647:\-ce:\-25 & \cellcolor{green}PASS & \\
\end{longtable}
\end{document}

在此处输入图片描述

答案1

""并非所有语言都支持简写。babel特别是,它适用于所有德语方言(ngerman等等),但不适用于英语方言(english等等)。您可以定义一个命令,其功能""与使用

\makeatletter
\newcommand*{\nohyphenbreakpoint}{\hskip\z@skip}
\makeatother 

由于您正在加载hyperref(正在加载url),因此我将使用类似于的命令\nolinkurl。 URL 分解算法对于 IP 地址也同样有效。

我个人非常喜欢从中获得的打字机字体\nolinkurl,但为 IP 定义专用命令更具语义,并且在定义它时您也可以更改显示样式。

\documentclass[11pt,a4paper]{scrartcl}
\usepackage[english]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{array}
\usepackage{longtable}
\usepackage[table]{xcolor}
\usepackage{lmodern}
\usepackage[a4paper,left=10mm,top=25mm,right=10mm,bottom=26mm]{geometry}
\usepackage{hyperref}

\DeclareUrlCommand\ip{\urlstyle{same}}

\newcommand*{\cellpassfail}[1]{%
  \ifnum0#1<1
    \cellcolor{red}FAIL%
  \else
    \cellcolor{green}PASS%
  \fi
}

\begin{document}
\begin{longtable}[l]{p{.12\textwidth} p{.20\textwidth} p{.23\textwidth} p{.30\textwidth}}
\multicolumn{4}{>{\columncolor{blue}}l}{Part 2. Component Compliance Summary}\\
IP Address: &  \ip{192.168.1.100}                   & \cellpassfail{0} & \\
IP Address: &  \ip{1234:1234:1234:1234::3b:1}       & \cellpassfail{1} & \\
IP Address: &  \ip{1234:1234:1234:1234::1234:2}     & \cellpassfail{1} & \\
IP Address: &  \ip{1234:1234:1234:1234::5647:3}     & \cellpassfail{1} & \\
IP Address: &  \ip{1234:1234:1234:1234::5647:ce:25} & \cellpassfail{1} &
\end{longtable}
\end{document}

来自 MWE 的表格,包含破解 IP

相关内容