2010-04-27 17 views
48

Come posso scrivere "C++" in LaTeX in modo che l'output sia gradevole. Ad esempio, C$++$ non ha un bell'aspetto: i segni più sono troppo grandi e c'è troppo spazio.Come scrivere "C++" in LaTeX

+2

Vedi anche le risposte suggerite a tex.se.com: http://tex.stackexchange.com/questions/4302/ il modo più carino di usare il tipo- – quazgar

+0

Puoi dare un'occhiata a quest'altra domanda [L'elenco dei codici sorgente LaTeX è simile ai libri professionali] (http://stackoverflow.com/questions/741985/latex-source-code-listing- like-in-professional-books), sembra fantastico e funziona perfettamente. – Dexter

risposta

27

La soluzione standard per casi come questo è quello di utilizzare testualmente:

\verb!C++! 
+1

mi piace questa soluzione ma la C sembra male ... non come l'altro testo, quindi voglio aggiungere il segno plusplus a un normale C provo con questo ma non lavoro: C \ thinspace \ verb! ++! – mjsr

+18

ho capito C {} \ verb! ++! ... che sembra come lo voglio. – mjsr

+0

Ma come faccio a definire una definizione, che * non * ingoia il seguente spazio; come questo: \ def \ cpp {C {} \ texttt {++}} – user2023370

13

Si potrebbe provare e utilizzare un carattere di macchina da scrivere.

\texttt{C++} 
5

Questo è quello che ho usato moooolto tempo fa:

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

da utilizzare come \Cpp (ha bisogno xspace pacchetto). Ma come hai detto, non è molto bello.

+3

+1 per il \ xspace che risolve il problema dello spazio extra/extra. – Canella

18

Sto usando il codice qui sotto per digitare un C++ di aspetto piacevole nella mia tesi di laurea. Il codice è stato copiato letteralmente da german forum. Si dovrebbe essere in grado di basta copiare e incollare tutto il codice in un nuovo .tex-documento e scegliere il materiale rilevante per voi ...

\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

grazie !! i risultati sono belli ... una domanda che non capisco nel codice ... come si può inserire C++ senza ambiente matematico o \ verb after \ Huge? – mjsr

+1

scusa, non capisco la tua domanda. Il \ Huge è solo nel codice per renderlo un po 'più visibile. Se stai usando le definizioni all'inizio del file, dovresti riuscire a scrivere \ C++ ovunque in qualsiasi ambiente ... – Habi

+0

ok grazie, ero un po 'confuso con l'uso del segno più. Sono tosto che l'ambiente matematico fosse indispensabile ma ora mi rendevo conto che no.xD – mjsr

1

Questo answer, per la stessa domanda sul sito tex, dà ciò che Trovo che sia un bel modo per questo.

%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

ho trovato che la seguente dà buoni risultati:

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