2009-11-02 14 views
20

Ich versuche, Programmcode in Latex zu schreiben, die wörtlich Umgebung verwenden, aber wenn ichWie schreibe ich Programmcode mit dem Zeichen in Latex?

schreiben
\begin{verbatim} 
    char ch = 'x'; 
    \end{verbatim} 

dann sind die "-Zeichen um x falsch angezeigt (sie sehen‚lockig‘). Wie kann ich dieses Problem beheben?

Antwort

5

Ich habe

alt text

Was ist falsch?

New

Wenn Sie wollen, wie diese etwas bekommen

alt text

Schreib

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

Das Zitat ist "lockig", wenn ich ein geschweiftes Zitat kopiere und es in den Quellcode einfüge, erhalte ich einen Syntaxfehler. – ragnarius

+0

Und jetzt? Ich habe neue Informationen hinzugefügt. –

+0

Danke für die Magie, es funktioniert! – ragnarius

1

Wenn Sie geschweifte einzelne Anführungszeichen in einer wörtlichen Umgebung sehen, dann ist das einzige richtige Anführungszeichen in Ihrer Schreibmaschinenschrift geschweift, und das ist das Richtige für das, was Sie tun (was ich vermute) Anzeige einiger C-Codes).

+3

Nun, es ist nicht die richtige, weil zu verwenden, wenn jemand den Code kopieren und einfügen aus meinem pdf-Dokument wird er oder sie einen Syntaxfehler bekommen, weil t Er Compiler erwartet das gerade Zitat ... – ragnarius

+1

Ich denke, dass Uckelman bedeutete, dass es ein einfaches Zitat ist, es sieht nur lockig in der Schriftart verwendet ... Haben Sie versucht, kopieren und einfügen, um zu sehen, ob das Zeichen selbst geändert wurde ? – Jimbo

+0

Ja, ich habe es in Emacs eingefügt und es sieht nicht als ein direktes Zitat aus. – ragnarius

29

Legen Sie das upquote Paket dieses Problem in wörtlich Modus zu beheben.

Wenn Sie gerade Anführungszeichen in dicktengleiche Textmodus (zB \texttt{...}) will, oder auch in einem anderen Schriftart, dann können Sie den \textquotesingle Befehl in dem textcomp Paket definiert verwenden:

 
\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} 

Dies funktioniert gut für Schriftarten in einer beliebigen Kodierung und nicht abhängig von einem bestimmten Glyphen-Slot (z. B. \char13 in der Standardkodierung OT1).

+0

Ich habe das versucht, aber das Ergebnis von '\ begin {verbatim} \ textquotesingle \ end {verbatim}' ist '\ textquotesingle' vollständig ausgedruckt. – usernumber

+1

"Laden Sie das upquote-Paket, um dieses Problem im Verbatim-Modus zu beheben." –

4

Für die Anzeige des Quellcodes könnten Sie das Paket listings verwenden; Es ist sehr leistungsfähig und bietet eine Option zum Anzeigen von "geraden" Anführungszeichen.

0

\ textsf {``} und \ textsf {''} kommen geraden Anführungszeichen ziemlich nahe. Keine Notwendigkeit, spezielle Pakete zu verwenden.

+0

Danke, das ist das einzige, was in meiner seltsamen Kombination \ setmathfont [Bereich ... und CMU Serif funktioniert hat. –

+0

Funktioniert das in einer wörtlichen Umgebung? – usernumber

10

Hinzufügen von \usepackage{upquote} zu meiner Präambel war ausreichend.

Vielleicht benötigten ältere Versionen von LaTeX oder upquote mehr Arbeit.

+0

Funktioniert das auch mit der "geprägten" Umgebung? – usernumber

+1

@ usernumber Keine Ahnung, sorry. Sie müssen es selbst testen :) – sampablokuper

+1

THIS! Ich wünschte, diese Antwort wäre aufgewertet. Arbeitete perfekt für mich! –

-1

Dies ist, was ich von einer anderen Quelle bekam, und das funktioniert.

Verwenden `` die doppelten Anführungszeichen zu starten (dieses Symbol ist unten ~ Symbol auf unserer Tastatur)

Use '' die doppelten Anführungszeichen schließen (das Symbol unter dem "Symbol auf der Tastatur)

also `` Zitat Doppel, unquote Doppel ‚‘

das Gleiche gilt für einfache Anführungszeichen, `Zitat Single, unquote Single‘

Verwandte Themen