2009-11-02 80 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

這就是我從另一個來源得到的,這是有效的。

使用``啓動雙引號(這個符號低於〜我們鍵盤上的符號)

使用「」關閉雙引號(這個符號是下面的「象徵我們的鍵盤上)

所以,``報價雙,所享有雙重'

也是一樣的單引號,`報價單,所享有單獨的」