2010-04-27 17 views
48

Wie kann ich "C++" in LaTeX schreiben, so dass die Ausgabe gut aussieht. Zum Beispiel sieht C$++$ nicht gut aus: die Pluszeichen sind zu groß und es ist zu viel Platz.Wie schreibe ich "C++" in LaTeX

+2

Siehe auch die vorgeschlagenen Antworten auf tex.se.com: http://tex.stackexchange.com/questions/4302/ prettyest-way-to-typeset-c – quazgar

+0

Sie können sich diese andere Frage ansehen [LaTeX Quellcode Listing wie in professionellen Büchern] (http://stackoverflow.com/questions/741985/latex-source-code-listing-) Like-in-Professional-Bücher), es sieht super aus und funktioniert perfekt. – Dexter

Antwort

27

Die Standardlösung für Fälle wie diese wörtlich zu verwenden ist Paket). Aber wie du gesagt hast, ist es nicht wirklich schön.

+1

ich mag diese Lösung, aber das C sieht schlecht aus ... nicht wie der andere Text, also möchte ich das Plusplus Zeichen an eine normale C anhängen ich versuche mit diesem aber nicht arbeiten: C \ thinspace \ verb! ++! – mjsr

+18

ich habe es C {} \ Verb! ++! ... das sieht aus wie ich es will. – mjsr

+0

Aber wie mache ich eine Definition, die * den folgenden Raum nicht schluckt; wie folgt: \ def \ cpp {C {} \ texttt {++}} – user2023370

13

Sie könnten versuchen, eine Schreibmaschinenschriftart zu verwenden.

\newcommand*{\Cpp}{C\ensuremath{++}\xspace} 

zu wie \Cpp verwendet werden (benötigt xspace:

Das ist, was ich früher vor benötigt sehr viel Zeit
\verb!C++! 
5

:

\texttt{C++} 
+3

+1 für das \ xspace, das das no/extra-Raumproblem löst. – Canella

18

Ich habe den folgenden Code verwendet, um ein schönes C++ in meiner Master-Thesis zu typisieren. Der Code wurde wörtlich aus einer german forum kopiert. Sie sollten in der Lage sein, nur die gesamten Code in einem neuen .tex-Dokument kopieren und einfügen und das entsprechende Material für Sie holen ...

\documentclass{article} 
\usepackage{relsize} 
\usepackage{lipsum} 

%c from texinfo.tex 
\def\ifmonospace{\ifdim\fontdimen3\font=0pt } 

%c C plus plus 
\def\C++{% 
\ifmonospace% 
    C++% 
\else% 
    C\kern-.1667em\raise.30ex\hbox{\smaller{++}}% 
\fi% 
\spacefactor1000 } 

%c C sharp 
\def\Csharp{% 
\ifmonospace% 
    C\#% 
\else% 
    C\kern-.1667em\raise.30ex\hbox{\smaller{\#}}% 
\fi% 
\spacefactor1000 } 

\begin{document} 
\begin{center} 
{\Huge C++ $\rightarrow$ \C++ \& \Huge C\# $\rightarrow$ \Csharp}\\ 
\bigskip 
\ttfamily 
{\Huge C++ $\rightarrow$ \C++ \& \Huge C\# $\rightarrow$ \Csharp}\\ 
\bigskip 
\sffamily 
{\Huge C++ $\rightarrow$ \C++ \& \Huge C\# $\rightarrow$ \Csharp} 
\end{center} 
\section{\C++} 
\lipsum[1] 
\subsection{\Csharp} 
\lipsum[1] 
\end{document} 
+0

danke !! Die Ergebnisse sind nett ... eine Frage, die ich nicht im Code verstehe ... Wie kann man C++ ohne math environment oder \ verb nach \ Huge? – mjsr

+1

Entschuldigung, ich verstehe deine Frage nicht. Das \ Huge ist nur im Code, um es ein bisschen sichtbarer zu machen. Wenn Sie die Definitionen am Anfang der Datei verwenden, sollten Sie in der Lage sein, \ C++ überall in jeder Umgebung zu schreiben ... – Habi

+0

ok danke, ich war ein wenig verwirrt mit der Verwendung des Pluszeichens. Ich war hart, dass die mathematische Umgebung unentbehrlich war, aber jetzt erkannte ich das nicht.xD – mjsr

1

Diese answer, für die gleiche Frage auf der tex-Website, gibt, was Ich finde, dass dies ein guter Weg ist.

%C++ 
\newcommand\Cpp{C\nolinebreak[4]\hspace{-.05em}\raisebox{.4ex}{\relsize{-3}{\textbf{++}}}} 
%C# 
\newcommand\Csh{C\nolinebreak[4]\hspace{-.05em}\raisebox{.4ex}{\relsize{-3}{\textbf{\#}}} 
3

Ich habe festgestellt, dass die folgende gute Ergebnisse liefert:

\def\Cplusplus{C\raisebox{0.5ex}{\tiny\textbf{++}}} 
Verwandte Themen