2010-04-27 6 views
48

Comment écrire "C++" dans LaTeX pour que la sortie soit belle. Par exemple C$++$ n'a pas l'air bien: les signes plus sont trop grands et il y a trop d'espace.Comment écrire "C++" dans LaTeX

+2

Voir aussi les réponses proposées à tex.se.com: http://tex.stackexchange.com/questions/4302/ prettiest-way-to-typeset-c – quazgar

+0

Vous pouvez jeter un oeil à cette autre question [liste de code source LaTeX comme dans les livres professionnels] (http://stackoverflow.com/questions/741985/latex-source-code-listing- like-in-professional-books), il a l'air génial et fonctionne parfaitement. – Dexter

Répondre

27

La solution standard pour les cas comme celui-ci est d'utiliser textuellement:

\verb!C++! 
+1

J'aime cette solution mais le C semble mauvais ... pas comme l'autre texte, donc je veux ajouter le signe plusplus à un C normal. j'essaye avec ceci mais ne fonctionne pas: C \ thinspace \ verb! ++! – mjsr

+18

je l'ai eu C {} \ verb! ++! ... qui regarde comment je le veux. – mjsr

+0

Mais comment puis-je faire une définition, qui * n'avale * pas l'espace suivant; comme ceci: \ def \ cpp {C {} \ texttt {++}} – user2023370

13

Vous pouvez essayer d'utiliser une police de typewriter.

\texttt{C++} 
5

C'est ce que je il y a le temps looooooongues:

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

à utiliser comme \Cpp (besoins xspace paquet). Mais comme tu l'as dit, ce n'est pas vraiment beau.

+3

+1 pour le \ xspace résolvant le problème de non/espace supplémentaire. – Canella

18

J'ai utilisé le code ci-dessous pour typer un joli C++ dans mon Master-Thesis. Le code a été copié textuellement à partir d'un german forum. Vous devriez être en mesure de copier-coller juste tout le code dans un nouveau .tex-document et prendre les choses pertinentes pour vous ...

\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

merci !! les résultats sont sympa ... une question que je ne comprends pas dans le code ... comment mettre C++ sans environnement mathématique ou \ verb après \ Huge? – mjsr

+1

désolé, je ne comprends pas votre question. Le \ Huge est juste dans le code pour le rendre un peu plus visible. Si vous utilisez les définitions au début du fichier, vous devriez pouvoir écrire \ C++ n'importe où dans n'importe quel environnement ... – Habi

+0

ok merci, j'étais un peu confus avec l'utilisation du signe plus. Je tenais à ce que l'environnement mathématique soit indispensable mais maintenant je m'en suis rendu compte.xD – mjsr

1

Ce answer, pour la même question sur le site tex, donne ce Je trouve que c'est un bon moyen d'y arriver.

%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

J'ai trouvé que ce qui suit donne de bons résultats:

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