2015-03-12 3 views
1

Я создаю латексный документ, который будет описывать различные функции syscall C++. Мне нужно включить их прототипы, описания, возвращаемые значения и общие применения. Мне сказали, что для включения кода мне нужно использовать пакет listings, но я использую код в предложениях и таблицах, поэтому команды для списков переполнены и нечитаемы.Использование пакета объявлений в макросе

my latex shot Первая таблица без жирных символов и заголовков для столбцов.

Вот мой код.

\begin{tabular}{l|l} 
\begin{lstlisting} 
void perror(const char* s) 
\end{lstlisting} 
& 
\begin{lstlisting} 
stdio.h, errno.h 
\end{lstlisting} 
\\ 
& prints argument message \begin{lstlisting} 
s 
\end{lstlisting} 
\ based on global int 
\begin{lstlisting} 
errno 
\end{lstlisting} 
\end{tabular} 

Код выглядит действительно грязным и его трудно читать. Я попытался исправить это с помощью макроса, но это не сработало. Сейчас я программирую в shareLatex.

Мне нравится идея просто использовать обратные ссылки для кода в середине предложений. Даже индивидуально, perror громоздкий, как код, и я бы хотел, чтобы таблица выглядела больше как таблица в моем коде. Как я:

включает код таким образом, который не загромождает мой стол? (perror)

включает код в середине предложения? (s и errno)

ответ

1

Problem with creating a newenvironment in LaTeX

Макросы, к счастью, были созданы ранее для lstlisting и требуют, чтобы специальная среда сделала для них.

\lstnewenvironment 
{⟨name⟩}[⟨number⟩][⟨opt. default arg.⟩] 
{\lstset{label=#1}} 
{⟨ending code⟩} 

РЕДАКТИРОВАТЬ: После попытки этого я не смог его использовать. Я переключился на \ texttt {} вместо этого на простоту использования. Любые другие выборы были бы классными, но пока это хорошо.

Смежные вопросы