\textquotedblright 后的空格

\textquotedblright 后的空格

我尝试使用\textquotedblleft和 把文本放入“”中\textquotedblright。它工作得很好,只是在 之后没有放任何空格\textquotedblright。换句话说,BEFORE \textquotedblleft TEXT \textquotedblright AFTER结果显示为 BEFORE “TEXT”AFTER。有什么办法可以解决这个问题吗?一种明显的方法是使用BEFORE \textquotedblleft TEXT \textquotedblright \ AFTER。我想知道是否有更好的方法来解决这个问题。谢谢

答案1

\textquotedblleft\textquotedblright(以及大多数其他没有参数的命令,它们不使用空间包)会吞噬其后面的空格(就好像名称是\textquotedblleft␣)。要在此处获得空格字符,您需要使用\textquotedblleft{}\textquotedblright{}。您也可以使用显式空格(例如\␣(斜杠空格)或\hspace{1em}),但您希望空格可拉伸,不是吗?或者,按照建议克尼德, 这引用包可用于报价。

答案2

  1. 使用xspace包:

    \usepackage{xspace}
    

    并定义一个新命令为(例如)

    \newcommand{\tqdr}{\textquotedblright\xspace}
    
  2. (更简单):使用简写``形式''

答案3

如果你:

  • 不习惯使用速记法(由 Luis Parrado 建议)
  • 不想记住使用{}\␣(正如 Stephen 和 cgnieder 所指出的)
  • 不想被巨大的csquotes包裹困扰
  • 认识到这xspace可能会导致比它解决的更多的问题,...

那么为什么不直接定义自己的带有参数的宏呢:

\documentclass{article}
\newcommand*{\textquotedouble}[1]{\textquotedblleft #1\textquotedblright}
\begin{document}
    BEFORE \textquotedouble{TEXT} AFTER.
\end{document}

(或许可以使用比这更短的名字!)

注意:我个人更喜欢简写!

相关内容