2010-04-27 72 views
48

Làm cách nào để viết "C++" trong LaTeX để đầu ra trông đẹp mắt. Ví dụ: C$++$ trông không đẹp: dấu cộng quá lớn và có quá nhiều khoảng trống.Cách viết "C++" trong LaTeX

+2

Xem thêm các câu trả lời gợi ý tại tex.se.com: http://tex.stackexchange.com/questions/4302/ prettiest-way-to-typeset-c – quazgar

+0

Bạn có thể xem câu hỏi khác này [Liệt kê mã nguồn LaTeX như trong sách chuyên nghiệp] (http://stackoverflow.com/questions/741985/latex-source-code-listing- giống như trong sách chuyên nghiệp), nó trông tuyệt vời và hoạt động hoàn hảo. – Dexter

Trả lời

27

Các giải pháp tiêu chuẩn cho các trường hợp như thế này là sử dụng đúng nguyên văn:

\verb!C++! 
+1

tôi thích giải pháp này nhưng C trông xấu ... không giống như các văn bản khác, vì vậy tôi muốn nối thêm dấu cộng vào một bình thường C tôi thử với điều này nhưng không hoạt động: C \ thinspace \ verb! ++! – mjsr

+18

Tôi đã nhận nó C {} \ verb! ++! ... trông như thế nào tôi muốn nó. – mjsr

+0

Nhưng làm cách nào để tạo một định nghĩa, * không * nuốt không gian sau đây; như thế này: \ def \ cpp {C {} \ texttt {++}} – user2023370

13

Bạn có thể thử và sử dụng phông chữ máy đánh chữ.

\texttt{C++} 
5

Đây là những gì tôi đã sử dụng thời gian loooong trước:

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

sẽ được sử dụng như \Cpp (cần xspace gói). Nhưng như bạn đã nói, nó không thực sự đẹp.

+3

+1 cho \ xspace giải quyết vấn đề về không gian/không gian bổ sung. – Canella

18

Tôi đã sử dụng mã bên dưới để lấy một cái nhìn đẹp mắt trên C++ trong Master-Thesis. Mã đã được sao chép nguyên văn từ một số german forum. Bạn sẽ có thể chỉ cần sao chép-dán tất cả các mã trong một .tex-tài liệu mới và chọn những thứ có liên quan cho bạn ...

\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

cảm ơn !! kết quả là tốt đẹp ... một câu hỏi mà tôi không hiểu trong mã ... làm thế nào bạn có thể đặt C + + mà không có môi trường toán học hoặc \ verb sau khi \ Huge? – mjsr

+1

xin lỗi, tôi không hiểu câu hỏi của bạn. \ Huge chỉ nằm trong mã để làm cho nó dễ nhìn hơn một chút. Nếu bạn đang sử dụng các định nghĩa ở đầu của tập tin, bạn sẽ có thể chỉ cần viết \ C++ bất cứ nơi nào trong bất kỳ môi trường ... – Habi

+0

ok cảm ơn, tôi là một chút nhầm lẫn với việc sử dụng dấu cộng. Tôi khó khăn rằng môi trường toán học là không thể thiếu nhưng bây giờ tôi nhận ra rằng không.xD – mjsr

1

answer này, đối với cùng một câu hỏi trên trang web tex, mang đến cho những gì Tôi tìm được một cách nhìn tốt để điều này.

%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

tôi đã tìm thấy rằng những điều sau đây sẽ cho kết quả tốt:

\def\Cplusplus{C\raisebox{0.5ex}{\tiny\textbf{++}}} 
Các vấn đề liên quan