2010-04-27 17 views
48

Jak napisać "C++" w LaTeX-ie tak, aby wynik wyglądał ładnie. Na przykład C$++$ nie wygląda dobrze: znaki plus są zbyt duże i jest za dużo miejsca.Jak napisać "C++" w LaTeX-ie

+2

Patrz także sugerowane odpowiedzi na tex.se.com: http://tex.stackexchange.com/questions/4302/ najładniejszy-sposób-na-zestaw-c- – quazgar

+0

Możesz rzucić okiem na to inne pytanie [LaTeX kod źródłowy jak w profesjonalnych książkach] (http://stackoverflow.com/questions/741985/latex-source-code-listing- like-in-professional-books), wygląda świetnie i działa idealnie. – Dexter

Odpowiedz

27

Standardowe rozwiązanie dla takich przypadkach jest użycie verbatim:

\verb!C++! 
+1

Podoba mi się to rozwiązanie, ale C wygląda źle ... nie tak jak inne teksty, więc chcę dołączyć znak plusplus do normalnego C próbuję z tym ale nie działa: C \ thinspace \ verb! ++! – mjsr

+18

Mam to C {} \ czasownik! ++! ... wygląda na to, jak tego chcę. – mjsr

+0

Ale jak utworzyć definicję, że * nie * przełyka następującą przestrzeń; w ten sposób: \ def \ cpp {C {} \ texttt {++}} – user2023370

13

Możesz spróbować użyć czcionki do pisania.

\texttt{C++} 
5

To co kiedyś czas loooong temu:

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

być używany jak \Cpp (potrzebuje xspace pakiet). Ale jak powiedziałeś, nie jest to naprawdę piękne.

+3

+1 dla \ xspace rozwiązującego problem braku/dodatkowej przestrzeni. – Canella

18

Korzystam z poniższego kodu, aby nadać ładny wygląd C++ w mojej pracy magisterskiej. Kod został skopiowany dosłownie z german forum. Powinieneś być w stanie po prostu skopiować i wkleić cały kod w nowym .tex-dokumentu i wybrać odpowiedni materiał dla Ciebie ...

\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

dzięki! wyniki są ładne ... jedno pytanie, którego nie rozumiem w kodzie ... w jaki sposób można umieścić C++ bez środowiska matematycznego lub \ czasownika po \ Huge? – mjsr

+1

Przepraszam, nie rozumiem twojego pytania. \ Huge jest właśnie w kodzie, aby było bardziej widoczne. Jeśli używasz definicji na początku pliku, powinieneś być w stanie napisać \ C++ w dowolnym miejscu w dowolnym środowisku ... – Habi

+0

ok dzięki, byłem trochę zdezorientowany z użyciem znaku plusa. Trudno mi powiedzieć, że środowisko matematyczne było niezbędne, ale teraz zrozumiałem, że nie.xD – mjsr

1

Ten answer, na to samo pytanie na stronie tex, co daje Uważam, że jest to dobry sposób na to.

%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

Odkryłam, że dodaje się daje dobre rezultaty:

\def\Cplusplus{C\raisebox{0.5ex}{\tiny\textbf{++}}} 
Powiązane problemy