2009-11-02 85 views

回答

5

我已经

alt text

有什么不对?

如果你想要得到的东西像这样

alt text

\makeatletter 
\let \@sverbatim \@verbatim 
\def \@verbatim {\@sverbatim \verbatimplus} 
{\catcode`'=13 \gdef \verbatimplus{\catcode`'=13 \chardef '=13 }} 
\makeatother 
+4

引用是“卷曲”的,如果我复制一个卷曲的报价并将其粘贴到源代码中,我会得到一个语法错误。 – ragnarius 2009-11-02 16:24:30

+0

现在呢?我添加了新的信息。 – 2009-11-02 16:27:35

+0

感谢神奇,它的作品! – ragnarius 2009-11-02 16:36:47

1

如果你在逐字环境中看到单弯右引号,然后在你的打字机字体的一个正确的报价为卷曲,这是一个正确使用你在做什么(我假设是显示一些C代码)。

+3

嗯,这是不正确的,如果有人复制并粘贴代码,因为使用从我的pdf文档中,他或她会得到一个语法错误,因为t他编译器期待直单引号... – ragnarius 2009-11-02 15:54:18

+1

我认为uckelman意味着它是一个单引号,它只是看起来很卷曲使用的字体......你是否尝试复制和粘贴以查看字符本身是否被修改过? – Jimbo 2009-11-02 16:14:24

+0

是的,我把它粘贴到emacs中,看起来不像是一个直接的引用。 – ragnarius 2009-11-02 16:20:26

29

装入upquote包逐字模式来解决这个问题。

如果你想在等宽文本模式直引号(例如,\texttt{...}),或实际上,任何其他字体,那么你可以使用在textcomp包中定义的\textquotesingle命令:

 
\documentclass{article} 
\usepackage{upquote,textcomp} 
\begin{document} 
\newcommand\upquote[1]{\textquotesingle#1\textquotesingle} 
\verb|'c'| \texttt{\upquote{h}} 
\textsf{\upquote{h}} \upquote{h} 
\end{document} 

这将很好地工作用于任何编码中的字体,而不是取决于特定的字形槽(例如,默认OT1编码中的\char13)。

+0

我试过了,但是'\ begin {verbatim} \ textquotesingle \ end {verbatim}'的结果是'\ textquotesingle'完整打印出来的。 – usernumber 2015-08-25 17:22:09

+1

“加载报价软件包以逐字模式解决此问题。” – 2015-08-26 00:22:37

4

为了显示源代码,您可以考虑使用listings包;它非常强大,并提供显示“直线”引号的选项。

0

\ textsf {``}和\ textsf {''}非常接近直引号。不需要使用任何特殊的软件包。

+0

谢谢,这是我在\ setmathfont [range ...和CMU Serif的奇怪组合中工作的唯一东西。 – 2011-05-20 23:41:02

+0

这是否在逐字环境中工作? – usernumber 2015-08-25 17:25:51

10

\usepackage{upquote}加到我的序言中就足够了。

也许老版本的LaTeX或增值引擎需要更多的工作。

+0

这是否也适用于“铸造”环境? – usernumber 2015-08-25 17:28:29

+1

@usernumber不知道,对不起。你必须自己测试:) – sampablokuper 2015-08-25 18:03:49

+1

这个!我希望这个答案更有效。为我完美工作! – 2016-11-16 22:06:31

-1

这就是我从另一个来源得到的,这是有效的。

使用``启动双引号(这个符号低于〜我们键盘上的符号)

使用“”关闭双引号(这个符号是下面的“象征我们的键盘上)

所以,``报价双,所享有双重'

也是一样的单引号,`报价单,所享有单独的”