Como tornar as colunas tão amplas quanto a entrada mais larga?
Pergunta
Para uma folha de truques do GCC que estou escrevendo, quero criar uma tabela que deve descrever como o GCC interpreta diferentes finais de arquivo. A tabela que criei até agora é definida da seguinte maneira:
|======================================================================
|.c |C source code which must be preprocessed.
|.i |C source code which should not be preprocessed.
|.h |C header file to be turned into a precompiled header.
|.s |Assembler code.
|other |
An object file to be fed straight into linking. Any file name with no
recognized suffix is treated this way.
|======================================================================
O problema que tenho é que a tabela abrange a largura total da página, mas o que eu quero é que cada coluna é tão ampla quanto a entrada mais larga e que a tabela abrange apenas o máximo que precisa.
Solução
Em geral, não é uma boa ideia misturar regras de conteúdo e layout dentro do arquivo de origem.
Isso é por um bom motivo: a definição de layout da tabela depende do formato de saída. Se você usa, por exemplo, html como back -end para o documento, CSS seria uma tecnologia apropriada para layout o documento. Por outro lado, por exemplo, se você usar um processador de objetos de formatação para criar arquivos PDF como Apache Fop, Layout de tabela automática não é suportado por todos os processadores FO.
Para responder à sua pergunta: depende do formato de saída, como o layout da tabela será definido corretamente. Uma definição dentro da marcação ASCIIDOC é a maneira errada na maioria dos casos.
Outras dicas
Pode fazer mais sentido usar um Lista horizontal Nesse caso, em vez de uma tabela. O resultado renderizado está próximo do que você está procurando. A sintaxe seria o seguinte:
[horizontal]
+.c+:: C source code which must be preprocessed.
+.i+:: C source code which should not be preprocessed.
+.h+:: C header file to be turned into a precompiled header.
+.s+:: Assembler code.
other:: An object file to be fed straight into linking. Any file name with no recognized suffix is treated this way.