如何使波浪号(不间断空格)优先于连字符(间断空格)

如何使波浪号(不间断空格)优先于连字符(间断空格)

我在定义中使用波浪号,\quoteboxtable因为我不想在破折号和引用人的名字之间出现换行符。但是,行对齐优先于不间断空格。虽然我通常不希望列对齐,但只要尊重波浪号,我并不介意引用的最后一行不对齐。我怎样才能使不间断空格优先于对齐?

最小工作示例:

\documentclass[10pt,conference]{IEEEtran}
\usepackage{ifthen}
\newcommand{\quoteboxtable}[2]{\textit{``#2''}\ifthenelse{\equal{#1}{}}{}{ -~#1}}
\begin{document}


\begin{table}

    \begin{tabular}{p{0.18\linewidth}p{0.73\linewidth}}

    Abcdefghijkl 
    & \quoteboxtable{Someone}{a bcdefghij klmno pqrstuv wxyza bc de fghi. Jkl mn o pqrstuvw  xyzabcdefghij klmno, pqr stu vwxyzabc.}\\
    
    \end{tabular}

\end{table}

\end{document}

该示例生成:

换行不正确

答案1

~您要在with之前添加一个明确的断点-,可以使用\mbox{-}不间断连字符

\documentclass[10pt,conference]{IEEEtran}
\usepackage{ifthen}
\newcommand{\quoteboxtable}[2]{\textit{``#2''}\ifthenelse{\equal{#1}{}}{}{ \mbox{-}~#1}}
\begin{document}


\begin{table}

    \begin{tabular}{p{0.18\linewidth}p{0.73\linewidth}}

    Abcdefghijkl 
    & \quoteboxtable{Someone}{a bcdefghij klmno pqrstuv wxyza bc de fghi. Jkl mn o pqrstuvw  xyzabcdefghij klmno, pqr stu vwxyzabc.}\\
    
    \end{tabular}

\end{table}

\end{document}

在此处输入图片描述

相关内容